AcademySoftwareFoundation / AcademySoftwareFoundation/OpenImageIO

[MEMORY] Reduce file descriptors memory footprint in the ImageCache

Open
#4,436 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.