1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<LINK rel="stylesheet" type="text/css" href="../../../CSS/revolution.css"> 9<title>mgt-triple-buf</title> 10</head> 11 12<body> 13 14<h1 align="left">mgt-triple-buf</h1> 15 16<h2>Description</h2> 17 18<P>This program demonstrates triple-buffered rendering. Only two external frame buffers (XFBs) are used. Triple-buffering allows for maximum use of the graphics pipeline, because the CPU can work on the next frame while the graphics processor (GP) is rendering the current frame. However, this allows an increase in maximum latency. Triple-buffering results in more complex data management. The CPU cannot alter data for the next frame while the GP is still reading it for the current frame. A clean-up thread can be used to deallocate any data that was kept for the GP to read.</P> 19 20<h2>Coverage</h2> 21<TABLE border="1" cellpadding="3" cellspacing="0.1" width="640"> 22 <tr> 23<TD width="30%" bgcolor="#C0C0C0"><em><strong>Functions</strong></em></TD> 24<TD width="25%" bgcolor="#C0C0C0"><em><strong>Parameters</strong></em></TD> 25<TD width="45%" bgcolor="#C0C0C0"><em><strong>Description</strong></em></TD> 26 </tr> 27 <tr> 28<TD width="30%"><a href="../../../vi/VISetPostRetraceCallback.html"><code>VISetPostRetraceCallback</code></a></TD> 29<TD width="25%"><SPAN class="argument">cb</SPAN></TD> 30<TD width="45%">Pointer to the callback function.</TD> 31 </tr> 32 <tr> 33<TD width="30%"><a href="../../../vi/VISetPreRetraceCallback.html"><code>VISetPreRetraceCallback</code></a></TD> 34<TD width="25%"><SPAN class="argument">cb</SPAN></TD> 35<TD width="45%">Pointer to the callback function.</TD> 36 </tr> 37 <tr> 38<TD width="30%"><code><a href="../../../gx/GfxFIFO/GXEnableBreakPt.html">GXEnableBreakPt</a></code></TD> 39<TD width="25%"><SPAN class="argument">address</SPAN></TD> 40<TD width="45%">Breakpoint address.</TD> 41 </tr> 42 <tr> 43<TD width="30%"><code><a href="../../../gx/GfxFIFO/GXDisableBreakPt.html">GXDisableBreakPt</a></code></TD> 44<TD width="25%">None.</TD> 45 <TD width="45%"> </TD> 46 </tr> 47 <tr> 48<TD width="30%"><code><a href="../../../gx/GfxFIFO/GXSetBreakPtCallback.html">GXSetBreakPtCallback</a></code></TD> 49<TD width="25%"><SPAN class="argument">cb</SPAN></TD> 50<TD width="45%">Pointer to the callback function.</TD> 51 </tr> 52 <tr> 53<TD width="30%"><code><a href="../../../gx/Management/GXSetDrawSync.html">GXSetDrawSync</a></code></TD> 54<TD width="25%"><SPAN class="argument">token</SPAN></TD> 55<TD width="45%">Value of the render synchronization token.</TD> 56 </tr> 57 <tr> 58<TD width="30%"><code><a href="../../../gx/Management/GXReadDrawSync.html">GXReadDrawSync</a></code></TD> 59<TD width="25%">None.</TD> 60 <TD width="45%"> </TD> 61 </tr> 62 <tr> 63<TD width="30%"><code><a href="../../../gx/GfxFIFO/GXGetFifoPtrs.html">GXGetFifoPtrs</a></code></TD> 64<TD width="25%">Various.</TD> 65<TD width="45%">Appropriate value.</TD> 66 </tr> 67</TABLE> 68 69<h2>Using the Demo</h2> 70<p>Press the X button to stop the animation.<BR>PAUSE: End</p> 71 72<h2>Required Data Files</h2> 73<p>None.</p> 74 75<H2>Revision History</H2> 76<P> 772006/03/01 Initial version.<br> 78</P> 79 80<hr><p>CONFIDENTIAL</p></body> 81</html>