RenderKit/oidn

progressMonitorFunction slow to interrupt filter

Closed this issue · 6 comments

In recent versions of OIDN and using the CPU device, returning false from the progress monitor function takes a while to interrupt the filter. I noticed that the problem is more pronounced when executing the filter with cleanAux=true and high quality mode, but it also present when pre filtering the albedo and normal buffers.
For real-time editing applications it would be necessary to interrupt the filter quickly to keep interactivity.

Unfortunately this isn't enough information to debug this issue. I did a quick check but I don't see anything unusual. Denoising should stop very soon after returning false in the progress callback. There is some additional delay possible since v2.3 but this should be minor, and it shouldn't depend at all on cleanAux or pre-filtering. Perhaps this additional delay is what you're experiencing but it shouldn't be so large to break interactivity. I'm not sure at this point.

Could you please be more specific? E.g. which is the first OIDN version that has this issue, what exactly do you mean by "slow", etc. But some measurements or a small reproducer would be best.

Sorry, I was wrong. I could reproduce the issue. The delay is indeed much worse than it should be. I'm looking into it. You don't need to provide more details or a reproducer anymore.

The issue is now fixed in devel and will be released soon in v2.3.1. Thanks for reporting this issue! Please let me know whether you still encounter any issues.

That's great! Thanks for the quick fix!

Just tested, everything works fine. Thanks again!

I'm happy to hear, thanks for the feedback!