<html><head>
<title>Performance Changes</title>
<style type="text/css">/*<![CDATA[*/
    table { border-collapse: collapse; }

    th, td { border: 1px solid silver; padding: 0.2em; }
    td { text-align: center; }
    th:first-child { text-align: left; }
    th { background: #eee; }

 /* those colors also should work for color blinds */
    td.slowdown { background: #f93; }
    td.speedup { background: #6f9; }
/*]]>*/</style>
</head><body>
<h1>16bpp->24bpp Performance Changes</h1>
<h2><a name="xlib-rgb">xlib-rgb</a></h2>
<table><thead><tr><th> </th>
<th>64</th>
<th>128</th>
<th>256</th>
<th>512</th>
</tr></thead><tbody>
<tr><th>fill_image_rgb_over</th>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.15x ☺</td>
<td class="speedup">1.31x ☺</td>
<td> </td>
</tr>
<tr><th>fill_image_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.07x ☺</td>
<td> </td>
</tr>
<tr><th>fill_image_rgba_over</th>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.12x ☺</td>
<td class="speedup">1.23x ☺</td>
<td> </td>
</tr>
<tr><th>fill_image_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.07x ☺</td>
<td> </td>
</tr>
<tr><th>fill_linear_rgb_over</th>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.12x ☺</td>
<td class="speedup">1.19x ☺</td>
<td> </td>
</tr>
<tr><th>fill_linear_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td> </td>
</tr>
<tr><th>fill_linear_rgba_over</th>
<td> </td>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.12x ☺</td>
<td> </td>
</tr>
<tr><th>fill_linear_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td> </td>
</tr>
<tr><th>fill_radial_rgb_over</th>
<td> </td>
<td class="speedup">1.07x ☺</td>
<td class="speedup">1.09x ☺</td>
<td> </td>
</tr>
<tr><th>fill_radial_rgba_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td> </td>
</tr>
<tr><th>fill_similar_rgb_over</th>
<td class="speedup">1.16x ☺</td>
<td class="speedup">1.42x ☺</td>
<td class="speedup">1.71x ☺</td>
<td> </td>
</tr>
<tr><th>fill_similar_rgb_source</th>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.14x ☺</td>
<td> </td>
</tr>
<tr><th>fill_similar_rgba_over</th>
<td class="speedup">1.11x ☺</td>
<td class="speedup">1.29x ☺</td>
<td class="speedup">1.40x ☺</td>
<td> </td>
</tr>
<tr><th>fill_similar_rgba_source</th>
<td> </td>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.10x ☺</td>
<td> </td>
</tr>
<tr><th>fill_solid_rgb_source</th>
<td> </td>
<td class="speedup">1.05x ☺</td>
<td class="speedup">1.08x ☺</td>
<td> </td>
</tr>
<tr><th>fill_solid_rgba_source</th>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.08x ☺</td>
<td> </td>
</tr>
<tr><th>paint-with-alpha_image_rgb_over</th>
<td> </td>
<td> </td>
<td class="speedup">2.17x ☺</td>
<td class="speedup">2.09x ☺</td>
</tr>
<tr><th>paint-with-alpha_image_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.06x ☺</td>
</tr>
<tr><th>paint-with-alpha_image_rgba_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.61x ☺</td>
<td class="speedup">1.56x ☺</td>
</tr>
<tr><th>paint-with-alpha_image_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.07x ☺</td>
</tr>
<tr><th>paint-with-alpha_linear_rgb_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.36x ☺</td>
<td class="speedup">1.34x ☺</td>
</tr>
<tr><th>paint-with-alpha_linear_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.05x ☺</td>
</tr>
<tr><th>paint-with-alpha_linear_rgba_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.36x ☺</td>
<td class="speedup">1.34x ☺</td>
</tr>
<tr><th>paint-with-alpha_linear_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.05x ☺</td>
</tr>
<tr><th>paint-with-alpha_radial_rgb_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.17x ☺</td>
<td class="speedup">1.17x ☺</td>
</tr>
<tr><th>paint-with-alpha_radial_rgba_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.16x ☺</td>
<td class="speedup">1.14x ☺</td>
</tr>
<tr><th>paint-with-alpha_similar_rgb_over</th>
<td> </td>
<td> </td>
<td class="speedup">3.95x ☺</td>
<td class="speedup">4.04x ☺</td>
</tr>
<tr><th>paint-with-alpha_similar_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.13x ☺</td>
<td class="speedup">1.14x ☺</td>
</tr>
<tr><th>paint-with-alpha_similar_rgba_over</th>
<td> </td>
<td> </td>
<td class="speedup">2.07x ☺</td>
<td class="speedup">2.08x ☺</td>
</tr>
<tr><th>paint-with-alpha_similar_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.10x ☺</td>
</tr>
<tr><th>paint-with-alpha_solid_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.11x ☺</td>
</tr>
<tr><th>paint-with-alpha_solid_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.11x ☺</td>
</tr>
<tr><th>paint_image_rgb_over</th>
<td> </td>
<td> </td>
<td class="slowdown">1.13x ☹</td>
<td class="slowdown">1.19x ☹</td>
</tr>
<tr><th>paint_image_rgb_source</th>
<td> </td>
<td> </td>
<td class="slowdown">1.11x ☹</td>
<td class="slowdown">1.17x ☹</td>
</tr>
<tr><th>paint_image_rgba_over</th>
<td> </td>
<td> </td>
<td class="slowdown">1.11x ☹</td>
<td class="slowdown">1.16x ☹</td>
</tr>
<tr><th>paint_image_rgba_source</th>
<td> </td>
<td> </td>
<td class="slowdown">1.14x ☹</td>
<td class="slowdown">1.17x ☹</td>
</tr>
<tr><th>paint_similar_rgb_over</th>
<td> </td>
<td> </td>
<td class="slowdown">1.68x ☹</td>
<td class="slowdown">1.94x ☹</td>
</tr>
<tr><th>paint_similar_rgb_source</th>
<td> </td>
<td> </td>
<td class="slowdown">1.69x ☹</td>
<td class="slowdown">1.94x ☹</td>
</tr>
<tr><th>paint_similar_rgba_over</th>
<td> </td>
<td> </td>
<td class="slowdown">1.48x ☹</td>
<td class="slowdown">1.65x ☹</td>
</tr>
<tr><th>paint_similar_rgba_source</th>
<td> </td>
<td> </td>
<td class="slowdown">1.58x ☹</td>
<td class="slowdown">1.83x ☹</td>
</tr>
<tr><th>paint_solid_rgb_over</th>
<td> </td>
<td> </td>
<td class="slowdown">1.37x ☹</td>
<td class="slowdown">1.71x ☹</td>
</tr>
<tr><th>paint_solid_rgb_source</th>
<td> </td>
<td> </td>
<td class="slowdown">1.35x ☹</td>
<td class="slowdown">1.71x ☹</td>
</tr>
<tr><th>paint_solid_rgba_source</th>
<td> </td>
<td> </td>
<td class="slowdown">1.36x ☹</td>
<td class="slowdown">1.72x ☹</td>
</tr>
<tr><th>stroke_image_rgb_over</th>
<td> </td>
<td class="speedup">1.11x ☺</td>
<td class="speedup">1.20x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_image_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.07x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_image_rgba_over</th>
<td> </td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.16x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_image_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.07x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_linear_rgb_over</th>
<td> </td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.15x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_linear_rgba_over</th>
<td> </td>
<td class="speedup">1.07x ☺</td>
<td class="speedup">1.10x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_radial_rgb_over</th>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.08x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_radial_rgba_over</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_similar_rgb_over</th>
<td class="speedup">1.07x ☺</td>
<td class="speedup">1.21x ☺</td>
<td class="speedup">1.44x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_similar_rgb_source</th>
<td> </td>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.12x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_similar_rgba_over</th>
<td> </td>
<td class="speedup">1.15x ☺</td>
<td class="speedup">1.30x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_similar_rgba_source</th>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.09x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_solid_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td> </td>
</tr>
<tr><th>stroke_solid_rgba_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.06x ☺</td>
<td> </td>
</tr>
<tr><th>text_image_rgb_over</th>
<td> </td>
<td class="speedup">1.05x ☺</td>
<td class="speedup">1.05x ☺</td>
<td> </td>
</tr>
<tr><th>text_image_rgba_over</th>
<td> </td>
<td class="speedup">1.05x ☺</td>
<td class="speedup">1.05x ☺</td>
<td> </td>
</tr>
<tr><th>text_similar_rgb_over</th>
<td class="speedup">1.08x ☺</td>
<td class="speedup">1.10x ☺</td>
<td class="speedup">1.09x ☺</td>
<td> </td>
</tr>
<tr><th>text_similar_rgb_source</th>
<td> </td>
<td> </td>
<td class="speedup">1.05x ☺</td>
<td> </td>
</tr>
<tr><th>text_similar_rgba_over</th>
<td class="speedup">1.06x ☺</td>
<td class="speedup">1.09x ☺</td>
<td class="speedup">1.07x ☺</td>
<td> </td>
</tr>
</tbody></table>
</body></html>