unity使用python,unity 调用python
1.什么是延期偿付?DrawCall是指CPU向GPU发送一次绘图命令。比如一个场景的DrawCall是80,也就是说GPU需要在场景的每一个渲染帧中绘制80次。每个DrawCall都需要传输纹理、顶点数据和渲染上下文切换,这是一个非常消耗性能的操作。过高的DarwCall会直接影响游戏的整体性能,产生卡顿、CPU利用率高、设备发热等问题。所以游戏的DrawCall越低越好。您应该尽可能合并节点数据,以减少提交和绘图的数量。
如果发现draw call过高,如何判断哪些draw call可以合并?Web端有一个强大的工具SpectorJS,可以方便的查看当前的渲染状态、DrawCall等信息,以可视化的方式帮助分析。(SpectorJS的作者也是微软开发的WebGL引擎BabylonJS的开发者)
2.安装SpectorJS SpectorJS工具提供了npm模块、Chrome扩展和其他安装方法。本文以Chrome扩展为例。
通过Chrome浏览器的菜单,进入“扩展”界面,输入“Spector”,然后安装,如下图。提示:如果没有搜到Spector,请科学上网:)
3.用SpectorJS 3.1 SpectorJS安装完成后,Chrome浏览器地址栏右侧会出现一个红色小图标,如下图。默认情况下,SpectorJS是不活动的。
3.2点击这个红色图标,图标会变成绿色,SpectorJS开始工作,会重新加载当前页面,注入调试代码,收集当前网页的渲染信息,如下图。
3.3点击这个绿色图标,会弹出一个提示窗口,如下图。
3.4单击该窗口顶部的红色圆圈,稍等片刻。SpectorJS收集完信息后,会自动打开一个新的Chrome页面,显示收集到的渲染信息,如下图。例如,如果这个网页有4个DrawCalls,SpectorJS将生成大约4-6个截图。从图中左栏可以看出,每个截图对应一个draw调用。通过对比不同图片的差异,可以看出这次draw调用画了什么,从而帮助判断draw调用是否可以合并。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。