2012-07-19 25 views
1

我已經閱讀了很多關於從ES 1.1到ES 2的利弊,我只是想澄清一件事。我使用ES 1.1製作的遊戲在某些設備上存在性能問題(運行速度慢,FPS低),我只是想知道如果我對ES 2進行更改會有幫助嗎?遊戲利用照明,混合和紋理。我不希望爵士樂或改變效果,只是簡單地提高性能。從OpenGL ES 1.1到ES 2只是爲了解決性能問題

+0

對於爲什麼你的應用程序運行速度不快,你有什麼想法嗎? – 2012-07-19 21:47:14

+0

@Nicol。我每次在Ondraw()運行約50到100個drawelemnts()。我不應該這樣做嗎? (我確實需要重新繪製它們,因爲它們都在移動一些方法。) – user1529408 2012-07-19 22:29:42

回答

1

很難說在GLES 1.1和GLES 2.0之間,如果不知道如何構建渲染器,您可能會期望哪種性能提升。 理想情況下,,是的,您將看到GLES 2.0的性能提升。這可能是因爲無論您使用的平臺是通過GLES 2.0處理GLES 1.1 API,但它又一次取決於您在做什麼。

我建議您首先分析您的程序,看看是什麼導致性能問題,然後再決定這是您選擇的API的問題。這可能是因爲你不斷地重新加載一些紋理,或者你沒有正確地進行狀態管理,或者你出於某種原因只是做了一些阻止你的其他代碼的事情。再說一遍,如果不知道你的代碼,任何人都不可能確定只是通過改變API來改善遊戲的性能。

+0

當你說連續重新加載紋理時,你的意思是回想一下bindtexture(),或者你的意思是加載它們,就像後來我在啓動時一樣。另外我想這可能是錯誤的編碼,但我相信這是我在Ondraw()調用drawelement()大約50到100次,而一些打火機的手機無法處理它。 – user1529408 2012-07-19 22:36:49

+0

再次,分析您的代碼。在不知道你做了什麼的情況下,我無法對你的表演在哪裏死去做出任何合理的猜測。也就是說,如果你可以減少狀態變化的數量,那通常是很好的。這包括調用'BindTexture'。 – nil 2012-07-19 22:55:05