This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

PixMap Surface slower and slower, why?

Hi everyone.

I am using Mali-400 GPU, on Allwinner A20, under linux.

I am using egl pixmap surface. Rendering results correct, but every time when i calling glDraw with the same  parameters, the runtime of glDraw(only last) slower and slower.

I am checking only glDraw without anything else.

The time of drawing

1 call -- 150ms

2 time repeat -- 240ms( only second call without first)

.

.

6  time repeat -- 620ms( only 6 call without any other)

I am repeating this

GL_CHECK(glEnableVertexAttribArray(iLocPosition));
GL_CHECK(glVertexAttribPointer(iLocPosition, 2, GL_FLOAT, GL_FALSE, 0, vertex));
time.Start();
     LoadDataToTexture( first, second );
time.Stop();
timeOfGPU.loadTime = time.GetTime();

time.Start();
     GL_CHECK(glDrawArrays( type, 0, sizeOfVertex ));
     GL_CHECK(glFinish());
time.Stop();
timeOfGPU.drawTime = time.GetTime();

time.Start();
     GL_CHECK(glReadPixels(0, 0, windowW, windowH, GL_RGBA, GL_UNSIGNED_BYTE , result));
time.Stop();
timeOfGPU.retTime = time.GetTime();

Why any new call slower than previews call?

When i was used window surface, this problem solved by eglSwapBuffers...

But now i don't know what is problem...

Thank for any reply.