我要解决的问题是:
我有 6 条条纹,需要以不同的速度移动。2048*2048 的纹理表是不够的,为了解决这个问题,我将图像分成两部分(上半部分和下半部分),因此每个条纹正好是 960*640 像素。一般的算法是为每个条纹分配一个上半部分和下半部分,并在每一帧移动它们,确保在它们退出用户视图时将它们重新定位在屏幕顶部。我的类实现,直接修改了本书中的 ShootEmUp 示例中的 ParallaxBackground,在使用 Instruments 运行和分析时给出了太多的内存警告。见下文分析:
OpenGL分析:
活动监视器:
我担心的是两种分析中的大量内存警告(分别为 24 和 5)。
编辑:您可以在下面找到解释解决方案的评论