|
From: | peterh |
Subject: | Re: [Openexr-devel] Multipart Performance Question |
Date: | Sat, 13 Apr 2013 00:07:44 +1200 |
User-agent: | Roundcube Webmail/0.8.4 |
We haven't done a great deal of testing comparing reading all channels - we have seen very satisfactory speedups reading only one part from a file, particularly when the SSE optimised path gets used. Theoretically, multipart EXRs will be a little slower when reading all parts, though larger images won't make any difference. If your hobby is writing hundreds of channels into very tall, very thin images you might notice the slowdown! You may also notice an increase in filesize if the channels are similar, since the compression can take advantage of the redundancy if all channels are compressed together, but not if they are compressed separately into different parts. You do have some freedom in how you map channels into different parts: it might pay to group channels that are usually read together into the same part, storing less commonly read channels separately - textures for rendering might well benefit from some optimisation like this Basically, if there's any chance you might only want a subset of the channels in an EXR, the speed gain you'll get from being able to ignore a part of a multipart file will outweigh any slowdown you suffer when you need to read all parts. Since parts can have different datawindows, multipart images might be faster even when always reading all channels, though compression tends to mitigate that overhead anyway. Peter On 2013-04-12 22:15, Thorsten Kaufmann wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |