<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="pmathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Abstract: Reducing State Changes with a Pipeline Buffer</title>
<script language="JavaScript" type="text/JavaScript" src="../myscript.js"></script>
</head>
<body style="font-family: Tahoma, Verdana, Arial, sans-serif;" bgcolor="#ffffff"><script type="text/javascript">
checkBrowserWidth();
window.onresize = checkBrowserWidth;
</script>
<h3 style="color:3366FF">
Reducing State Changes with a Pipeline Buffer
</h3>
<b>Jens Krokowski, Harald R&#228;cke, Christian Sohler, and Matthias Westermann</b>
<p>A limiting factor in the performance of a rendering system is the
number of state changes, i.e., changes of the attributes material,
texture, shader program, etc., in the stream of rendered primitives.
We propose to include a small buffer between application and graphics
hardware in the rendering system.  This pipeline buffer is
used to rearrange the incoming sequence of primitives on-line and
locally in such a way that the number of state changes is minimized.
This method is generic; 
it can be easily integrated into existing rendering systems.
</p>
<p>In our experiments a pipeline buffer reduces the number of state changes 
by an order of magnitude and 
achieves almost the same rendering time as an optimal,
i.e., presorted, sequence without pipeline buffer.
Due to its simple structure and its low memory requirements
this method can easily be implemented in software or even hardware.
</p>
</body>
</html>

