AcademySoftwareFoundation / AcademySoftwareFoundation/OpenImageIO
[MEMORY] Reduce file descriptors memory footprint in the ImageCache
- Dominant language
- C++
- Stars
- 2.4k
- Forks
- 698
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 46
Description
We would like to reduce the memory usage of file descriptors in the `ImageCache` as we observed a large amount of duplicated data. This is mainly due to image descriptors (`ImageSpec` ) being stored for each mip map (`LevelInfo` ) of each sub-image (`SubImageInfo`).
Clearing up some memory should be possible in that area ( `LevelInfo / SubImageInfo` ) but needs a bit a refactor, that I'm happy to start during DevDays with help from @lgritz.
More to come in the next comments about the approach to follow.
### Tasks
- [x] Change API: https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4442
- [x] Change backend: https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4664
- [ ] Change ImageBuf: https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/4482
Contributor guide
Research direction
Review the ImageCache area described in the issue, especially the LevelInfo, SubImageInfo, and ImageBuf changes, and inspect the linked API and backend pull requests for context. The remaining ImageBuf task is done when the refactor reduces duplicated ImageSpec storage without breaking the ImageCache behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100