有多少人写程序时总是相信自己的直觉,而忽略调试信息呢?我承认大多数情况下直接分析代码可能要好一些,但是也有一些情况你需要确切的调试信息。我最近就遇到了一个包裹打不开的问题——
开包裹的时候会对冷却条控件进行clone生成textureTarget;由于控件还没父控件,坐标又用了相对坐标(scale = 1,offset = 0),所以导致生成的textureTarget的size等于分辨率;总共clone出来了36个这样的控件,因此需要4361280*720=126M的显存——低端显卡表示压力很大。。
之前总是想当然的认为包裹冷却条控件的textureTarget不大,才40*40而已。结果只有真正打印出了真实数据 ,才看出问题所在。
至于clone机制的特殊性,textureTarget不能动态调小等等具体原因就不细说了,这里想表达的是:眼见为实 ,调试信息显示机制很重要,千万不能想当然。
调试信息机制方面简悦给了我们很大的启示。
本文通过一个具体的案例阐述了在软件开发过程中,忽视调试信息可能导致的问题。作者原本凭直觉认为包裹冷却条控件占用资源不多,但在实际运行中发现,由于克隆机制及坐标设置等问题,导致大量纹理目标占用显存过高,最终通过查看调试信息发现了问题所在。
1万+

被折叠的 条评论
为什么被折叠?



