Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        5年前关闭。
                                                                                            
                
        
我正在构建一个读取二维数组的游戏,以便创建地图,但是墙都与拐角和楼层分开,每个墙,每个拐角和每个楼层都是一幅单独的图像,这消耗了很多CPU,但是我真的想营造一种随意的地图感觉,这就是为什么我在每个角落和墙壁都使用图像。

我当时在想,也许我可以通过合并两个或更多不同的纹理来生成一个纹理,以提高性能。

有人知道我该怎么做吗?还是另一种解决方案?将图像转换为PVR是否会有所不同?

谢谢

最佳答案

对于初学者,您应该使用通过TexturePacker之类的工具创建的纹理图集,将尽可能多的“图像”分组到一个图集上。基本上只加载一次,并根据需要从中创建尽可能多的精灵,而无需重新加载。使用PVR将加快负载,并有益于您的捆绑包尺寸。

其次,尤其是对于地图背景,应使用通过上面的精灵表初始化的CCSpriteBatchNode。然后,当您创建图块时,只需创建精灵并将其添加到批处理节点即可。将批处理节点添加到场景中。这样做的好处是,无论批处理节点中包含的sprite(平铺)数量如何,都将在单个GL调用中绘制它们。现在,从性能的角度来看,这将是您最大的收益。

最后,在模拟器上运行时不要依赖FPS信息。该模拟器不使用主机的GPU,其性能(远远)低于您在设备上获得的性能。因此,在发布有关性能的问题之前,请确保您在设备上进行了测量。

关于ios - iOS Cocos2D优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16145550/

10-10 20:42