how can i fix buffering?
Merge of Quad Buffering
I feel the diagram is incorrect in section 3, right after "Draw D".
If the vertical retrace starts after "Draw D" ends (which is what it appears the diagram is trying to show) then I think it should show D being copied to the video memory, with the picture created by "Draw C" never used. In addition it should start drawing in the first line immediately after "Draw D" ends.
If "Draw D" actually overlaps the vertical retrace slightly, then I think it would instead copy C as shown, but it would start "Draw E" in the *second* row, throwing away the D drawing.
In both cases the next copy would not be "Copy D" but instead "Copy E".
- Thanks for your feedback. Correct me if I'm wrong, but my understanding of triple buffering is that the frames can be drawn as fast as possible, but we still don't want to skip a frame. That's why in section 3, I made A, B and C be drawn as soon as possible, but D has to wait until C has been copied to video memory, and similarly for E. If we had just discarded C or D, that frame would be skipped, leading to sudden jumps in the animation etc. cmɢʟee☎✉ 00:55, 9 July 2012 (UTC)
- I think your diagram is showing the "increased latency version" described in the second-to-last paragraph of "triple buffering" section. That text however confusingly says both that no images are thrown away (what you are showing) and that it does not draw if both buffers are up to date (which would imply at least one image is thrown away if both manage to draw between frames). I would not be suprised if both have been done at times, as well as the "draw as fast as possible" version that I think is usually implied by triple buffering.Spitzak (talk) 16:26, 21 January 2013 (UTC)