利用Xcode GPU调试工具 找到渲染代码的BUG
Posted _Captain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Xcode GPU调试工具 找到渲染代码的BUG相关的知识,希望对你有一定的参考价值。
这两天在做Lives2D 移植到ios的工作,终于在23点完成了,这其中也碰到一些问题,记录一下。
首先是图片显示不出来,显示为全黑。转自http://blog.csdn.net/huutu http://www.liveslives.com
既然有显示全黑,而且坐标和尺寸都对,那顶点 数据应该是OK的。
那就有以下2个地方可能出错。
1:纹理采样出错
2:GL设置出错
1:纹理采样出错
因为FreeImage刚刚移植到IOS上来,所以可能这里会出错,于是挑选了一张小图来加载,把颜色数据读取出来后和Win上面进行对比,发现一模一样。
2:GL设置出错
GL设置因平台不同而需要做些调整,但是靠猜的话,就很难找问题了。
之前在android平台出现问题,借助MGD来进行GPU调用分析,迅速找到了问题,
那么在IOS平台,XCode也提供了GPU分析工具。
转自http://blog.csdn.net/huutu http://www.liveslives.com
首先运行游戏,然后切换到性能这一栏
双击FPS,打开性能分析界面
点击 Analyze 按钮转自http://blog.csdn.net/huutu http://www.liveslives.com
GPU分析窗口显示了每一个GL函数调用,从上往下看,右下窗口红色感叹号代表这里有错误。
这里已经提示 ,我渲染的图片不是2的次方,所以要设置拉伸。
把图片改成2的次方大小再测试
测试OK。
在Win和Android平台上我是没有进行这个设置的,现在加上。
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
转自 http://blog.csdn.net/huutu http://www.liveslives.com
再次测试正常
Lives2D 目前版本的IOS移植工作已经完成了,项目托管在Github
https://github.com/ThisisGame/Lives2D/tree/V5_SwitchToLua_Windows
后续把文档补全,就会推到Trunk。
转自http://blog.csdn.net/huutu http://www.liveslives.com
以上是关于利用Xcode GPU调试工具 找到渲染代码的BUG的主要内容,如果未能解决你的问题,请参考以下文章