关于cocos2dx-3.0渲染方面优化的一个问题。

据说“如果 main thread 执行后,Node 的状态没有发生改变,就无需发送该 Node 的 draw command,也就避免了 draw thread 对没有发生变化的 Node 重新计算绘图数据。”

我想了解知道对于没有变化的Node,draw thread是怎样做处理呢?

比如现在有3个精灵,a,b,c他们彼此遮盖,但又不挡死,透过阿尔法值,我们能看到绘制顺序。比如现在有针对a和c的draw command,而b没有。那么如果b的Node不重新计算绘图的话,b就会消失吧,或者被a和c覆盖吧???

应该只是说 状态没变的node不需要再重新计算数据了。但是上次计算的数据还在的吧。用上次计算的数据参与绘制。

感谢讨论!!!
我也是这么设想的。
但是之所以还是问出来的原因是:我对opengl绘制不熟悉,对数据计算所需时间和绘制所需时间比例没有直观认识。所以我不清楚,如果这个设想(main thread没有发起某node的绘制请求,则该node的矩阵数据不需要再次计算)是正确的,对于提高效率是否有足够大得改观。

可能还得需要和了解这块…

我也是新手,开源大牛们的文档多是晦涩的,问多了他们就让你看源码。。。我们只能独自揣测!