RenderKit / oidn

Intel® Open Image Denoise library
https://www.openimagedenoise.org/
Apache License 2.0
1.74k stars 160 forks source link

Performance #126

Closed vtushevskiy closed 2 years ago

vtushevskiy commented 2 years ago

Is it possible to achieve realtime performance for 1920x1200 resolution with OIDN on XeonE5-2997v3 or RTX2080? I have t2-t1=340 to 380 milliseconds for

!                float t1 =  (float) glfwGetTime();
                oidnFilter.setImage("color", ptr, oidn::Format::Float3, sh->texResX, sh->texResY);
                oidnFilter.setImage("output", denoiserOutputFramePtr.data(), oidn::Format::Float3, sh->texResX, sh->texResY);
                oidnFilter.set("hdr", false); // image is HDR
                oidnFilter.commit();
                oidnFilter.execute();
                const char *errorMessage;
                if (oidnDevice.getError(errorMessage) != oidn::Error::None)  std::cout << "Error: " << errorMessage << std::endl;
!                float t2 =  (float) glfwGetTime();

Do you think it is proper/adequate performance?

sfiruch commented 2 years ago

I think OIDN is focused on non-real-time applications. 0.4s seems reasonable for 1080p.

atafra commented 2 years ago

This is indeed reasonable performance on a Xeon E5-2997v3. Real-time performance will be possible on GPUs using future versions of OIDN.