Importing and Optimizing EXR Files

Reference guide for optimizing EXR files in UE4.

Windows
MacOS
Linux

When using EXR files, you want to make sure they are imported properly and use the correct settings to run optimally.

Importing EXR Files

There are different ways to import EXR files. Most commonly, you will use Drag-and-Drop or use the Import Button .

You can also use a plugin for a 3rd party application to help import files into UE4.

Recommended Settings for EXR File Playback

EXR files are commonly used in Sequencer, and we recommend the following settings for optimal playback performance.

Field

Setting

Framerate

Fixed at 24fps

1920x1080 Resolution

Cache behind percentage

0

Cache size

0.1

Cache threads

1

Global cache size

0.2

Use Global Cache

True

EXR Decoder threads

0

2280x1620 Resolution

Cache behind percentage

0

Cache size

0.2

Cache threads

1

Global cache size

0.4

Use Global Cache

True

EXR Decoder threads

0

3840x2160 Resolution

Cache behind percentage

0

Cache size

0.4

Cache threads

2

Global cache size

0.8

Use Global Cache

True

EXR Decoder threads

0

1920x1080 Resolution: Windows has not cached files

Cache behind percentage

0

Cache size

0.1

Cache threads

2

Global cache size

0.2

Use Global Cache

True

EXR Decoder threads

0

EXR Preferred Settings

Here is more information on the settings we adjusted and why.

  • Cache behind percentage: Typically, videos are played forwards and do not rewind, so this can be set to 0. Otherwise, you will be holding frames you no longer need.

  • Cache size: This is set to the size of a few frames to give some buffer when reading. Be careful setting the cache size at a larger value, since it may frontload the cost of decoding frames later.

  • Cache threads: This is set low to limit the number of resources used. If this is too high, then your application may run out of CPU as it tries to decode too many frames at the same time. It will also require extra demand from the disk, which is already strained.

  • Global cache size: This is set to a value larger than the Cache size to accommodate multiple players.

  • Use Global Cache: Using the global cache prevents performance spikes by not freeing resources immediately after Play ends.

  • EXR Decoder threads: This is the default value.

Optimizing EXR Playback Performance

Your hardware resources are the primary factor in optimizing EXR playback. A common issue is reading from the disk, especially when running 4K 24fps files. To mitigate this, run Editor to upload the 4K files into the memory. Then, run the Editor a second time to confirm the files loaded into the memory correctly.

If you have to read the files from the disk, 1080p 24fps provides sufficient performance. If you have enough CPU power, then it may be faster to use compressed EXR files instead. Ideally the application's frame rate should match the frame rate of the video (or a multiple); otherwise, you may get frame skips because of a frame mismatch.

Cache Tips and Tricks

Here are some additional general cache tips and tricks:

  • If your application uses the CPU heavily, then keeping the Cache Threads setting low is important to spread out the cost of decoding frames.

  • If the cache is empty and the video is stuttering, then you need to increase the speed at which you get frames (for example by lowering the resolution or ensuring the frames are already in memory).

  • If the cache empties only occasionally, then you may need a bigger cache size.

  • If the cache is never empty, and you need more memory for your application, then you can lower the cache size.

  • If you don't need an alpha channel, then remove it from the EXR files. Alpha channels contain a lot of data that can be removed in favor of gaining extra performance for free.

  • If you have multiple players playing simultaneously, then make sure the Global Cache is big enough and that frames are not being dropped because the Global Cache is full.

  • Watching how the cache is used, either in a Sequencer track or the Media Player window in Editor, can help reveal performance issues.

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback