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

Method processProducedFrame

Engine/OutputSchedulerThread.cpp:3755–3784  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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