Timeline for Triple buffering and jittering
Current License: CC BY-SA 3.0
8 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Oct 28, 2012 at 23:22 | comment | added | Mario | Why measure your interval from the previous flip instead of the previous frame? Every new frame usually uses the timing from the previous frame for any time-based calculations like acceleration, etc., and it shouldn't matter, whether that frame was already displayed on screen or not. | |
Jul 6, 2012 at 17:53 | comment | added | Patrick Hughes | If you measure your interval by the previous flip, which was based on rendering from two frames ago, and then use that interval to calculate data in the current frame you're always going to be lagging the real interval by one frame. If your frames vary in time by any amount this will cause a following behavior where the game calculations don't match what will be displayed from those calculations.\ | |
Jul 6, 2012 at 7:48 | comment | added | user782220 | @PatrickHughes: Your explanation of why there is jerking doesn't make sense. | |
Jul 6, 2012 at 4:05 | comment | added | Patrick Hughes | Buffer #1 is being rendered into. #2 is being displayed. #3 is waiting for a good time to replace #2 on the display. The additional latency allows rendering to continue instead of pausing for the swap like a double buffered setup. If you're done rendering before the swap then yes, you'd get some jerking because of the pauses happening two frames behind the current real time. Summary: you're using a current time to smooth out a historical render, which can vary and make for small twitches. | |
Jul 5, 2012 at 20:21 | comment | added | user782220 | When John Carmack refers to triple buffering does that mean when all three buffers have images in them the earliest backbuffer is replaced with the new image or does that mean that mean rendering of the new image is blocked until one of the backbuffers is available? | |
Jul 5, 2012 at 10:43 | history | edited | Laurent Couvidou | CC BY-SA 3.0 |
deleted 1 characters in body
|
Jul 5, 2012 at 10:35 | history | edited | Laurent Couvidou | CC BY-SA 3.0 |
deleted 1 characters in body
|
Jul 5, 2012 at 9:57 | history | answered | Laurent Couvidou | CC BY-SA 3.0 |