0

Assuming that I'm doing everything right and all I'm doing when I render my scene is going through all the vertex arrays that I want to render, how many triangles should I expect to be able to render compared to the FLOPS of the GPU I am using?

In my particular case, I'm trying to asses if my OpenGL pipeline is entirely crap or somewhat decent. This requires benchmarks but also something to actually benchmark against.

My benchmark machine is based on a Ryzen 5 2400GE with an onboard Vega 11 GPU that has a Tpeak performance of 1.746 TFLOPS for 32 bit floats[1].

On my benchmark machine I am able to push about 33000000 triangles per second, with a vertex shader that does one 4x4 matrix multiplication and a fragment shader that simply sets a colour. The triangles are defined using vertex with a 3d position, a 2d texture coordinate (unused in this benchmark, but still part of the data) and an RGB colour. This result is based on rendering VBAs with 40000 triangles, 500 times per frame. Rendering a frame takes about 0.5 seconds.

[1] https://www.techpowerup.com/gpu-specs/radeon-rx-vega-11.c3054

Clearer
  • 101
  • 3
  • 1
    It depends. The real question is: is your current performance benchmark sufficient for the needs of your project? If it is, you have no problem. If it's not, ask here for ways to optimize it further, showing details of your implementation. If you haven't identified what needs your pipeline needs to serve, then that's a step you need to do first - if we quote you a number that works for a different class of game than what you intend to make, then we haven't really helped you. So establishing your needs is always your first step when profiling. – DMGregory Jun 01 '20 at 17:46
  • @DMGregory I appreciate the comments you've made. I am merely trying to figure out if I am very far away from the raw potential for throwing triangles at the GPU. If I am very far from the theoretical performance now, I need to fix that. – Clearer Jun 01 '20 at 19:13
  • Are you falling into the trap of premature optimisation? Are you working on a game where you want to squish more performance out of the hardware? When working with video games, it's easier to work with what works for now, and if later on you want to improve performance, its easier to update an existing implementation, that to create an optimised one. – Tom Tsagkatos Jun 02 '20 at 09:16
  • @TomTsagk No, I just want to have a reliable way to measure. I'm no where near completion of the engine even in design. – Clearer Jul 12 '20 at 20:21

0 Answers0