Home Technical Talk

Overdraw

polycounter lvl 9
Offline / Send Message
PhattyEwok polycounter lvl 9
Okay so I have heard this term a few places on polycount especially in regards to floaters.

Can someone explain it to me and why its bad lol thanks mucho for the help

Replies

  • Mark Dygert
    Options
    Offline / Send Message
    I'll get things started and hopefully others will chime in with how they've heard it used. I think its a term that gets used for a few things or it flat out gets misused... A bit like "skinning" some people use it to mean making 2D textures (drawing the skin) and other people use it to describe the weighting of verts (applying the mesh skin to the skeleton). So it might be context sensitive.

    I've heard it refer to the engine failing to cull unseen objects on the screen and causing the system to render or "overdraw" the scene. For example your standing in one room and can't see anything in the room a few doors down the hall but it draws it anyway.

    I've also heard it used when talking about what you can and can't see through stacked opacity maps.

    I've also heard it referred to a rendering issue like what you're talking about with floaters where the edge of the geometry of the floater isn't correctly drawn over the top of the other mesh and spoils the illusion that the two pieces look to be connected. I think this also links to the Z Fighting issue where on certain systems if you float a plane over the top of another one and they're pretty close in distance the engine has trouble sorting which is in front and they flicker. I think this isn't as much of an issue as it once was?
  • Synthesizer
    Options
    Offline / Send Message
    Synthesizer polycounter lvl 11
    Aren't all of those the same issue? Just rendering multiple layers of polygons on top of each other. It's a real performance killer for differed renderers, especially with alpha.
  • cw
    Options
    Offline / Send Message
    cw polycounter lvl 17
    Vig wrote: »

    I've also heard it used when talking about what you can and can't see through stacked opacity maps.

    In this context, imagine when the engine is drawing transparent triangles - it has to render whatever is behind that triangle first, so that there isn't a gap, and the new pixel can be properly blended with the frame.

    Ideally you'd render each screen pixel the fewest number of times to get the best framerate, so these 'overlaps' increase the cost of the frame.

    With particles and grass and other alpha intensive and overlap intensive stuff it can cause quite a dent in FPS and various methods exist to cheapen things. Alpha test is lots cheaper than blended alpha, but the occlusion is still important so it's still costlier than opaque geometry. There are other cunning approaches which you can find about by googling if you're that way inclined which make use of stippling and suchlike to get the cost closer to 1 bit alpha with visuals somehow closer to blended alpha.

    As for z-fighting it's something different. Geometry has a depth in the scene and the bit depth of the buffer for objects' depth has a finite bit-depth. You can reduce z-fighting in the ditance, but to do so you push back the near clip plane - the near to far clip distance has only the bit-depth of 'gradations'.

    For artists maybe imagine cranking the levels hard on a photo, a lot of pixels will go black
    getting compressed into the same range - you'd never know what the original value was exactly after doing so. Same thing happens to objects far away, thneres simply not enough gradations for the renderer to know which pixel goes in front, it's down to the luck of the draw.

    That might not be crystal clear, but maybe it explains something a bit? :)
  • Eric Chadwick
    Options
    Offline / Send Message
    Simply put, overdraw means the same pixels are being drawn over and over again each time the screen is rendered, instead of just once (the ideal, though rarely attained).

    Some info here.
    http://www.ericchadwick.com/examples/provost/byf2.html#ofbm
Sign In or Register to comment.