Я очень новый для OpenGL.Android Openg GL ES 2 рисунок больших текстур медленный
Я пытаюсь нарисовать текстурированные квадрациклы (2 треугольника). Размер текстуры - 900x900 пикселей. У меня нет проблем с одним квадом, но когда я пытаюсь привлечь 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. В профилировщике я вижу, что около 60 мс вызывает вызов eglSwapBuffers.
Как можно быстро нарисовать квадраты с большими текстурами?
немного более важная информация: растровые изображения находятся в формате ARGB_8888 и включен GL_BLEND. –