I'm trying to understand why the rendering is taking longer than it should. I've followed the guidelines for OpenGL ES but am far from the advertised speed. The proc speed is 600Mhz , memory is 32bit wide LPDDR. My object is 73,728 verticies (24,576 triangles).
Rendering takes ~48ms
Object vertices triangles render time
Metal barrel 73,728 24,576 48ms
Frames/sec = 1/.050 = 20fps * 25,000triangles = 500,000 triangles per second
This is far from the expected triangles per second. Is there something I am doing wrong or could you explain why I am getting a poor render time. I have included my object file.
I render on a timer
//-----------------------------------------
//Clear buffers and set background color
glClear(GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);
glClear(GL_STENCIL_BUFFER_BIT);
glClearColor(.30f, .30f, .30f, 1.0f); //grey background
//-----------------------------------------
//Draw the cylinder
glLoadIdentity();
glTranslatef(-4,0,0);
glRotatef(-(m_fRotateLastX+m_fRotateX),1.0,0,0);
glScalef(m_fScale,m_fScale,1.0);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER,vertexBuffer);
glVertexPointer(3, GL_FLOAT, sizeof(VertexData3D), 0);//&Cylinder_VertexData[0].vertex));
glNormalPointer(GL_FLOAT, sizeof(VertexData3D), (GLvoid*)12);//&Cylinder_VertexData[0].normal);
glDrawArrays(GL_TRIANGLES, 0, BarrelNumberOfVertices); //73,728 Vertices
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER,NULL);
OnPaint only swaps the the buffer
eglSwapBuffers(m_iEglDisplay,m_iEglSurface);