gpt4 book ai didi

iphone - OpenGL ES 中的大滚动背景

转载 作者:行者123 更新时间:2023-12-03 19:38:24 25 4
gpt4 key购买 nike

我正在为 iPhone 开发一款 2D 卷轴游戏。我有一个大图像背景,比如 480×6000 像素,只有一部分可见(正好一个屏幕的大小,480×320 像素)。在屏幕上获得这样的背景的最佳方法是什么?

目前,我将背景分为多个纹理(以绕过最大纹理大小限制),并将每个帧中的整个背景绘制为带纹理的三角形条。滚动是通过平移模型 View 矩阵来完成的。剪刀框设置为窗口大小,480×320像素。这并不意味着要快,我只是想要在优化之前有一个工作代码。

我认为 OpenGL 实现可能足够聪明,可以丢弃背景的不可见部分,但根据我编写的一些测量代码,背景绘制平均需要 7 毫秒,最多需要 84 毫秒。 (这是在模拟器中测量的。)这大约是整个渲染循环的一半,即。对我来说相当慢。

绘制背景应该像将一些 480×320 像素从 VRAM 的一个部分复制到另一部分一样简单,或者换句话说,速度非常快。接近这样的性能的最佳方法是什么?

最佳答案

这是最快的方法。您可以采取以下措施来提高性能:

  • 尝试不同的纹理格式。 SDK 文档大概有关于首选格式的详细信息,并且大概越小越好。
  • 自己完全剔除屏幕外的图 block
  • 将图像分割成更小的纹理

我假设您正在以 1:1 的缩放比例进行绘制;是这样吗?

编辑:哎呀。更仔细地阅读了您的问题后,我必须提供另一条建议:在模拟器上进行的计时毫无值(value)。

关于iphone - OpenGL ES 中的大滚动背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/217822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com