I'm rendering just a really small amount of polygons for my UI but however I still tried to increase the FPS. In the end I removed redundant calls which increased the FPS. I really don't want to lose FPS for nothing so I keep looking for more improvements.

APITrace from AMD PerfStudio2

The first thing I noticed is the "huge" time where no calls are made before SwapBuffer (the black one). Well I know that OpenGL works asynchronous so SwapBuffer has to wait until everything is done. But shouldn't PerfStudio mark this time also as black ? Correct me If I am wrong.

The second thing I noticed is that some glUniform2f calls just take longer (the brown ones). I mean they should all upload 2floats to the GPU how can the time be so different from call to call. The program isn't even changed or something like that.

I also tried to look at other programs like gDebugger or CodeXL but they often crashed and they show less statistics (only # of calls or redundant calls etc.)

EDIT: I also realized that the draw calls also have different durations, which was obvious for me but sometimes drawing more vertices is faster than drawing less vertices.


closed as unclear what you're asking by Sean Middleditch, Anko, Trevor Powell, MichaelHouse Dec 5 '13 at 18:53

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ Are you batching or doing separate draw calls for each of your quads? \$\endgroup\$ – Stephan van den Heuvel Nov 6 '13 at 21:06
  • \$\begingroup\$ You don't have a particularly clear question here. The times of things will vary a lot; there's a lot going on under the hood between driver state caches, OS context switches, various hardware queues, etc. Was that your question? \$\endgroup\$ – Sean Middleditch Dec 4 '13 at 22:15