首页 > 代码库 > BUG::Cocos V3.2 渲染类中为什么出现同样的两次排序,难道有什么不同吗?手误??----小心开源代码中的陷阱
BUG::Cocos V3.2 渲染类中为什么出现同样的两次排序,难道有什么不同吗?手误??----小心开源代码中的陷阱
{ // Don't sort _queue0, it already comes sorted std::sort(std::begin(_queueNegZ), std::end(_queueNegZ), compareRenderCommand); std::sort(std::begin(_queuePosZ), std::end(_queuePosZ), compareRenderCommand); }
// helper static bool compareRenderCommand(RenderCommand* a, RenderCommand* b) { return a->getGlobalOrder() < b->getGlobalOrder(); }
排序并不会执行其他操作,是不是手误啊?
可是问题同样发生在V3.3 rc版中
这是渲染命令的排序,目的一般都是性能的最优化,这是什么用意?求解释
然后我把其中一句注释掉,结果果然是正确的。
上一次发现主循环中喜欢用低效的循环:
for (auto &renderqueue : _renderGroups)
{
renderqueue.sort();
}
这次发现这么坑爹的代码。可读 性不差,但是小问题多多,真要商业化使用还需要工作室自己认真整理一遍才行。
BUG::Cocos V3.2 渲染类中为什么出现同样的两次排序,难道有什么不同吗?手误??----小心开源代码中的陷阱
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。