利用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调用分析,迅速找到了问题,

MGD 调试 Lives2d 文字破碎问题 (MX2)

那么在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的主要内容,如果未能解决你的问题,请参考以下文章

安卓系统怎么进入更高级的开发者模式,就是有强制gpu渲染的那个

Visual Studio代码性能分析工具

unity再记一次shader渲染性能工具

vray为啥不用gpu渲染

过度绘制的解决

我是如何利用 Xcode 调试开发微信消息预览插件的