我要解决的问题是:
我有 6 个条纹,需要以不同的速度移动。一张 2048*2048 的纹理表是不够的,为了解决这个问题,我将图像一分为二(上半部分和下半部分),所以每个条纹正好是 960*640 像素。一般算法是为每个条纹分配上半部分和下半部分,并在每一帧移动它们,确保在它们离开用户 View 时将它们重新定位在屏幕顶部。我的类实现,直接修改ParallaxBackground in the ShootEmUp example from this book , 在使用 Instruments 运行和分析时给出了太多的内存警告。请参阅以下分析:
OpenGL分析:
事件监视器:
我担心的是两次分析中的大量内存警告(分别为 24 条和 5 条)。
编辑:您可以在下面找到解释解决方案的评论
最佳答案
2048x2048 是新设备的最大纹理尺寸。您可以在 Apple OpenGL ES Programming Guide 中阅读相关信息
关于iphone - Cocos2d 和 iPhone : Parallax Background with multiple texture atlases gives many memory warnings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042668/