0
我有一個質感的廣場。我用這種方法繪製:Opengl ES - 有沒有加快渲染速度的方法?
public void draw(GL10 gl) {
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);
if (mShouldLoadTexture) {
loadGLTexture(gl);
mShouldLoadTexture = false;
}
if (mTextureId != -1 && mTextureBuffer != null) {
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTextureBuffer);
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureId);
}
gl.glDrawArrays(GL10.GL_TRIANGLE_FAN, 0, 4);
if (mTextureId != -1 && mTextureBuffer != null) {
gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
}
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
}
public void onDrawFrame(GL10 gl) {
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
...
for (int i=0; i<50; i++) {
...loadidentity
...translatef
...rotatef
...alphaenabled
square1.draw(gl);
...alphadisabled
}
...etc
我只有10 + 10紋理化(和動畫,混紡)的正方形,上的HTC圖例我得到48 FPS,Galaxy S的得到60 FPS。
當我把10 + 10 + 40紋理化(和動畫,混紡)的正方形,上的HTC圖例我得到14-20 FPS,Galaxy S的再次得到60 FPS。
有沒有一種方法,以加快我的應用程序(FPS)?或者我做錯了什麼?
這沒有幫助很多..我重寫了,但沒有什麼不同 – lacas 2011-01-23 16:03:53