From bb3b571c90dc5ba98b7250560f6c90d1170d2803 Mon Sep 17 00:00:00 2001 From: Aras Pranckevicius Date: Thu, 31 Oct 2024 18:29:55 +0200 Subject: [PATCH] EXR: multi-threaded exr image loading EXR files internally are split into independent "parts", which can be decoded separately. Tinyexr already supports that via TINYEXR_USE_THREAD. Time taken to load 4K video resolution EXR files, on Ryzen 5950X/VS2022: - FP16 file (27MB): 536ms -> 77ms - FP32 file (69MB): 793ms -> 118ms --- renderdoc/3rdparty/tinyexr/tinyexr.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/renderdoc/3rdparty/tinyexr/tinyexr.cpp b/renderdoc/3rdparty/tinyexr/tinyexr.cpp index dff424900..4791ce9de 100644 --- a/renderdoc/3rdparty/tinyexr/tinyexr.cpp +++ b/renderdoc/3rdparty/tinyexr/tinyexr.cpp @@ -26,5 +26,7 @@ // compatible functions to be available, which miniz does. #define TINYEXR_USE_MINIZ 0 +#define TINYEXR_USE_THREAD 1 + #define TINYEXR_IMPLEMENTATION #include "tinyexr.h"