Slow OpenFX temporal frames

Get answers to your questions about color grading, editing and finishing with DaVinci Resolve.
  • Author
  • Message
Offline

gmeeker

  • Posts: 1
  • Joined: Tue Apr 27, 2021 10:11 pm
  • Real Name: Garrick Meeker

Slow OpenFX temporal frames

PostTue Apr 27, 2021 10:20 pm

I've noticed that OpenFX plugins in Resolve that access many frames are extremely slow (perhaps around 3x slower than other hosts like Premiere and Final Cut, in our experience). This seems to date back a while judging by a couple posts in the forums, especially with temporal Sapphire plugins. I can demonstrate this easily with the example plugins, if you modify TemporalBlurPlugin to require more than just 3 frames, and this can drop playback down to around 1 FPS at times.

Hopefully this can be improved in Resolve 18

Code: Select all
diff -ur /Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/OpenFX/TemporalBlurPlugin/TemporalBlurPlugin.cpp ./TemporalBlurPlugin/TemporalBlurPlugin.cpp
--- /Library/Application Support/Blackmagic Design/DaVinci Resolve/Developer/OpenFX/TemporalBlurPlugin/TemporalBlurPlugin.cpp   2021-03-30 08:54:11.000000000 -0700
+++ ./TemporalBlurPlugin/TemporalBlurPlugin.cpp   2021-04-24 15:03:24.000000000 -0700
@@ -211,6 +211,10 @@
     const int interval = m_IntervalParam->getValueAtTime(currFrameNum);
 
     // Get the src images
+    for (int i = currFrameNum - interval; i <= currFrameNum + interval; i++)
+    {
+        std::auto_ptr<OFX::Image> prevSrc(m_SrcClip->fetchImage(i));
+    }
     std::auto_ptr<OFX::Image> prevSrc(m_SrcClip->fetchImage(currFrameNum - interval));
     std::auto_ptr<OFX::Image> src(m_SrcClip->fetchImage(currFrameNum));
     std::auto_ptr<OFX::Image> nextSrc(m_SrcClip->fetchImage(currFrameNum + interval));
@@ -315,8 +319,8 @@
     param->setScriptName(p_Name);
     param->setHint(p_Hint);
     param->setDefault(2);
-    param->setRange(0, 5);
-    param->setDisplayRange(0, 5);
+    param->setRange(0, 10);
+    param->setDisplayRange(0, 10);
 
     if (p_Parent)
     {

Return to DaVinci Resolve

Who is online

Users browsing this forum: Dynamicworm, Google [Bot], marcobonini, Offshore Videos, panos_mts, roger.magnusson, Uli Plank and 229 guests