私はです。 new to OpenGL。Android Openg GL ES 2大きなテクスチャの描画が遅い
テクスチャ付きクワッド(2つの三角形)を描画しようとしています。テクスチャのサイズは900x900pxです。私は1つのクワッドで問題はないが、私が5-10のクワッドを描こうとすると、私は目に見えないほど遅くなると思う。
たぶん私は何か間違ったことをやっている...
コード:
public void onDrawFrame(GL10 gl) {
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
... matrix calculation ...
GLES20.glUniformMatrix4fv(mMVPMatrixHandle, 1, false, mvpMatrix, 0);
GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
}
頂点シェーダ:
uniform mat4 uMVPMatrix;
attribute vec4 vPosition;
attribute vec2 a_TexCoordinate;
varying vec2 v_TexCoordinate;
void main() {
gl_Position = uMVPMatrix*vPosition;
v_TexCoordinate = a_TexCoordinate;
}
フラグメントシェーダ:
precision mediump float;
uniform sampler2D u_PreviewTexture;
varying vec2 v_TexCoordinate;
void main() {
vec4 color = texture2D(u_PreviewTexture, v_TexCoordinate);
gl_FragColor = color;
}
テストプラットフォームですギャラクシーS3。 プロファイラでは、約60msでeglSwapBuffersが呼び出されることがわかります。
大きなテクスチャでクワッドを高速に描画するにはどうすればよいですか?
もう少し重要な情報:ビットマップはARGB_8888形式であり、GL_BLENDは有効です。 –