Why are File COPs so slow to load OpenEXR?

   392   1   2
User Avatar
Member
564 posts
Joined: Aug. 2014
Online
I'm having a tough time with File COP nodes reading OpenEXR files. With both: the legacy COP and the new Copernicus one.

Basically, I want to load a sequence of OpenEXR files that was output by Karma. Those images are of medium dimensions (1280×1280 px) and are quite lightweight (5.1 MB per image). No AOVs, just C. Each frame takes lots of time to load — even up to 6.75 seconds. Images are compressed with the default "ZIP (single-scanline)" algorithm, which is Karma's default choice.

Another problem is that frames loaded by the File COP don't seem to be caching into RAM. So any playback resembling real-time speed is impossible even for already loaded frames.

I'd like to note, that Image Viewer also expresses this behavior to a certain degree. When newly loaded OpenEXR image sequence is played back for the first time, frame load speed is very fast (perhaps about 1 second per frame). Also, all frames are cached to RAM enabling real-time playback. However, if instead newly loaded sequence is cached using the Image → Cache All command, frame loading time drastically increases to about the same speed as in Houdini, which effectively renders this command useless.

What's going on here?
Edited by ajz3d - Sept. 6, 2024 14:23:11

Attachments:
performance_monitor.png (25.7 KB)

User Avatar
Member
564 posts
Joined: Aug. 2014
Online
ajz3d
No AOVs, just C.
Actually, I now realized that I added crypto material AOV. I heard somewhere that it slows down loading OpenEXR files, so I re-rendered several frames from the sequence to see if that's the culprit. And indeed, without crypto materials, frames are loading in about 1 second each, instead of over 6 seconds per frame. It's still very slow, when compared to tev, for example, which loads these EXRs instantly. So my question about OpenEXR loading slowness and the reason of frames not caching into RAM, still remains.

EDIT:
I found this post [www.sidefx.com], where @johnmatter says that OpenEXR loading time is a known problem. In this thread there's also talk about caching in COPs, but no definitive answer if it will be addressed. I wonder why caching doesn't work in old COPs. Correct me if I'm wrong, but if my memory serves me well, I believe they had it.
Edited by ajz3d - Sept. 6, 2024 17:40:55
  • Quick Links