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.&nbsp;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>