电子书对同步三兄弟的初始化做了介绍,再看看它们三个
在哪里初始化的呢?
动态绘制阻塞器_endDynamicDrawBlock的作用就是避免DYNAMIC对象的运行时更改影响后台渲染的工具。在初始化时,我们需要设置它的最大计数值,当completed函数的执行次数达到这一数值时,将释放被阻塞的线程,也就是主进程。这一最大计数值正是场景中摄像机渲染器Renderer的个数。
这里State::_dynamicObjectCount变量表示当前状态机中仍在等待渲染的所有动态对象数目,它是通过RenderStage::computeNumberOfDynamicRenderLeaves函数计算的。