2011-08-11 81 views
4

我想開發一個在android上使用opengl的應用程序,並且理想地使它在任何與原始droid(或者至少任何具有OpenGL ES 2.0支持的手機)一樣舊的手機上運行。目前,我正在使用2048x2048 ETC1紋理壓縮。它可以在我測試它的Droid X上正常工作,但是我目前沒有原始的droid來測試它,並且我也無法在這個主題上找到很多數據。我知道G1在紋理大於512x512的時候表現不佳,而且機器人似乎對於像1024x1024的圖像效果不錯,但2048x2048呢? (再次,etc1壓縮,所以它大約2 MB)。另外,因爲ETC1不支持alpha,我想加載另一個ETC1紋理來支持alpha通道。這是一個夢想嗎?合理的紋理尺寸在android

基本上,我想知道我有多少空間加載Android手機的紋理數據不比原來的機器人,至少沒有整體速度放緩。

+0

20248似乎相當大。 – genpfault

+0

Woops,是的,我的意思是2048,謝謝你的理解。 –

回答

4

您可以查詢MAX_TEXTURE_SIZE以獲得最大紋理尺寸,或者您可以在http://glbenchmark.com(可以找到Droid信息here)上查找您的手機。 G1不支持GLES 2.0,AFAIK。

加載幾個紋理應該明確地工作,特別是當它們每個不超過2MB時。但是你當然會受到可用內存大小的限制。

此外,爲了獲得最佳性能,您應該將紋理貼圖。由於您正在使用ETC,因此必須離線完成。

有關如何在alpha中使用ETC1的指南,請參閱here