
- Posts: 1
- Joined: Tue Apr 27, 2021 10:11 pm
- Real Name: Garrick Meeker
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
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)
{