我正在爲iPhone的2D滾動遊戲工作。我有一個大的圖像背景,比如480×6000像素,只有一部分是可見的(正好一個屏幕的值,480×320像素)。在屏幕上獲得這樣的背景的最佳方式是什麼?在OpenGL ES中的大型滾動背景
目前,我將背景分割爲幾個紋理(以獲得最大紋理大小限制),並將每個幀中的整個背景繪製爲紋理三角形條。滾動是通過翻譯模型視圖矩陣完成的。剪刀盒設置爲窗口大小,480×320像素。這並不意味着要快,我只是想在優化之前使用一個可用的代碼。
我認爲OpenGL的實現可能足夠聰明,以放棄背景的不可見部分,但根據我寫的一些測量代碼,它看起來像背景需要7毫秒來平均繪製,最多84毫秒。 (這是在模擬器中測量的)。這大約是整個渲染循環的一半,即。對我來說很慢。
繪製背景應該像從VRAM的一個部分向另一個部分複製一些480×320像素一樣簡單,或者換句話說,快速創建。接近這種表現的最佳方式是什麼?
謝謝,或多或少,我認爲這將是這樣。今天我終於會拿到一個iPod進行測試,我將在實際的硬件上運行代碼,看看會發生什麼。 – zoul 2008-10-20 09:47:43
嘗試設備上的代碼之後:是的,模擬器上製作的計時器毫無價值。 – zoul 2008-11-03 06:56:40