我是新來的android編程,我試圖創建一個相對較大的2D遊戲。我必須在遊戲中使用大量圖像和對象,所以我決定使用OpenGL ES。我有幾個紋理圖集,因爲透明度,它們都保存爲PNG的。我也知道,但我不知道爲什麼,我必須使用圖像,其高度和寬度是兩倍。我在運行Android 2.3.3的舊版HTC Hero上測試我的遊戲。當我的照片地圖集每個都是512x512時,我的遊戲的幀速率在50到60 fps之間。當我使用1024x1024不透明PNG時,沒有問題--FPS再次在50到60幀/秒之間。但是,當我決定使用一個1024x1024 transperent PNG的我的幀速率下降到4,5 fps。這可能是與我用於測試的設備的使用年限有關的問題嗎?這是我使用的每個循環繪製批次OpenGL函數:使用大型透明圖片作爲紋理地圖集
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
//drawing happens here
gl.glDisable(GL10.GL_BLEND);
感謝提前:)
非常感謝,我測試了它,並且在使用1024x512 PNG時幀速率沒有下降,效果真的很好,這足夠了,因爲我需要紋理圖集的兩倍。 – mjekov