Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Cocos2d 2.x大型sprite帧速率下降_Objective C_Cocos2d Iphone_Opengl Es 2.0 - Fatal编程技术网

Objective c Cocos2d 2.x大型sprite帧速率下降

Objective c Cocos2d 2.x大型sprite帧速率下降,objective-c,cocos2d-iphone,opengl-es-2.0,Objective C,Cocos2d Iphone,Opengl Es 2.0,我最近一直在使用cocos2d2.0,我注意到如果我使用屏幕大小一半或更大的精灵,帧速率会下降10-20帧。这很麻烦,因为我需要至少一个全屏精灵作为背景 我已经尽我所能降低了绘制调用和纹理内存,但唯一能将fps提高到60的是删除背景精灵 CoCoS2D2.0在制作精灵时有什么不同之处是我所遗漏的吗?我在多个设备上试过,iPad和iPhone都有同样的问题 更新: 我注意到,影响帧速率的是精灵本身的大小,而不是它的纹理。如果我在x轴和y轴上将精灵缩放到0.5,那么我的速度是60帧/秒。如果我只缩放

我最近一直在使用cocos2d2.0,我注意到如果我使用屏幕大小一半或更大的精灵,帧速率会下降10-20帧。这很麻烦,因为我需要至少一个全屏精灵作为背景

我已经尽我所能降低了绘制调用和纹理内存,但唯一能将fps提高到60的是删除背景精灵

CoCoS2D2.0在制作精灵时有什么不同之处是我所遗漏的吗?我在多个设备上试过,iPad和iPhone都有同样的问题

更新:
我注意到,影响帧速率的是精灵本身的大小,而不是它的纹理。如果我在x轴和y轴上将精灵缩放到0.5,那么我的速度是60帧/秒。如果我只缩放x轴或y轴,则帧速率会在50到60之间跳跃,比全屏效果要好10 fps。

我已经解决了这个问题。我们所要做的就是将场景的CCLayer颜色转换为CCLayer。由于我们使用的是全尺寸背景精灵,因此没有必要在每一帧都重新绘制背景。

您在场景中添加了多少精灵?如果你只放一个背景,你的fps就不会下降。实际上我已经把精灵的数量从45降到了30,但是唯一能起作用的是背景精灵。在此之前,我使用的占位符是大小的一半,fps是60,但一旦我开始使用更大的精灵,帧速率就会下降。我甚至用不同的大小测试过这个问题,任何超过设备屏幕大小一半的东西都会导致下降,除非它是场景中唯一的精灵。背景精灵的格式和大小是什么?有可能降低质量吗?sprite的大小是它所在设备的屏幕大小,所以现在我们有iPhone、iPhone Retina和带iPad Retina的iPad。所有精灵都是pvr.ccz格式的。我应该注意的是,cocos2d1.x没有这个问题。这可能是着色器问题还是OpenGL ES 2.0问题?