2012-01-07 23 views
4

我正在使用already existing engine開發Android遊戲。OpenGL ES 2 - 一個大或多個小紋理圖集。什麼更好的表現明智?

我必須爲我的動畫使用大紋理,我想知道什麼更好的性能明智。 引擎的新版本支持npot紋理(如果您問自己爲什麼使用這樣的分辨率)。

擁有多個2330x1100紋理地圖集或僅有一個2330x(1100 x number_of_textures_i_need)紋理地圖集會更好嗎? 這是否選擇影響加載時間?(我想他們需要的內存是一樣的,因爲它們含有相同數量的像素)

我讀的地方,切換紋理可以是一個緩慢的操作..

側任務:

1)是鍋紋理效率更高(在環境構建,以便它可以處理npot紋理)?

2)我可以使用一個紋理命中一些維度/內存限制嗎?

+0

使用一個大紋理或分離它們應該沒有多大區別。只要您事先上傳所有紋理即可。在渲染過程中更新如此大的紋理可能會非常耗時。至於內存使用情況,例如使用RGB_565,一個這樣的紋理大約需要5MB的內存 - 所以是的 - 你可能會遇到一些內存限制。 – harism 2012-01-07 21:27:45

+0

@harism謝謝!是的,它只在應用程序開始時加載一次。移動設備上的vmemory是否較低? – 2012-01-07 21:42:19

+1

實際上它可能是這種情況,內存使用不是你最大的擔心,而是圖像尺寸。如果在IPad2紋理大小限制[2048x2048](http://stackoverflow.com/questions/2505186/what-is-the-maximum-texture-size-available-on-the-ipad),我不會很一般來說,如果Android設備不那麼令人驚訝。 – harism 2012-01-07 21:44:59

回答

0

一個大紋理應該更好,因爲加載和激活速度很慢,因爲內存上傳到視頻內存。它也應該使用更少的能量,因此增強用戶體驗;-)

試試吧 - 寫一個長期運行的測試來證明它。