Single buffer rendering and high frame rate

Discussion in 'Rendering Technology and APIs' started by Flux, Feb 13, 2016.

  1. Flux

    Regular

    Joined:
    Nov 10, 2006
    Messages:
    313
    Likes Received:
    2
    If you render a 3d scene with just a single buffer can you see artifacts if the frame rate and screen refresh rate is 60-75hz or more?

    Will the human eye be able to see the meshes buildup or will it be invisible?


    Thank you for responding.
     
    milk likes this.
  2. PixResearch

    Regular

    Joined:
    May 20, 2010
    Messages:
    187
    Likes Received:
    46
    Location:
    London, UK
    Your eye has zero problem seeing any 'edge' artefacts like blocks/tearing well into the hundreds of Hz.
     
  3. Infinisearch

    Veteran Regular

    Joined:
    Jul 22, 2004
    Messages:
    739
    Likes Received:
    139
    Location:
    USA
    Double buffering is common so no you won't see the meshes buildup. And even if double buffering wasn't used I still think you wouldn't see the scene being drawn. (for the most part)

    edit - doh I didn't realize you meant single buffered. But again because the way the display scans the frame buffer no even if single buffered you won't see a mesh being built up but you will see artifacts.
    edit2- not artifacts but it will be messed up. Unless you syncronize to Vblank and finish rendering in that time.
     
    #3 Infinisearch, Feb 13, 2016
    Last edited: Feb 13, 2016
  4. milk

    Veteran Regular

    Joined:
    Jun 6, 2012
    Messages:
    2,995
    Likes Received:
    2,563
    that´s an interesting propostion. Never thought about it.
     
  5. Flux

    Regular

    Joined:
    Nov 10, 2006
    Messages:
    313
    Likes Received:
    2
    So if you render at 120 fps single buffered but only 60-75hz is visible(monitor refresh rate) would you see artifacts?

    If so how noticeable would the artifacts be at 1280x720p?
     
  6. manux

    Veteran Regular

    Joined:
    Sep 7, 2002
    Messages:
    1,566
    Likes Received:
    400
    Location:
    Earth
    It would really depend on how the display updates the pixels being shown. Is the display been updated in blocks, scanlines or perhaps all pixels are turned on simultaneously? CRT monitors(ancient technology) drew scanline by scanline and there was indeed possibility to sync and draw in a way where double buffering wasn't needed. However what you can draw scanline by scanline is rather limited. I used to do something along these lines long time ago with commodore amiga.

    I doubt anything modern would work without artifacts/loosing plenty of performance. Rendering pipelines are designed to draw the whole frame buffer, post process it and then display. Even if one had necessary rendering done in tiles/scanlines modern displays would likely not have necessary logic to feed the display out of anything but full frame buffer.

    There is the odd chance that something like oculus rift could somehow work with single buffering. I believe each frame on rift lasts about 11ms and out of that 11ms only 2ms is used to show image and 9ms is black(low persistency). If oculus switched the frame so that there was 9ms black and 2ms color one potentially could use that 9ms to draw to the buffer being show and then show the image for 2ms. However that would not make sense in practice as the timing of rendering would have to be super precise and one would loose 2ms where no drawing is allowed(image being shown).
     
  7. jlippo

    Veteran Regular

    Joined:
    Oct 7, 2004
    Messages:
    1,343
    Likes Received:
    443
    Location:
    Finland
    If the rendering is not done 'racing the beam', it will show bad artifacts.
    Just like in case of v-sync in which you see wrong frame, now you would see the frame during it's construction.

    This means that you see whatever was finished at that point of time when image was read to the screen, you rarely see finished image.
    IE.
    First refresh background was finished, but characters were not started, next refresh you have only rendered part of the background.. etc.
    Amiga workbench came with some rocket demo that did it like this and it was not very pleasant to look at.
     
  8. PixResearch

    Regular

    Joined:
    May 20, 2010
    Messages:
    187
    Likes Received:
    46
    Location:
    London, UK
    Yes you would - not rendering with double buffers or not rendering with newer vsync matching techniques would cause you to display frames containing parts of one frame and parts of another. From the monitor's perspective it doesn't matter if you're rendering quicker than the screen displays or your graphics card can't keep up and you're rendering slower than the screen's vsync. You'd have two frames visible in one frame.

    That part's subjective - depends how susceptible you are to screen tearing. Games are perfectly playable with screen tearing present but most people wouldn't consider screen tearing artefacts acceptable these days...
     
  9. Flux

    Regular

    Joined:
    Nov 10, 2006
    Messages:
    313
    Likes Received:
    2
    There's V-sync built into monitors?
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...