MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / processProducedFrame

Method processProducedFrame

Engine/OutputSchedulerThread.cpp:3750–3779  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3748}
3749
3750void
3751ViewerCurrentFrameRequestSchedulerPrivate::processProducedFrame(const RenderStatsPtr& stats,
3752 const BufferableObjectPtrList& frames)
3753{
3754 assert( QThread::currentThread() == qApp->thread() );
3755
3756 if ( !frames.empty() ) {
3757 viewer->aboutToUpdateTextures();
3758 }
3759
3760 //bool hasDoneSomething = false;
3761 for (BufferableObjectPtrList::const_iterator it2 = frames.begin(); it2 != frames.end(); ++it2) {
3762 assert(*it2);
3763 UpdateViewerParamsPtr params = std::dynamic_pointer_cast<UpdateViewerParams>(*it2);
3764 assert(params);
3765 if ( params && (params->tiles.size() >= 1) ) {
3766 if (stats) {
3767 double timeSpent;
3768 std::map<NodePtr, NodeRenderStats > ret = stats->getStats(&timeSpent);
3769 viewer->reportStats(0, ViewIdx(0), timeSpent, ret);
3770 }
3771
3772 viewer->updateViewer(params);
3773 }
3774 }
3775
3776
3777 ///At least redraw the viewer, we might be here when the user removed a node upstream of the viewer.
3778 viewer->redrawViewer();
3779}
3780
3781void
3782ViewerCurrentFrameRequestScheduler::onAbortRequested(bool keepOldestRender)

Callers 2

executeOnMainThreadMethod · 0.80

Calls 10

emptyMethod · 0.80
aboutToUpdateTexturesMethod · 0.80
getStatsMethod · 0.80
updateViewerMethod · 0.80
redrawViewerMethod · 0.80
ViewIdxClass · 0.70
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45
reportStatsMethod · 0.45

Tested by

no test coverage detected