We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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.
Thank you very much.