Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
JohnnyGrant's avatar
JohnnyGrant
Explorer
11 years ago

Polygonbudget at 60fps or even 75 fps?

Hello everyone,

I guess my question would be, how can I find out what my polygon budget is with a geforce gtx 770 at 60 fps or 75 fps considering that the dk2 renders an image twice and has a refresh rate of up to 75hz? Greetings,

Johnny

6 Replies

  • Peeling's avatar
    Peeling
    Honored Guest
    Polygon budgets are entirely mythical beasts.

    How complex are the shaders you're planning on using? How many data streams to each shader? Do you have a small number of very intricate models, or a large number of simple ones? Lots of overdraw, or only a little? Are vertices mostly boned, or mostly static/rigid body?
  • Most of the geometry would be static, and I would like to bake the lightinformation onto the 3d models. I´ve researched a bit and found out that the geforce gtx 770 is able to do 1.65 billion triangles per second which I would have to divide by the framerate I would want to achieve (Dk2 60 frames per second). I don´t know if my calculations were right, but my 3d models are all made with quad polygons, so I calculated 1.65 divided by 4 (since a quad polygon has 4 triangles) and the result was
    412 500 000. So I then divided 412 500 000 quad polys by 60 (Dk2 60 frames per second) and the result was 6 875 000 polys that could be rendered at 60 fps. Maybe this is a bit insane to calculate it this way but that´s the only way I found out. Do you think that since you have to render 2 images simultaneously for the dk2 it would reduce those 6 875 000 polys by half? Sorry for the long text :)
  • owenwp's avatar
    owenwp
    Expert Protege
    Those theoretical numbers assume you are doing literally nothing else on the GPU, and that your batches are perfectly balanced, your meshes perfectly optimized. Its not just a matter of wiggle room, expect real performance to be an order of magnitude lower at least.

    And that assumes you really know what you are doing. There are a million little things that could slow you down even more.
  • What do you mean by "quad polygon". OpenGL offers GL_QUADS and GL_POLYGON. If you are using regular GL_QUADS, they will be drawn as two triangles, not four. If you draw a quad as a GL_POLYGON with a center vertex or something, yes, you will have four triangles.
  • Sorry I meant GL_Quads so no center vertex, just a quad polygon with two triangles.
  • "JohnnyGrant" wrote:
    Do you think that since you have to render 2 images simultaneously for the dk2 it would reduce those 6 875 000 polys by half?

    Yep.
    Rendering in stereo results in every triangle being rendered twice.

    Multi pass texturing will also render everything multiple times.

    Forward rendering may cause triangles to be re-rendered for every light source on them (or some factor of light sources). Deferred rendering may cause triangles to be rendered multiple times if you aren't doing multiple render targets in one shader.

    Then you need to worry about vertex format. The more data you have in each vertex, the slower it may get. The 1.65 billion triangles per second rate of the gtx 770 is going to be with very simplistic vertices.

    Then there's vertex cache efficiency. Good use of indices can speed up a render.

    Then there's the shader performance. Vertex, Geometry, Domain and Hull shaders will all affect the triangle performance.

    Then there's batch count. Rendering 1000 objects with 100 triangles each is very different to rendering 100 objects with 1000 triangles each (even though the triangles per frame would be identical).

    Generally, triangle count alone isn't a useful metric these days.