summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Allum <mallum@openedhand.com>2004-12-05 22:51:31 +0000
committerMatthew Allum <mallum@openedhand.com>2004-12-05 22:51:31 +0000
commite6519ff34ddf7b47017b8bd7fe745e44ec838bb7 (patch)
tree8e945bb6b0a86b439d58e949245d053c03e71c8c
downloadfstests-e6519ff34ddf7b47017b8bd7fe745e44ec838bb7.tar.gz
fstests-e6519ff34ddf7b47017b8bd7fe745e44ec838bb7.tar.bz2
fstests-e6519ff34ddf7b47017b8bd7fe745e44ec838bb7.zip
Add old fstests
-rw-r--r--docbook/results-c700.docbook224
-rw-r--r--docbook/results-ipaq.docbook280
-rw-r--r--docbook/results-j720.docbook224
-rw-r--r--docbook/results-z5000d.docbook224
-rw-r--r--docbook/results.docbook586
-rw-r--r--ipaq-results.csv34
-rw-r--r--results-c700.csv27
-rw-r--r--results-j720.csv27
-rw-r--r--results-z5000d.csv27
-rw-r--r--results/ipaq-results.txt1055
-rw-r--r--results/results-c700846
-rw-r--r--results/results-j720847
-rw-r--r--results/results-z5000d846
-rwxr-xr-xscripts/csvtodocbooktable.pl45
-rwxr-xr-xscripts/parse-results.pl59
-rwxr-xr-xscripts/run-fb-tests.sh147
-rw-r--r--tests/test-fb.c362
-rw-r--r--tests/test-sdl.c246
-rw-r--r--tests/test-x.c424
19 files changed, 6530 insertions, 0 deletions
diff --git a/docbook/results-c700.docbook b/docbook/results-c700.docbook
new file mode 100644
index 0000000..ed10566
--- /dev/null
+++ b/docbook/results-c700.docbook
@@ -0,0 +1,224 @@
+<table frame="all">
+ <title>results-c700.csv</title>
+ <tgroup cols="6" align="char" charoff="50" char=".">
+ <thead>
+ <row><entry>Device</entry>
+<entry> Blit</entry>
+<entry> Orientation</entry>
+<entry> Bandwidth ( Kb/Sec)</entry>
+<entry> Surface Creation time ( ms)</entry>
+<entry> Frames per sec
+</entry>
+</row>
+ </thead>
+ <tbody><row>
+<entry> framebuffer via VT switch from X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>14678.70</entry>
+<entry align='right'>14.80</entry>
+<entry align='right'>24.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>2062.50</entry>
+<entry align='right'>72.30</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> normal</entry>
+<entry align='right'>785.30</entry>
+<entry align='right'>71.50</entry>
+<entry align='right'>1.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> normal</entry>
+<entry align='right'>1790.30</entry>
+<entry align='right'>72.00</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>13005.30</entry>
+<entry align='right'>72.80</entry>
+<entry align='right'>20.90</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> left</entry>
+<entry align='right'>1363.60</entry>
+<entry align='right'>72.70</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> left</entry>
+<entry align='right'>6027.80</entry>
+<entry align='right'>72.80</entry>
+<entry align='right'>9.70</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>8820.80</entry>
+<entry align='right'>73.20</entry>
+<entry align='right'>14.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> right</entry>
+<entry align='right'>1232.30</entry>
+<entry align='right'>72.90</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> right</entry>
+<entry align='right'>4614.70</entry>
+<entry align='right'>72.80</entry>
+<entry align='right'>7.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>2064.10</entry>
+<entry align='right'>72.30</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> inverted</entry>
+<entry align='right'>787.70</entry>
+<entry align='right'>72.30</entry>
+<entry align='right'>1.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> inverted</entry>
+<entry align='right'>1779.10</entry>
+<entry align='right'>71.50</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>1939.00</entry>
+<entry align='right'>70.90</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> normal</entry>
+<entry align='right'>523.30</entry>
+<entry align='right'>72.00</entry>
+<entry align='right'>0.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> normal</entry>
+<entry align='right'>1947.80</entry>
+<entry align='right'>71.40</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>6896.30</entry>
+<entry align='right'>77.60</entry>
+<entry align='right'>11.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> left</entry>
+<entry align='right'>643.80</entry>
+<entry align='right'>79.90</entry>
+<entry align='right'>1.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> left</entry>
+<entry align='right'>2704.10</entry>
+<entry align='right'>77.90</entry>
+<entry align='right'>4.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>5455.50</entry>
+<entry align='right'>72.60</entry>
+<entry align='right'>8.90</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> right</entry>
+<entry align='right'>488.80</entry>
+<entry align='right'>71.70</entry>
+<entry align='right'>0.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> right</entry>
+<entry align='right'>2207.00</entry>
+<entry align='right'>78.70</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>1938.50</entry>
+<entry align='right'>72.00</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> inverted</entry>
+<entry align='right'>526.70</entry>
+<entry align='right'>72.90</entry>
+<entry align='right'>0.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> inverted</entry>
+<entry align='right'>1936.20</entry>
+<entry align='right'>70.80</entry>
+<entry align='right'>3.00</entry>
+</row>
+<row>
+<entry> framebuffer no X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>15031.30</entry>
+<entry align='right'>14.20</entry>
+<entry align='right'>24.90</entry>
+</row>
+</tbody>
+ </tgroup>
+ </table> \ No newline at end of file
diff --git a/docbook/results-ipaq.docbook b/docbook/results-ipaq.docbook
new file mode 100644
index 0000000..b61ad59
--- /dev/null
+++ b/docbook/results-ipaq.docbook
@@ -0,0 +1,280 @@
+<table frame="all">
+ <title>ipaq-results.csv</title>
+ <tgroup cols="6" align="char" charoff="50" char=".">
+ <thead>
+ <row><entry>Device</entry>
+<entry> Blit</entry>
+<entry> Orientation</entry>
+<entry> Bandwidth ( Kb/Sec)</entry>
+<entry> Surface Creation time ( ms)</entry>
+<entry> Frames per sec
+</entry>
+</row>
+ </thead>
+ <tbody><row>
+<entry> framebuffer via VT switch from X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>33367.10</entry>
+<entry align='right'>7.80</entry>
+<entry align='right'>222.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>4127.60</entry>
+<entry align='right'>26.40</entry>
+<entry align='right'>27.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> normal</entry>
+<entry align='right'>1640.30</entry>
+<entry align='right'>26.70</entry>
+<entry align='right'>10.20</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> normal</entry>
+<entry align='right'>3382.00</entry>
+<entry align='right'>26.40</entry>
+<entry align='right'>22.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>7992.40</entry>
+<entry align='right'>26.30</entry>
+<entry align='right'>53.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> left</entry>
+<entry align='right'>1899.60</entry>
+<entry align='right'>26.50</entry>
+<entry align='right'>12.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> left</entry>
+<entry align='right'>4906.40</entry>
+<entry align='right'>26.90</entry>
+<entry align='right'>32.20</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>20616.00</entry>
+<entry align='right'>26.30</entry>
+<entry align='right'>136.90</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> right</entry>
+<entry align='right'>2254.00</entry>
+<entry align='right'>26.20</entry>
+<entry align='right'>14.50</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> right</entry>
+<entry align='right'>9705.10</entry>
+<entry align='right'>26.60</entry>
+<entry align='right'>64.10</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>4137.00</entry>
+<entry align='right'>26.30</entry>
+<entry align='right'>27.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> inverted</entry>
+<entry align='right'>1633.40</entry>
+<entry align='right'>26.80</entry>
+<entry align='right'>10.20</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> inverted</entry>
+<entry align='right'>3419.50</entry>
+<entry align='right'>26.60</entry>
+<entry align='right'>22.20</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>3506.60</entry>
+<entry align='right'>25.90</entry>
+<entry align='right'>23.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> normal</entry>
+<entry align='right'>1249.70</entry>
+<entry align='right'>26.40</entry>
+<entry align='right'>8.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> normal</entry>
+<entry align='right'>4321.50</entry>
+<entry align='right'>26.50</entry>
+<entry align='right'>28.40</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>6068.80</entry>
+<entry align='right'>26.00</entry>
+<entry align='right'>39.90</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> left</entry>
+<entry align='right'>1400.00</entry>
+<entry align='right'>27.20</entry>
+<entry align='right'>9.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> left</entry>
+<entry align='right'>4779.50</entry>
+<entry align='right'>26.00</entry>
+<entry align='right'>31.40</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>10905.90</entry>
+<entry align='right'>26.00</entry>
+<entry align='right'>72.10</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> right</entry>
+<entry align='right'>1446.80</entry>
+<entry align='right'>29.80</entry>
+<entry align='right'>9.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> right</entry>
+<entry align='right'>7521.00</entry>
+<entry align='right'>26.10</entry>
+<entry align='right'>49.60</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>3505.10</entry>
+<entry align='right'>26.00</entry>
+<entry align='right'>22.90</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> inverted</entry>
+<entry align='right'>1251.40</entry>
+<entry align='right'>26.10</entry>
+<entry align='right'>8.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> inverted</entry>
+<entry align='right'>4379.80</entry>
+<entry align='right'>26.00</entry>
+<entry align='right'>28.70</entry>
+</row>
+<row>
+<entry> X + SDL</entry>
+<entry> Single Blit</entry>
+<entry> normal </entry>
+<entry align='right'>224.00</entry>
+<entry align='right'>61.40</entry>
+<entry align='right'>24.00</entry>
+</row>
+<row>
+<entry> X + SDL</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> normal </entry>
+<entry align='right'>1836.20</entry>
+<entry align='right'>62.10</entry>
+<entry align='right'>12.00</entry>
+</row>
+<row>
+<entry> X + SDL</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> normal </entry>
+<entry align='right'>3605.80</entry>
+<entry align='right'>63.80</entry>
+<entry align='right'>24.00</entry>
+</row>
+<row>
+<entry> framebuffer no X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>34120.50</entry>
+<entry align='right'>7.60</entry>
+<entry align='right'>226.90</entry>
+</row>
+<row>
+<entry> framebuffer + SDL (swsurface)</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>866.20</entry>
+<entry align='right'>0.00</entry>
+<entry align='right'>0.00</entry>
+</row>
+<row>
+<entry> framebuffer + SDL (hwsurface)</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>2338.00</entry>
+<entry align='right'>61.00</entry>
+<entry align='right'>222.00</entry>
+</row>
+<row>
+<entry> framebuffer + SDL (hwsurface)</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> na</entry>
+<entry align='right'>2531.60</entry>
+<entry align='right'>61.50</entry>
+<entry align='right'>17.00</entry>
+</row>
+<row>
+<entry> framebuffer + SDL (hwsurface)</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> na</entry>
+<entry align='right'>25789.00</entry>
+<entry align='right'>61.10</entry>
+<entry align='right'>174.80</entry>
+</row>
+</tbody>
+ </tgroup>
+ </table> \ No newline at end of file
diff --git a/docbook/results-j720.docbook b/docbook/results-j720.docbook
new file mode 100644
index 0000000..05c32b8
--- /dev/null
+++ b/docbook/results-j720.docbook
@@ -0,0 +1,224 @@
+<table frame="all">
+ <title>results-j720.csv</title>
+ <tgroup cols="6" align="char" charoff="50" char=".">
+ <thead>
+ <row><entry>Device</entry>
+<entry> Blit</entry>
+<entry> Orientation</entry>
+<entry> Bandwidth ( Kb/Sec)</entry>
+<entry> Surface Creation time ( ms)</entry>
+<entry> Frames per sec
+</entry>
+</row>
+ </thead>
+ <tbody><row>
+<entry> framebuffer via VT switch from X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>3996.00</entry>
+<entry align='right'>19.00</entry>
+<entry align='right'>13.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>3851.70</entry>
+<entry align='right'>53.10</entry>
+<entry align='right'>12.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> normal</entry>
+<entry align='right'>1689.50</entry>
+<entry align='right'>53.20</entry>
+<entry align='right'>5.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> normal</entry>
+<entry align='right'>3254.80</entry>
+<entry align='right'>53.10</entry>
+<entry align='right'>10.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>2286.00</entry>
+<entry align='right'>53.10</entry>
+<entry align='right'>7.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> left</entry>
+<entry align='right'>1204.40</entry>
+<entry align='right'>53.00</entry>
+<entry align='right'>4.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> left</entry>
+<entry align='right'>1697.10</entry>
+<entry align='right'>53.30</entry>
+<entry align='right'>5.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>2295.10</entry>
+<entry align='right'>53.20</entry>
+<entry align='right'>7.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> right</entry>
+<entry align='right'>1203.40</entry>
+<entry align='right'>53.10</entry>
+<entry align='right'>4.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> right</entry>
+<entry align='right'>1710.30</entry>
+<entry align='right'>53.20</entry>
+<entry align='right'>5.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>3424.10</entry>
+<entry align='right'>53.00</entry>
+<entry align='right'>11.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> inverted</entry>
+<entry align='right'>1197.90</entry>
+<entry align='right'>53.00</entry>
+<entry align='right'>3.20</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> inverted</entry>
+<entry align='right'>2826.70</entry>
+<entry align='right'>53.10</entry>
+<entry align='right'>9.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>2655.50</entry>
+<entry align='right'>52.40</entry>
+<entry align='right'>8.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> normal</entry>
+<entry align='right'>922.40</entry>
+<entry align='right'>52.50</entry>
+<entry align='right'>2.90</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> normal</entry>
+<entry align='right'>2283.30</entry>
+<entry align='right'>52.50</entry>
+<entry align='right'>7.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>1808.60</entry>
+<entry align='right'>52.60</entry>
+<entry align='right'>5.90</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> left</entry>
+<entry align='right'>772.30</entry>
+<entry align='right'>52.30</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> left</entry>
+<entry align='right'>2058.10</entry>
+<entry align='right'>52.60</entry>
+<entry align='right'>6.10</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>1827.90</entry>
+<entry align='right'>52.40</entry>
+<entry align='right'>6.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> right</entry>
+<entry align='right'>772.00</entry>
+<entry align='right'>52.50</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> right</entry>
+<entry align='right'>2074.80</entry>
+<entry align='right'>52.30</entry>
+<entry align='right'>6.20</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>2433.00</entry>
+<entry align='right'>52.50</entry>
+<entry align='right'>8.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> inverted</entry>
+<entry align='right'>819.60</entry>
+<entry align='right'>52.60</entry>
+<entry align='right'>2.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> inverted</entry>
+<entry align='right'>2516.30</entry>
+<entry align='right'>52.60</entry>
+<entry align='right'>7.80</entry>
+</row>
+<row>
+<entry> framebuffer no X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>3807.80</entry>
+<entry align='right'>19.00</entry>
+<entry align='right'>12.30</entry>
+</row>
+</tbody>
+ </tgroup>
+ </table> \ No newline at end of file
diff --git a/docbook/results-z5000d.docbook b/docbook/results-z5000d.docbook
new file mode 100644
index 0000000..412bd17
--- /dev/null
+++ b/docbook/results-z5000d.docbook
@@ -0,0 +1,224 @@
+<table frame="all">
+ <title>results-z5000d.csv</title>
+ <tgroup cols="6" align="char" charoff="50" char=".">
+ <thead>
+ <row><entry>Device</entry>
+<entry> Blit</entry>
+<entry> Orientation</entry>
+<entry> Bandwidth ( Kb/Sec)</entry>
+<entry> Surface Creation time ( ms)</entry>
+<entry> Frames per sec
+</entry>
+</row>
+ </thead>
+ <tbody><row>
+<entry> framebuffer via VT switch from X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>30284.90</entry>
+<entry align='right'>8.50</entry>
+<entry align='right'>201.70</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>4056.10</entry>
+<entry align='right'>38.80</entry>
+<entry align='right'>26.70</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> normal</entry>
+<entry align='right'>1605.70</entry>
+<entry align='right'>36.60</entry>
+<entry align='right'>10.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> normal</entry>
+<entry align='right'>3418.80</entry>
+<entry align='right'>27.30</entry>
+<entry align='right'>22.20</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>17733.50</entry>
+<entry align='right'>34.20</entry>
+<entry align='right'>117.60</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> left</entry>
+<entry align='right'>2097.60</entry>
+<entry align='right'>28.80</entry>
+<entry align='right'>13.60</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> left</entry>
+<entry align='right'>6739.70</entry>
+<entry align='right'>27.30</entry>
+<entry align='right'>44.60</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>7824.60</entry>
+<entry align='right'>34.20</entry>
+<entry align='right'>52.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> right</entry>
+<entry align='right'>1774.50</entry>
+<entry align='right'>30.30</entry>
+<entry align='right'>11.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> right</entry>
+<entry align='right'>4239.80</entry>
+<entry align='right'>30.90</entry>
+<entry align='right'>27.80</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>3984.00</entry>
+<entry align='right'>32.20</entry>
+<entry align='right'>26.20</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (x)</entry>
+<entry> inverted</entry>
+<entry align='right'>1588.10</entry>
+<entry align='right'>44.50</entry>
+<entry align='right'>10.00</entry>
+</row>
+<row>
+<entry> X MIT-SHM PutImage</entry>
+<entry> Multiple Blit (y)</entry>
+<entry> inverted</entry>
+<entry align='right'>3415.70</entry>
+<entry align='right'>32.40</entry>
+<entry align='right'>22.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> normal</entry>
+<entry align='right'>3389.90</entry>
+<entry align='right'>60.70</entry>
+<entry align='right'>22.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> normal</entry>
+<entry align='right'>778.70</entry>
+<entry align='right'>26.30</entry>
+<entry align='right'>5.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> normal</entry>
+<entry align='right'>2096.30</entry>
+<entry align='right'>36.20</entry>
+<entry align='right'>13.40</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> left</entry>
+<entry align='right'>9635.80</entry>
+<entry align='right'>26.40</entry>
+<entry align='right'>63.80</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> left</entry>
+<entry align='right'>999.10</entry>
+<entry align='right'>30.50</entry>
+<entry align='right'>6.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> left</entry>
+<entry align='right'>2874.80</entry>
+<entry align='right'>28.40</entry>
+<entry align='right'>18.70</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> right</entry>
+<entry align='right'>5651.20</entry>
+<entry align='right'>33.10</entry>
+<entry align='right'>37.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> right</entry>
+<entry align='right'>840.70</entry>
+<entry align='right'>32.70</entry>
+<entry align='right'>5.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> right</entry>
+<entry align='right'>2161.40</entry>
+<entry align='right'>35.00</entry>
+<entry align='right'>14.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Single Blit</entry>
+<entry> inverted</entry>
+<entry align='right'>3348.80</entry>
+<entry align='right'>40.60</entry>
+<entry align='right'>21.80</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(x)</entry>
+<entry> inverted</entry>
+<entry align='right'>782.10</entry>
+<entry align='right'>26.60</entry>
+<entry align='right'>5.00</entry>
+</row>
+<row>
+<entry> X PutImage</entry>
+<entry> Multiple Blit(y)</entry>
+<entry> inverted</entry>
+<entry align='right'>2083.80</entry>
+<entry align='right'>42.90</entry>
+<entry align='right'>13.40</entry>
+</row>
+<row>
+<entry> framebuffer no X</entry>
+<entry> Single Blit</entry>
+<entry> na</entry>
+<entry align='right'>32502.00</entry>
+<entry align='right'>8.10</entry>
+<entry align='right'>216.00</entry>
+</row>
+</tbody>
+ </tgroup>
+ </table> \ No newline at end of file
diff --git a/docbook/results.docbook b/docbook/results.docbook
new file mode 100644
index 0000000..f14ba6c
--- /dev/null
+++ b/docbook/results.docbook
@@ -0,0 +1,586 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.0//EN" [
+ <!ENTITY c700 SYSTEM "results-c700.docbook">
+ <!ENTITY ipaq SYSTEM "results-ipaq.docbook">
+ <!ENTITY z5000d SYSTEM "results-z5000d.docbook">
+ <!ENTITY j720 SYSTEM "results-j720.docbook">
+]>
+<article>
+<artheader>
+<title>Fullscreen</title>
+<author><firstname>Matthew</firstname>
+<surname>Allum</surname>
+<email>matthew@openedhand.com</email>
+</author>
+<copyright>
+ <year>2003</year>
+ <holder>Openedhand Ltd</holder>
+ </copyright>
+</artheader>
+<section><title>Introduction</title>
+<para>
+
+This report aims to benchmark fullscreen 'blits' on handheld ARM based
+devices, Specifically for the evaluation of the suitability for
+fullscreen 2D games and video playback.
+
+There are numerous available handheld ARM computers capable of running
+a Linux kernel and implementing a supported graphical display.
+
+</para>
+
+<para>
+
+Graphics output is assumed to be by means of writing data to a 'dumb' kernel
+framebuffer device via direct means or an XServer.
+
+</para>
+
+</section>
+<section><title>Tests</title>
+<para>
+
+For the tests three simple test programs were created. They are
+written in C and the same binaries of each program used on each
+platform. The source of the tests is <link url="tests/">available</a>.
+
+Each performs a timed single 'full' blit or a fullscreen blit made up
+of multiple 1 pixel rows or columns. Also if supported by the output
+mechanism ( eg XServer with XRandR ) blits are performed at different
+screen orientations. The blit method is then repeated 100 times and
+timings calculated.
+
+All of which exhibit similar behavior and code structure but output
+to to the display by different means.
+
+<variablelist>
+
+<varlistentry>
+<term>test-fb</term>
+<listitem>
+Performs a blit by writing directly to the framebuffer device by means of a
+memcopy.
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>test-x</term>
+<listitem>
+
+Performs blits under X windows via client side
+XImages. Once created, an XImage is transfered to the X11 server for display
+by either local sockets or shared memory ( MIT-SHM extension ).
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>test-sdl</term>
+<listitem>
+<para>
+
+The 'Simple Direct MediaLayer' ( SDL ) is a multi-platform graphics
+library that abstracts the mechanics of communication with a
+particular device. For example the same binary will run both with X
+and the framebuffer.
+
+</para>
+<para>
+
+A SDL 1.2 ARM Binary from Debian Sid was used.
+
+</para>
+
+</listitem>
+</varlistentry>
+
+</variablelist>
+<para>
+
+Each test was run with various parameters using this <ulink
+url="scripts/run-fb-tests.sh">script</ulink>. The script runs each test 10 times and averages
+results.
+
+</para>
+<para>
+
+There is a freely available popular X benchmark tool - 'X11perf'. This
+could have been used rather than test-x, but it exhibits problems
+running on a small display. However results from X11Perf and task-x
+on a larger display were comparably similiar.
+
+</section>
+<section>
+<title>Test Platforms</title>
+
+The tests were run on the following platforms;
+
+<variablelist>
+
+<varlistentry>
+<term>HP/Compaq Ipaq 3870</term>
+<listitem>
+<para>
+<itemizedlist mark="bullet" spacing="compact">
+<listitem>
+CPU: SA1110 StrongARM 206Mhz
+</listiem>
+<listitem>
+RAM: 64MB
+</listitem>
+<listitem>
+Display: 240x320x16 LCD
+</listitem>
+<listitem>
+
+GFX Chip: Na
+</listitem>
+<listitem>
+
+X11: XFree86 v4.3, kdrive Xfbdev server
+</listitem>
+<listitem>
+
+kernel: 2.4.19-rmk6-pxa1-hh13
+</listitem>
+
+</listitem>
+</itemizedlist>
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>Sharp Zaurus 5000d</term>
+<listitem>
+<para>
+<itemizedlist mark="bullet" spacing="compact">
+<listitem>
+CPU: SA1110 StrongARM 206Mhz
+</listiem>
+<listitem>
+RAM: 16MB
+</listitem>
+<listitem>
+Display: 240x320x16 LCD
+</listitem>
+<listitem>
+
+GFX Chip: Na
+</listitem>
+<listitem>
+
+X11: XFree86 v4.3, kdrive Xfbdev server
+</listitem>
+<listitem>
+
+kernel: 2.4.6-rmk1-np2-embeddix
+</listitem>
+
+</listitem>
+</itemizedlist>
+</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>Sharp Zaurus C700</term>
+<listitem>
+
+<para>
+<itemizedlist mark="bullet" spacing="compact">
+<listitem>
+CPU: PXA 250 XSCALE ARM 400Mhz
+</listiem>
+<listitem>
+RAM: 32MB
+</listitem>
+<listitem>
+Display: 640x480x16 LCD
+</listitem>
+<listitem>
+ GFX Chip: ATI IMAGEON 100
+</listitem>
+<listitem>
+
+X11: XFree86 v4.3, kdrive Xfbdev server
+</listitem>
+<listitem>
+
+kernel: 2.4.18-rmk1-embedix
+</listitem>
+
+</listitem>
+</itemizedlist>
+</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>HP Jornada 720</term>
+<listitem>
+
+<para>
+<itemizedlist mark="bullet" spacing="compact">
+<listitem>
+CPU: SA1110 StrongARM 206Mhz
+</listiem>
+<listitem>
+RAM: 32MB
+</listitem>
+<listitem>
+Display: 640x240x16 LCD
+</listitem>
+<listitem>
+
+GFX Chip: Epson SED1356
+</listitem>
+<listitem>
+
+X11: XFree86 v4.3, kdrive Xfbdev server
+</listitem>
+<listitem>
+
+kernel: 2.4.19-rmk6-pxa1-hh3-j720
+</listitem>
+
+</listitem>
+</itemizedlist>
+</para>
+
+</listitem>
+</varlistentry>
+
+</variablelist>
+<para>
+All devices have a bus speed of approximate 100Mhz.
+</para>
+<section><title>XServer Notes</title>
+
+<para>
+
+All machines have the same XServer and X library binarys. Both of
+which are from the XFree86 4.3 Distubution. The Xserver used is a
+kdrive Xfbdev server, more applicable to embedded type platforms. The
+XFree core server, used on many desktop machines, has a larger
+and more complex driver interface.
+
+</para>
+
+<para>
+
+kdrive Xfbdev is non accelerated and simply writes to the framebuffer
+device. Kdrive supports on the fly screen rotation via the XRandR
+extension, but lacks support for the DGA extension which is an older
+XFree extension that allows for direct fullscreen framebuffer access.
+
+</para>
+
+<para>
+
+The kdrive server was compiled to support tslib, a touchscreen
+abstraction library and patched to improve VT switching. Binary
+packages, the build config and the applied patches are available from
+<ulink
+url="http://handhelds.org/~mallum/xpkgs">http://handhelds.org/~mallum/xpkgs</ulink>
+
+</para>
+</section>
+
+</section>
+
+</para>
+
+</section>
+<section><title>Benchmark Results</title>
+<para>
+&ipaq
+&z5000d
+&c700
+&j720
+
+</para>
+
+</section>
+
+<section><title>Discussion</title>
+
+<section><title>Devices</title>
+
+<para>
+
+The tests produced some very interesting and varied results. There are
+very many factors that effect performance including BUS Speeds, CPU
+speed and features, fb driver implemtation etc and it would seem the
+results reflect this between devices.
+
+</para>
+<para>
+
+The Ipaq and Zaurus devices are very similar pieces of hardware and
+therefore produce very similar results. The C700 results are
+dissapointingly poor. The ATI chipset inside has a very impressive
+feature set for acceleration but its seems the specifications for this
+are not freely available to take advantage of. The GPL'd framebuffer
+driver for the chipset ( as used ) seems very limited.
+
+</para>
+<para>
+
+Linux support for the Jordana 720 is very immature, so I am untrusting
+of the Jordana's results, Im sure they could be much more optimized.
+
+</para>
+
+
+</section>
+
+<section><title>Access Methods</title>
+
+<para>
+
+As what would be expected Direct framebuffer access is
+fastest. However Direct framebuffer write access should theoretically
+be faster than what the results have indicate, when compared to
+device bus speeds.
+
+This could likely be due to a poor framebuffer driver or not quite
+optimal gcc code generation. It has been demonstrated to me that
+taking advantage of XSCALE CPU extensions and replacing the mempy with
+a custom assembler implementation can improve speeds by quite a large
+margin.
+
+</para>
+<para>
+
+There will always be some overhead executing blits with an XServer (
+input device management, context switching etc ). However running with
+an XServer does come with much more infrastructure than just a raw
+framebuffer and it should be noted that X is still responsive with the
+test running.
+
+</para>
+<para>
+
+As expected Client to Server Image transfer over the MIT-SHM is on
+average approximately 30% faster than a 'plain' image transfer over
+Sockets. MIT-SHM is mature stable extension with
+no known serious problems and it is used extensively by numerous
+toolkits and applications.
+
+</para>
+<para>
+
+MIT-SHM blit speeds under X can get very close to that of raw
+framebuffer access ( See C700 and J720 results ) and this should at
+least in theory be the case.
+
+However we see with both the Ipaq and Z5000d that X at best lags by
+approximately 30% compared to that of raw framebuffer access. Because
+of all the factors involved its difficult to suggest a reason for
+this, however the author of kdrive has been informed of the results
+and is looking into possible causes.
+
+</para>
+<para>
+
+Running the tests on my laptop ( power PC 550Mhz, radeon FB, 'Big'
+XFree with radeon driver ) I get equal speeds of approximately 50Mb/sec
+across raw FB, X MIT-SHM and DGA.
+
+</para>
+<para>
+
+It should be noted my SDL knowledge is very little. I had some
+problems with the SDL binaries used , notably they did not seem to be
+able to detect the full display size correctly and I had to manually
+pass dimensions to the executable.
+
+</para>
+
+</section>
+
+<section><title>Window / Application changing</title>
+
+<para>
+
+Apart from performance, one should also consider the various effects
+each method has on interactivity with the user. X provides a rich set
+of features for building GUI's whilst a raw framebuffer provides very
+little. Using something like SDL running on the framebuffer is a
+possible improvement to this situation.
+
+</para>
+
+<para>
+
+Running an application as a fullscreen window in X in a window managed
+environment shouldn't be a problem with a modern window
+manager. Switching between the fullscreen application and a normal
+application should be very strait forward. The window manager also
+should be able to provide features such as toggling the fullscreen mode of
+the application.
+
+</para>
+<para>
+
+With the fullscreen application running directly on the fb, it
+requires a 'VT Switch' for the X Server to free up the framebuffer
+device. Once switched the fullscreen application is outside of both
+the X Server and window managers control, which will lose flexibility.
+
+With my referenced patches , it should be noted that switching VT's
+from X to a raw framebuffer and back seems quite stable on the tested devices.
+
+</para>
+<para>
+
+There are other possible problems that should be considered if the
+platform uses 2 different methods for rendering general
+applications/GUI enviroment and for rendering software such as games
+and video playback. One is constancy of look and feel and another is
+how to interactions between the two environments - for example if the
+user is playing a game, how is he notified the battery is running low?
+Working round these problem cause code complexity and may limit
+overall functionality.
+
+</para>
+<para>
+
+Using the DGA extension would have similar problems to a VT switch, As
+it seems to write fullscreen out of the windows managers control and
+regular windows cannot be displayed above.
+
+</para>
+
+</section>
+
+<section><title>Network Transparency and Screen Rotation</title>
+
+<para>
+
+A unique feature of X Windows is its ability to run transparently
+across a net work meaning the X test can be run on one machine but
+output to the display of another. Toolkits like GTK2.2 and
+applications like Emacs can take advantage of this to transfer running
+application windows between displays.
+
+</para>
+
+<para>
+
+However only a plain image transfer will work - there is no shared
+memory across a network. The blitspeeds here are comparable to the
+available network bandwidth with something like a wireless connection
+quickly becoming saturated. Also it should be noted by default X does
+no compression of XImages transfered across the network.
+
+</para>
+<para>
+
+Direct blits to the frame buffer are incapable of network transparency.
+
+</para>
+<para>
+
+Also mentioned has been X Windows ability to rotate the display
+on the fly, via the XRandR extension. Whilst this kind of effect would
+be possible with the framebuffer, It would have to be done by the
+application writing to the framebuffer or by 'physically' rotating the
+framebuffer in the kernel driver.
+
+</para>
+
+<para>
+
+XRandR ( rotated ) effects results considerably. Blitspeeds can drop
+to one fifth of the maximum in certain orientations. With a rotated
+display, X writes via an internal 'shadow framebuffer' to the real
+framebuffer rather than directly. It is this which causes the
+slowdown.
+
+</para>
+<para>
+
+The Natural orientation of the framebuffer is unlikely to be the
+physical default orientation of the display. In these tests only the
+j720 has this setup. This further frustrates the xrandr problem where
+by X11 will be running at less than optimal speeds in the most
+regularly used orientation.
+
+</para>
+<para>
+
+It has been suggested a simple solution to this is to take advantage
+of newer PDA graphics chipsets ability to rotate the framebuffer in
+hardware. Though this is not a solution for platforms lacking a
+dedicated graphics chipset, solving the problem there would require
+complex changes to X's code base I believe.
+
+</para>
+
+</section>
+
+<section><title>Improvements and Future Directions</title>
+
+<para>
+
+Some ideas for future tests.
+
+</para>
+<para>
+<itemizedlist mark="bullet" spacing="compact">
+<listitem>
+Tests with newer PXA255 XSCALE based platforms such the the Sharp C750 and Ipaq 54xx series.
+</listiem>
+<listitem>
+Similar tests with Pocket PC and Qt Embedded Environments.
+</listiem>
+<listitem>
+Network Tests with very fast ( eg Gigabit ) Networking.
+</listiem>
+<listitem>
+Network Tests with a Compressing Proxy such as NX ( nomachine.org ).
+</listiem>
+<listitem>
+ASM optimised test scripts and results.
+</listitem>
+<listitem>
+Porting DGA to kdrive and testing.
+</listitem>
+</itemizedlist>
+</para>
+
+</section>
+
+
+</section>
+<section><title>References</title>
+<para>
+<itemizedlist mark="bullet" spacing="compact">
+<listitem>
+<ulink url="sources/">Test Source Code</ulink>
+</listitem>
+<listitem>
+<ulink url="http://handhelds.org/~mallum/xpkgs/">http://handhelds.org/~mallum/xpkgs/</ulink> ARM Binary X packaged used for tests
+</listitem>
+<listitem>
+<ulink url="http://xfree86.org">http://xfree86.org</ulink> - X servers, x11perf source etc.
+</listiem>
+<listitem>
+<ulink url="http://www.sdl.org">http://www.sdl.org</ulink> SDL library
+</listitem>
+<listitem>
+<ulink url="http://nomachine.org">nomachine.org</ulink> NX Compressing Proxy for X11.
+</listitem>
+</itemizedlist>
+
+</para>
+
+</section>
+
+</article>
+
diff --git a/ipaq-results.csv b/ipaq-results.csv
new file mode 100644
index 0000000..fd4c81a
--- /dev/null
+++ b/ipaq-results.csv
@@ -0,0 +1,34 @@
+Device, Blit, Orientation, Bandwidth ( Kb/Sec), Surface Creation time ( ms), Frames per sec
+ framebuffer via VT switch from X, Single Blit, na, 33367.1,7.8,222
+ X MIT-SHM PutImage, Single Blit, normal, 4127.6,26.4,27
+ X MIT-SHM PutImage, Multiple Blit (x), normal, 1640.3,26.7,10.2
+ X MIT-SHM PutImage, Multiple Blit (y), normal, 3382,26.4,22
+ X MIT-SHM PutImage, Single Blit, left, 7992.4,26.3,53
+ X MIT-SHM PutImage, Multiple Blit (x), left, 1899.6,26.5,12
+ X MIT-SHM PutImage, Multiple Blit (y), left, 4906.4,26.9,32.2
+ X MIT-SHM PutImage, Single Blit, right, 20616,26.3,136.9
+ X MIT-SHM PutImage, Multiple Blit (x), right, 2254,26.2,14.5
+ X MIT-SHM PutImage, Multiple Blit (y), right, 9705.1,26.6,64.1
+ X MIT-SHM PutImage, Single Blit, inverted, 4137,26.3,27
+ X MIT-SHM PutImage, Multiple Blit (x), inverted, 1633.4,26.8,10.2
+ X MIT-SHM PutImage, Multiple Blit (y), inverted, 3419.5,26.6,22.2
+ X PutImage, Single Blit, normal, 3506.6,25.9,23
+ X PutImage, Multiple Blit(x), normal, 1249.7,26.4,8
+ X PutImage, Multiple Blit(y), normal, 4321.5,26.5,28.4
+ X PutImage, Single Blit, left, 6068.8,26,39.9
+ X PutImage, Multiple Blit(x), left, 1400,27.2,9
+ X PutImage, Multiple Blit(y), left, 4779.5,26,31.4
+ X PutImage, Single Blit, right, 10905.9,26,72.1
+ X PutImage, Multiple Blit(x), right, 1446.8,29.8,9
+ X PutImage, Multiple Blit(y), right, 7521,26.1,49.6
+ X PutImage, Single Blit, inverted, 3505.1,26,22.9
+ X PutImage, Multiple Blit(x), inverted, 1251.4,26.1,8
+ X PutImage, Multiple Blit(y), inverted, 4379.8,26,28.7
+ X + SDL, Single Blit, normal , 224,61.4,24
+ X + SDL, Multiple Blit(x), normal , 1836.2,62.1,12
+ X + SDL, Multiple Blit(y), normal , 3605.8,63.8,24
+ framebuffer no X, Single Blit, na, 34120.5,7.6,226.9
+ framebuffer + SDL (swsurface), Single Blit, na, 866.2,0,0
+ framebuffer + SDL (hwsurface), Single Blit, na, 2338,61,222
+ framebuffer + SDL (hwsurface), Multiple Blit(x), na, 2531.6,61.5,17
+ framebuffer + SDL (hwsurface), Multiple Blit(y), na, 25789,61.1,174.8
diff --git a/results-c700.csv b/results-c700.csv
new file mode 100644
index 0000000..66f9ae5
--- /dev/null
+++ b/results-c700.csv
@@ -0,0 +1,27 @@
+Device, Blit, Orientation, Bandwidth ( Kb/Sec), Surface Creation time ( ms), Frames per sec
+ framebuffer via VT switch from X, Single Blit, na, 14678.7,14.8,24
+ X MIT-SHM PutImage, Single Blit, normal, 2062.5,72.3,3
+ X MIT-SHM PutImage, Multiple Blit (x), normal, 785.3,71.5,1
+ X MIT-SHM PutImage, Multiple Blit (y), normal, 1790.3,72,2
+ X MIT-SHM PutImage, Single Blit, left, 13005.3,72.8,20.9
+ X MIT-SHM PutImage, Multiple Blit (x), left, 1363.6,72.7,2
+ X MIT-SHM PutImage, Multiple Blit (y), left, 6027.8,72.8,9.7
+ X MIT-SHM PutImage, Single Blit, right, 8820.8,73.2,14
+ X MIT-SHM PutImage, Multiple Blit (x), right, 1232.3,72.9,2
+ X MIT-SHM PutImage, Multiple Blit (y), right, 4614.7,72.8,7
+ X MIT-SHM PutImage, Single Blit, inverted, 2064.1,72.3,3
+ X MIT-SHM PutImage, Multiple Blit (x), inverted, 787.7,72.3,1
+ X MIT-SHM PutImage, Multiple Blit (y), inverted, 1779.1,71.5,2
+ X PutImage, Single Blit, normal, 1939,70.9,3
+ X PutImage, Multiple Blit(x), normal, 523.3,72,0
+ X PutImage, Multiple Blit(y), normal, 1947.8,71.4,3
+ X PutImage, Single Blit, left, 6896.3,77.6,11
+ X PutImage, Multiple Blit(x), left, 643.8,79.9,1
+ X PutImage, Multiple Blit(y), left, 2704.1,77.9,4
+ X PutImage, Single Blit, right, 5455.5,72.6,8.9
+ X PutImage, Multiple Blit(x), right, 488.8,71.7,0
+ X PutImage, Multiple Blit(y), right, 2207,78.7,3
+ X PutImage, Single Blit, inverted, 1938.5,72,3
+ X PutImage, Multiple Blit(x), inverted, 526.7,72.9,0
+ X PutImage, Multiple Blit(y), inverted, 1936.2,70.8,3
+ framebuffer no X, Single Blit, na, 15031.3,14.2,24.9
diff --git a/results-j720.csv b/results-j720.csv
new file mode 100644
index 0000000..5bb7095
--- /dev/null
+++ b/results-j720.csv
@@ -0,0 +1,27 @@
+Device, Blit, Orientation, Bandwidth ( Kb/Sec), Surface Creation time ( ms), Frames per sec
+ framebuffer via VT switch from X, Single Blit, na, 3996,19,13
+ X MIT-SHM PutImage, Single Blit, normal, 3851.7,53.1,12
+ X MIT-SHM PutImage, Multiple Blit (x), normal, 1689.5,53.2,5
+ X MIT-SHM PutImage, Multiple Blit (y), normal, 3254.8,53.1,10
+ X MIT-SHM PutImage, Single Blit, left, 2286,53.1,7
+ X MIT-SHM PutImage, Multiple Blit (x), left, 1204.4,53,4
+ X MIT-SHM PutImage, Multiple Blit (y), left, 1697.1,53.3,5
+ X MIT-SHM PutImage, Single Blit, right, 2295.1,53.2,7
+ X MIT-SHM PutImage, Multiple Blit (x), right, 1203.4,53.1,4
+ X MIT-SHM PutImage, Multiple Blit (y), right, 1710.3,53.2,5
+ X MIT-SHM PutImage, Single Blit, inverted, 3424.1,53,11
+ X MIT-SHM PutImage, Multiple Blit (x), inverted, 1197.9,53,3.2
+ X MIT-SHM PutImage, Multiple Blit (y), inverted, 2826.7,53.1,9
+ X PutImage, Single Blit, normal, 2655.5,52.4,8
+ X PutImage, Multiple Blit(x), normal, 922.4,52.5,2.9
+ X PutImage, Multiple Blit(y), normal, 2283.3,52.5,7
+ X PutImage, Single Blit, left, 1808.6,52.6,5.9
+ X PutImage, Multiple Blit(x), left, 772.3,52.3,2
+ X PutImage, Multiple Blit(y), left, 2058.1,52.6,6.1
+ X PutImage, Single Blit, right, 1827.9,52.4,6
+ X PutImage, Multiple Blit(x), right, 772,52.5,2
+ X PutImage, Multiple Blit(y), right, 2074.8,52.3,6.2
+ X PutImage, Single Blit, inverted, 2433,52.5,8
+ X PutImage, Multiple Blit(x), inverted, 819.6,52.6,2
+ X PutImage, Multiple Blit(y), inverted, 2516.3,52.6,7.8
+ framebuffer no X, Single Blit, na, 3807.8,19,12.3
diff --git a/results-z5000d.csv b/results-z5000d.csv
new file mode 100644
index 0000000..554814a
--- /dev/null
+++ b/results-z5000d.csv
@@ -0,0 +1,27 @@
+Device, Blit, Orientation, Bandwidth ( Kb/Sec), Surface Creation time ( ms), Frames per sec
+ framebuffer via VT switch from X, Single Blit, na, 30284.9,8.5,201.7
+ X MIT-SHM PutImage, Single Blit, normal, 4056.1,38.8,26.7
+ X MIT-SHM PutImage, Multiple Blit (x), normal, 1605.7,36.6,10
+ X MIT-SHM PutImage, Multiple Blit (y), normal, 3418.8,27.3,22.2
+ X MIT-SHM PutImage, Single Blit, left, 17733.5,34.2,117.6
+ X MIT-SHM PutImage, Multiple Blit (x), left, 2097.6,28.8,13.6
+ X MIT-SHM PutImage, Multiple Blit (y), left, 6739.7,27.3,44.6
+ X MIT-SHM PutImage, Single Blit, right, 7824.6,34.2,52
+ X MIT-SHM PutImage, Multiple Blit (x), right, 1774.5,30.3,11
+ X MIT-SHM PutImage, Multiple Blit (y), right, 4239.8,30.9,27.8
+ X MIT-SHM PutImage, Single Blit, inverted, 3984,32.2,26.2
+ X MIT-SHM PutImage, Multiple Blit (x), inverted, 1588.1,44.5,10
+ X MIT-SHM PutImage, Multiple Blit (y), inverted, 3415.7,32.4,22
+ X PutImage, Single Blit, normal, 3389.9,60.7,22
+ X PutImage, Multiple Blit(x), normal, 778.7,26.3,5
+ X PutImage, Multiple Blit(y), normal, 2096.3,36.2,13.4
+ X PutImage, Single Blit, left, 9635.8,26.4,63.8
+ X PutImage, Multiple Blit(x), left, 999.1,30.5,6
+ X PutImage, Multiple Blit(y), left, 2874.8,28.4,18.7
+ X PutImage, Single Blit, right, 5651.2,33.1,37
+ X PutImage, Multiple Blit(x), right, 840.7,32.7,5
+ X PutImage, Multiple Blit(y), right, 2161.4,35,14
+ X PutImage, Single Blit, inverted, 3348.8,40.6,21.8
+ X PutImage, Multiple Blit(x), inverted, 782.1,26.6,5
+ X PutImage, Multiple Blit(y), inverted, 2083.8,42.9,13.4
+ framebuffer no X, Single Blit, na, 32502,8.1,216
diff --git a/results/ipaq-results.txt b/results/ipaq-results.txt
new file mode 100644
index 0000000..b976ea7
--- /dev/null
+++ b/results/ipaq-results.txt
@@ -0,0 +1,1055 @@
+framebuffer via VT switch from X, Single Blit, na
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33333 KB/Sec
+test-fb: Approx frame rate: 222 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33936 KB/Sec
+test-fb: Approx frame rate: 226 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33407 KB/Sec
+test-fb: Approx frame rate: 222 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 7 ms
+test-fb: Framebuffer write speed: 32751 KB/Sec
+test-fb: Approx frame rate: 218 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33407 KB/Sec
+test-fb: Approx frame rate: 222 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33333 KB/Sec
+test-fb: Approx frame rate: 222 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 7 ms
+test-fb: Framebuffer write speed: 34013 KB/Sec
+test-fb: Approx frame rate: 226 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32751 KB/Sec
+test-fb: Approx frame rate: 218 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33333 KB/Sec
+test-fb: Approx frame rate: 222 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 33407 KB/Sec
+test-fb: Approx frame rate: 222 frames/sec
+
+X MIT-SHM PutImage, Single Blit, normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4177 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4116 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4076 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4120 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4163 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4107 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4126 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4116 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4152 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4123 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1631 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1632 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1650 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1629 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1658 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1634 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1644 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1634 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1643 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1648 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), normal
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3416 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3317 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3384 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3386 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3395 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3333 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3439 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3438 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3334 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3378 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+
+X MIT-SHM PutImage, Single Blit, left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7982 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7970 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7991 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7978 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 7978 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 8116 KB/sec
+test-x: Approx frame rate: 54 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7995 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7987 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7987 KB/sec
+test-x: Approx frame rate: 53 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 7940 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1895 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1889 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1895 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1907 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1891 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 1905 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1909 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1900 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1903 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1902 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), left
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4993 KB/sec
+test-x: Approx frame rate: 33 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4918 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4849 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4913 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4841 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4890 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 5000 KB/sec
+test-x: Approx frame rate: 33 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4934 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4852 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4874 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+
+X MIT-SHM PutImage, Single Blit, right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 19685 KB/sec
+test-x: Approx frame rate: 131 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 20979 KB/sec
+test-x: Approx frame rate: 139 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 19946 KB/sec
+test-x: Approx frame rate: 132 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 20215 KB/sec
+test-x: Approx frame rate: 134 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 20718 KB/sec
+test-x: Approx frame rate: 138 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 20979 KB/sec
+test-x: Approx frame rate: 139 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 21994 KB/sec
+test-x: Approx frame rate: 146 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 19480 KB/sec
+test-x: Approx frame rate: 129 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 21008 KB/sec
+test-x: Approx frame rate: 140 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 21156 KB/sec
+test-x: Approx frame rate: 141 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2229 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2243 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2241 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2301 KB/sec
+test-x: Approx frame rate: 15 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2247 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2251 KB/sec
+test-x: Approx frame rate: 15 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2253 KB/sec
+test-x: Approx frame rate: 15 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2244 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2281 KB/sec
+test-x: Approx frame rate: 15 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2250 KB/sec
+test-x: Approx frame rate: 15 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), right
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 10087 KB/sec
+test-x: Approx frame rate: 67 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 9505 KB/sec
+test-x: Approx frame rate: 63 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 9140 KB/sec
+test-x: Approx frame rate: 60 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 9293 KB/sec
+test-x: Approx frame rate: 61 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 10295 KB/sec
+test-x: Approx frame rate: 68 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 29 ms
+test-x: X-SHM write speed: 9927 KB/sec
+test-x: Approx frame rate: 66 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 9842 KB/sec
+test-x: Approx frame rate: 65 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 9287 KB/sec
+test-x: Approx frame rate: 61 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 9416 KB/sec
+test-x: Approx frame rate: 62 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 10259 KB/sec
+test-x: Approx frame rate: 68 frames/sec
+
+X MIT-SHM PutImage, Single Blit, inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4173 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4133 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4131 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4126 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4126 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4124 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4125 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4153 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4152 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4127 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1594 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1652 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1637 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1628 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1648 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1621 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1657 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1633 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1640 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1624 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), inverted
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3458 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3413 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3275 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3416 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3506 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3444 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3341 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3509 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3418 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3415 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+
+X PutImage, Single Blit, normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3469 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3503 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3510 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3516 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3507 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3513 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3509 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 3515 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3512 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3512 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+
+X PutImage, Multiple Blit(x), normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1263 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1231 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1256 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1282 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 1253 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1247 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1228 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1244 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1246 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1247 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+
+X PutImage, Multiple Blit(y), normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 4314 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4285 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4255 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4351 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4356 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4424 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 31 ms
+test-x: Plain X write speed: 4296 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4187 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 4363 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4384 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+
+X PutImage, Single Blit, left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6070 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6112 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6024 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6053 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6070 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6137 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6112 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 5997 KB/sec
+test-x: Approx frame rate: 39 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6060 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6053 KB/sec
+test-x: Approx frame rate: 40 frames/sec
+
+X PutImage, Multiple Blit(x), left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1350 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1413 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1409 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1400 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 32 ms
+test-x: Plain X write speed: 1402 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1398 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1404 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1401 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1412 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 32 ms
+test-x: Plain X write speed: 1411 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+
+X PutImage, Multiple Blit(y), left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4552 KB/sec
+test-x: Approx frame rate: 30 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 5272 KB/sec
+test-x: Approx frame rate: 35 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4622 KB/sec
+test-x: Approx frame rate: 30 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4580 KB/sec
+test-x: Approx frame rate: 30 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4832 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4566 KB/sec
+test-x: Approx frame rate: 30 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 5195 KB/sec
+test-x: Approx frame rate: 34 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4623 KB/sec
+test-x: Approx frame rate: 30 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4730 KB/sec
+test-x: Approx frame rate: 31 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4823 KB/sec
+test-x: Approx frame rate: 32 frames/sec
+
+X PutImage, Single Blit, right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 10496 KB/sec
+test-x: Approx frame rate: 69 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 10853 KB/sec
+test-x: Approx frame rate: 72 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 10799 KB/sec
+test-x: Approx frame rate: 71 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 10861 KB/sec
+test-x: Approx frame rate: 72 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 10869 KB/sec
+test-x: Approx frame rate: 72 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 10869 KB/sec
+test-x: Approx frame rate: 72 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 11152 KB/sec
+test-x: Approx frame rate: 74 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 11094 KB/sec
+test-x: Approx frame rate: 73 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 11021 KB/sec
+test-x: Approx frame rate: 73 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 11045 KB/sec
+test-x: Approx frame rate: 73 frames/sec
+
+X PutImage, Multiple Blit(x), right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1448 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1427 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 1452 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1443 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1463 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 52 ms
+test-x: Plain X write speed: 1441 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1428 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1439 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 37 ms
+test-x: Plain X write speed: 1446 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1481 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+
+X PutImage, Multiple Blit(y), right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7861 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7704 KB/sec
+test-x: Approx frame rate: 51 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 7625 KB/sec
+test-x: Approx frame rate: 50 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 6675 KB/sec
+test-x: Approx frame rate: 44 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7418 KB/sec
+test-x: Approx frame rate: 49 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7708 KB/sec
+test-x: Approx frame rate: 51 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7676 KB/sec
+test-x: Approx frame rate: 51 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7731 KB/sec
+test-x: Approx frame rate: 51 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7625 KB/sec
+test-x: Approx frame rate: 50 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 7187 KB/sec
+test-x: Approx frame rate: 47 frames/sec
+
+X PutImage, Single Blit, inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3542 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3399 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3516 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3510 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3516 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3516 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3516 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3512 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3512 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3512 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+
+X PutImage, Multiple Blit(x), inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1266 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1246 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1243 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1238 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1256 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1255 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1269 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1250 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1252 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1239 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+
+X PutImage, Multiple Blit(y), inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4407 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4389 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4346 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4325 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4357 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4424 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4344 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4373 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4477 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 4356 KB/sec
+test-x: Approx frame rate: 29 frames/sec
+
+X + SDL, Single Blit, normal
+
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 62 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 65 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 224 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+
+X + SDL, Multiple Blit(x), normal
+
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 1834 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-sdl: write speed: 1836 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-sdl: write speed: 1834 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 71 ms
+test-sdl: write speed: 1835 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 1834 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-sdl: write speed: 1840 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 62 ms
+test-sdl: write speed: 1838 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-sdl: write speed: 1836 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 65 ms
+test-sdl: write speed: 1835 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 1840 KB/sec
+test-sdl: Approx frame rate: 12 frames/sec
+
+X + SDL, Multiple Blit(y), normal
+
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 3605 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 3604 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 78 ms
+test-sdl: write speed: 3606 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 70 ms
+test-sdl: write speed: 3605 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 3606 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 3608 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 3606 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 64 ms
+test-sdl: write speed: 3608 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-sdl: write speed: 3606 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+test-sdl: Surface ( 240 X 320, 150 KB ) Created in 61 ms
+test-sdl: write speed: 3604 KB/sec
+test-sdl: Approx frame rate: 24 frames/sec
+framebuffer no X, Single Blit, na
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 7 ms
+test-fb: Framebuffer write speed: 32679 KB/Sec
+test-fb: Approx frame rate: 217 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 7 ms
+test-fb: Framebuffer write speed: 34324 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 34246 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 7 ms
+test-fb: Framebuffer write speed: 34246 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 34324 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 34324 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 34246 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 34246 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 7 ms
+test-fb: Framebuffer write speed: 34324 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 34246 KB/Sec
+test-fb: Approx frame rate: 228 frames/sec
+framebuffer + SDL (swsurface), Single Blit, na
+test-sdl: write speed: 866 KB/sec
+test-sdl: write speed: 867 KB/sec
+test-sdl: write speed: 867 KB/sec
+test-sdl: write speed: 864 KB/sec
+test-sdl: write speed: 867 KB/sec
+test-sdl: write speed: 866 KB/sec
+test-sdl: write speed: 866 KB/sec
+test-sdl: write speed: 865 KB/sec
+test-sdl: write speed: 867 KB/sec
+test-sdl: write speed: 867 KB/sec
+
+framebuffer + SDL (hwsurface), Single Blit, na
+
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2338 KB/sec
+test-sdl: Approx frame rate: 222 frames/sec
+
+framebuffer + SDL (hwsurface), Multiple Blit(x), na
+
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2531 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 62 ms
+test-sdl: write speed: 2532 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 62 ms
+test-sdl: write speed: 2532 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2532 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2531 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 62 ms
+test-sdl: write speed: 2531 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2532 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 2532 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 62 ms
+test-sdl: write speed: 2532 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 62 ms
+test-sdl: write speed: 2531 KB/sec
+test-sdl: Approx frame rate: 17 frames/sec
+
+framebuffer + SDL (hwsurface), Multiple Blit(y), na
+
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25789 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25789 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25834 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25834 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25834 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25654 KB/sec
+test-sdl: Approx frame rate: 174 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 62 ms
+test-sdl: write speed: 25834 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25699 KB/sec
+test-sdl: Approx frame rate: 174 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25789 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
+test-sdl: Surface ( 320 X 240, 150 KB ) Created in 61 ms
+test-sdl: write speed: 25834 KB/sec
+test-sdl: Approx frame rate: 175 frames/sec
diff --git a/results/results-c700 b/results/results-c700
new file mode 100644
index 0000000..cc94f7c
--- /dev/null
+++ b/results/results-c700
@@ -0,0 +1,846 @@
+framebuffer via VT switch from X, Single Blit, na
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14684 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14691 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 14687 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14673 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14687 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14630 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14691 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14673 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 14687 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 14684 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+
+X MIT-SHM PutImage, Single Blit, normal
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2065 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 2070 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2069 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 2048 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2066 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 2070 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 2070 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2069 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2050 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2048 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), normal
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 785 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 785 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 784 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 782 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 787 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 787 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 787 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 784 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 786 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 786 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), normal
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1790 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 1790 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1781 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1794 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1788 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 1787 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1797 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1792 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1797 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 1787 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+
+X MIT-SHM PutImage, Single Blit, left
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13083 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13074 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 13083 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13037 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 13083 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13086 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13089 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 12355 KB/sec
+test-x: Approx frame rate: 20 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13080 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 13083 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), left
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1363 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1366 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1367 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1365 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1361 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1363 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1356 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1362 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1366 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1367 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), left
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 6096 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 6007 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 6093 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 6067 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 6121 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 5814 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 6017 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 5986 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 6079 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 5998 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+
+X MIT-SHM PutImage, Single Blit, right
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 76 ms
+test-x: X-SHM write speed: 8879 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8856 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8880 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8822 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8849 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8619 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8788 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8833 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 8846 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 8836 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), right
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1233 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1233 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1232 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1233 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1231 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1228 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1234 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1233 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1231 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1235 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), right
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4665 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4655 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 4677 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4582 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 4608 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4620 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4502 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4623 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4620 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 4595 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+
+X MIT-SHM PutImage, Single Blit, inverted
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2067 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2065 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 76 ms
+test-x: X-SHM write speed: 2070 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 2054 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2049 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 2065 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 2069 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 2067 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 2066 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 2069 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), inverted
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 788 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 783 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 789 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 790 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 784 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 790 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 790 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 789 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 787 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 787 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), inverted
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1791 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 1776 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 73 ms
+test-x: X-SHM write speed: 1788 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 1776 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1784 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: X-SHM write speed: 1772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 1771 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 1775 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: X-SHM write speed: 1770 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: X-SHM write speed: 1788 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+
+X PutImage, Single Blit, normal
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1945 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1939 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1940 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1943 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1943 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 1938 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1939 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1941 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1922 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1940 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X PutImage, Multiple Blit(x), normal
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 535 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 529 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 525 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 519 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 521 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 518 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 514 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 82 ms
+test-x: Plain X write speed: 516 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 529 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 527 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+
+X PutImage, Multiple Blit(y), normal
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1914 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 1947 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1916 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1946 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1949 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1942 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1986 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 81 ms
+test-x: Plain X write speed: 1971 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1983 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1924 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X PutImage, Single Blit, left
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 6902 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 6902 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 6877 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 6894 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 100 ms
+test-x: Plain X write speed: 6900 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 73 ms
+test-x: Plain X write speed: 6891 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 6899 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 6905 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 6898 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 100 ms
+test-x: Plain X write speed: 6895 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+
+X PutImage, Multiple Blit(x), left
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 638 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 642 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 644 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 95 ms
+test-x: Plain X write speed: 652 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 650 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 93 ms
+test-x: Plain X write speed: 641 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 108 ms
+test-x: Plain X write speed: 654 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 638 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 642 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 637 KB/sec
+test-x: Approx frame rate: 1 frames/sec
+
+X PutImage, Multiple Blit(y), left
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 109 ms
+test-x: Plain X write speed: 2710 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2716 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2687 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2709 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2679 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2694 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 95 ms
+test-x: Plain X write speed: 2718 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2735 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2709 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 2684 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+
+X PutImage, Single Blit, right
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 5478 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 5467 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 82 ms
+test-x: Plain X write speed: 5459 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 5339 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 5476 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 5476 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 5458 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 5453 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 5474 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 5475 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+
+X PutImage, Multiple Blit(x), right
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 470 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 480 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 485 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 487 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 484 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 507 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 480 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 497 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 513 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 485 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+
+X PutImage, Multiple Blit(y), right
+
+test-x: Surface ( 480 X 640, 600 KB ) Created in 94 ms
+test-x: Plain X write speed: 2168 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2215 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 119 ms
+test-x: Plain X write speed: 2227 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2215 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2210 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2104 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 2287 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2226 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 2216 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 480 X 640, 600 KB ) Created in 71 ms
+test-x: Plain X write speed: 2202 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X PutImage, Single Blit, inverted
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1941 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1922 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1939 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1942 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1940 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1940 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1941 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1941 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 82 ms
+test-x: Plain X write speed: 1937 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1942 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X PutImage, Multiple Blit(x), inverted
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 530 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 539 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 513 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 534 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 539 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 527 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 91 ms
+test-x: Plain X write speed: 519 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 528 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 518 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 520 KB/sec
+test-x: Approx frame rate: 0 frames/sec
+
+X PutImage, Multiple Blit(y), inverted
+
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1964 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1944 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 69 ms
+test-x: Plain X write speed: 1930 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1949 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1919 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1910 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1928 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 70 ms
+test-x: Plain X write speed: 1972 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 72 ms
+test-x: Plain X write speed: 1934 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 480, 600 KB ) Created in 69 ms
+test-x: Plain X write speed: 1912 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+framebuffer no X, Single Blit, na
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 14833 KB/Sec
+test-fb: Approx frame rate: 24 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15067 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15067 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 15060 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15071 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15067 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15003 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 15 ms
+test-fb: Framebuffer write speed: 15007 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15067 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
+test-fb: Surface ( 480 X 640, 600 KB ) Created in 14 ms
+test-fb: Framebuffer write speed: 15071 KB/Sec
+test-fb: Approx frame rate: 25 frames/sec
diff --git a/results/results-j720 b/results/results-j720
new file mode 100644
index 0000000..5b2abc5
--- /dev/null
+++ b/results/results-j720
@@ -0,0 +1,847 @@
+framebuffer via VT switch from X, Single Blit, na
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 3960 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 3960 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4005 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+
+X MIT-SHM PutImage, Single Blit, normal
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3861 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3840 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3853 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3851 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3854 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 3850 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3853 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3851 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3854 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3850 KB/sec
+test-x: Approx frame rate: 12 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), normal
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1690 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1688 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1692 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1688 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1688 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1689 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1692 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1688 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1692 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1688 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), normal
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3259 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3250 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3265 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3251 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3253 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3251 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3249 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 3269 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3247 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3254 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+
+X MIT-SHM PutImage, Single Blit, left
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2201 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2300 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2280 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2300 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2300 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2300 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2300 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 2301 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2300 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2278 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), left
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1207 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1202 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1208 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1207 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1207 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1205 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1208 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), left
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1723 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1698 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1699 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1704 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1700 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1700 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1702 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1637 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1705 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1703 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+
+X MIT-SHM PutImage, Single Blit, right
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2279 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2279 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 2279 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2302 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), right
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1207 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1207 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1206 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1202 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1206 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1206 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), right
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1739 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1707 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1710 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1707 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 1705 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1706 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1705 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1707 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1709 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1708 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+
+X MIT-SHM PutImage, Single Blit, inverted
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3409 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3444 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3449 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3409 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3409 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3414 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3409 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3444 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3409 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 3445 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), inverted
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1197 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1199 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1196 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1198 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1199 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1196 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1198 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1196 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 1200 KB/sec
+test-x: Approx frame rate: 4 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), inverted
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2840 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2826 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2822 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2827 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2824 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2829 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2824 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 54 ms
+test-x: X-SHM write speed: 2830 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2820 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: X-SHM write speed: 2825 KB/sec
+test-x: Approx frame rate: 9 frames/sec
+
+X PutImage, Single Blit, normal
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2655 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2656 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2655 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2656 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2655 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2656 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2655 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2656 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2655 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2656 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+
+X PutImage, Multiple Blit(x), normal
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 944 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 926 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 909 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 915 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 943 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 948 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 904 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 926 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 898 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 911 KB/sec
+test-x: Approx frame rate: 3 frames/sec
+
+X PutImage, Multiple Blit(y), normal
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2290 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2282 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2283 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2284 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2283 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2282 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2283 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2281 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2282 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2283 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+
+X PutImage, Single Blit, left
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1625 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1830 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+
+X PutImage, Multiple Blit(x), left
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 773 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 773 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 773 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 773 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 771 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+
+X PutImage, Multiple Blit(y), left
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2124 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2014 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2046 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2033 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2056 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2069 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2076 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2056 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2050 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2057 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+
+X PutImage, Single Blit, right
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1825 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1829 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1827 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1828 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 1830 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+
+X PutImage, Multiple Blit(x), right
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 771 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 774 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 770 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 771 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 771 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 774 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 772 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 774 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 771 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+
+X PutImage, Multiple Blit(y), right
+
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2067 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2114 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2037 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2058 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2055 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2098 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2051 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2093 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2101 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 240 X 640, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2074 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+
+X PutImage, Single Blit, inverted
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2432 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2432 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2431 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2433 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2433 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2434 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2434 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2435 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2433 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2433 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+
+X PutImage, Multiple Blit(x), inverted
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 819 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 818 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 818 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 820 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 819 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 822 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 820 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 820 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 820 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 820 KB/sec
+test-x: Approx frame rate: 2 frames/sec
+
+X PutImage, Multiple Blit(y), inverted
+
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2617 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2393 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2626 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2464 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2602 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2502 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 53 ms
+test-x: Plain X write speed: 2488 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2536 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2391 KB/sec
+test-x: Approx frame rate: 7 frames/sec
+test-x: Surface ( 640 X 240, 300 KB ) Created in 52 ms
+test-x: Plain X write speed: 2544 KB/sec
+test-x: Approx frame rate: 8 frames/sec
+
+framebuffer no X, Single Blit, na
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 2032 KB/Sec
+test-fb: Approx frame rate: 6 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4006 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4006 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4007 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4006 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4006 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 3996 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4006 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4007 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
+test-fb: Surface ( 640 X 240, 300 KB ) Created in 19 ms
+test-fb: Framebuffer write speed: 4006 KB/Sec
+test-fb: Approx frame rate: 13 frames/sec
diff --git a/results/results-z5000d b/results/results-z5000d
new file mode 100644
index 0000000..0fc9fe1
--- /dev/null
+++ b/results/results-z5000d
@@ -0,0 +1,846 @@
+framebuffer via VT switch from X, Single Blit, na
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30241 KB/Sec
+test-fb: Approx frame rate: 201 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 13 ms
+test-fb: Framebuffer write speed: 30549 KB/Sec
+test-fb: Approx frame rate: 203 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30303 KB/Sec
+test-fb: Approx frame rate: 202 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30303 KB/Sec
+test-fb: Approx frame rate: 202 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30303 KB/Sec
+test-fb: Approx frame rate: 202 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30000 KB/Sec
+test-fb: Approx frame rate: 200 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30303 KB/Sec
+test-fb: Approx frame rate: 202 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30241 KB/Sec
+test-fb: Approx frame rate: 201 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30303 KB/Sec
+test-fb: Approx frame rate: 202 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 30303 KB/Sec
+test-fb: Approx frame rate: 202 frames/sec
+
+X MIT-SHM PutImage, Single Blit, normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 32 ms
+test-x: X-SHM write speed: 4046 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4047 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4051 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 46 ms
+test-x: X-SHM write speed: 4074 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4050 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 56 ms
+test-x: X-SHM write speed: 4048 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 57 ms
+test-x: X-SHM write speed: 4058 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 32 ms
+test-x: X-SHM write speed: 4069 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 29 ms
+test-x: X-SHM write speed: 4059 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 57 ms
+test-x: X-SHM write speed: 4059 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1618 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 101 ms
+test-x: X-SHM write speed: 1597 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1596 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1597 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1613 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 1606 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1610 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 52 ms
+test-x: X-SHM write speed: 1608 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1599 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1613 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), normal
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3436 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 3423 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3374 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3478 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3412 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3423 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 3422 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3462 KB/sec
+test-x: Approx frame rate: 23 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 30 ms
+test-x: X-SHM write speed: 3393 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 3365 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+
+X MIT-SHM PutImage, Single Blit, left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 13345 KB/sec
+test-x: Approx frame rate: 88 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 37 ms
+test-x: X-SHM write speed: 18315 KB/sec
+test-x: Approx frame rate: 122 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 18248 KB/sec
+test-x: Approx frame rate: 121 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 53 ms
+test-x: X-SHM write speed: 18270 KB/sec
+test-x: Approx frame rate: 121 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 18203 KB/sec
+test-x: Approx frame rate: 121 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 45 ms
+test-x: X-SHM write speed: 18270 KB/sec
+test-x: Approx frame rate: 121 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 18248 KB/sec
+test-x: Approx frame rate: 121 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 48 ms
+test-x: X-SHM write speed: 18248 KB/sec
+test-x: Approx frame rate: 121 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 18094 KB/sec
+test-x: Approx frame rate: 120 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 18094 KB/sec
+test-x: Approx frame rate: 120 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 36 ms
+test-x: X-SHM write speed: 2125 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 2078 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2087 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2115 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2086 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 2109 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2101 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2104 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 36 ms
+test-x: X-SHM write speed: 2061 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 2110 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), left
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 6762 KB/sec
+test-x: Approx frame rate: 45 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 6759 KB/sec
+test-x: Approx frame rate: 45 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6787 KB/sec
+test-x: Approx frame rate: 45 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6762 KB/sec
+test-x: Approx frame rate: 45 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 6735 KB/sec
+test-x: Approx frame rate: 44 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6678 KB/sec
+test-x: Approx frame rate: 44 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6681 KB/sec
+test-x: Approx frame rate: 44 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6821 KB/sec
+test-x: Approx frame rate: 45 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6637 KB/sec
+test-x: Approx frame rate: 44 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 6775 KB/sec
+test-x: Approx frame rate: 45 frames/sec
+
+X MIT-SHM PutImage, Single Blit, right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7841 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 49 ms
+test-x: X-SHM write speed: 7849 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 7804 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 7824 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 38 ms
+test-x: X-SHM write speed: 7816 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 7816 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 31 ms
+test-x: X-SHM write speed: 7816 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 7836 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 56 ms
+test-x: X-SHM write speed: 7836 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 35 ms
+test-x: X-SHM write speed: 7808 KB/sec
+test-x: Approx frame rate: 52 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 1778 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1764 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1769 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 37 ms
+test-x: X-SHM write speed: 1771 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 35 ms
+test-x: X-SHM write speed: 1777 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 1778 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 41 ms
+test-x: X-SHM write speed: 1777 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1788 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1778 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1765 KB/sec
+test-x: Approx frame rate: 11 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), right
+test-x: Surface ( 320 X 240, 150 KB ) Created in 35 ms
+test-x: X-SHM write speed: 4222 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 4316 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4234 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4268 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4230 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4302 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 57 ms
+test-x: X-SHM write speed: 4152 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4132 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4279 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 4263 KB/sec
+test-x: Approx frame rate: 28 frames/sec
+
+X MIT-SHM PutImage, Single Blit, inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3749 KB/sec
+test-x: Approx frame rate: 24 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3943 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3974 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4038 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 4060 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3946 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 44 ms
+test-x: X-SHM write speed: 4055 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 3965 KB/sec
+test-x: Approx frame rate: 26 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 34 ms
+test-x: X-SHM write speed: 4052 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 60 ms
+test-x: X-SHM write speed: 4058 KB/sec
+test-x: Approx frame rate: 27 frames/sec
+
+X MIT-SHM PutImage, Multiple Blit (x), inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: X-SHM write speed: 1602 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 49 ms
+test-x: X-SHM write speed: 1598 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 56 ms
+test-x: X-SHM write speed: 1594 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 78 ms
+test-x: X-SHM write speed: 1586 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 56 ms
+test-x: X-SHM write speed: 1589 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1582 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 56 ms
+test-x: X-SHM write speed: 1588 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1587 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 45 ms
+test-x: X-SHM write speed: 1565 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 1590 KB/sec
+test-x: Approx frame rate: 10 frames/sec
+X MIT-SHM PutImage, Multiple Blit (y), inverted
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3433 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3445 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 32 ms
+test-x: X-SHM write speed: 3392 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: X-SHM write speed: 3429 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3429 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 57 ms
+test-x: X-SHM write speed: 3412 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 37 ms
+test-x: X-SHM write speed: 3381 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3419 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: X-SHM write speed: 3375 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 40 ms
+test-x: X-SHM write speed: 3442 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+
+X PutImage, Single Blit, normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 3420 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 36 ms
+test-x: Plain X write speed: 3389 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 77 ms
+test-x: Plain X write speed: 3391 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 77 ms
+test-x: Plain X write speed: 3353 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3357 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 77 ms
+test-x: Plain X write speed: 3353 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 3406 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 3374 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 117 ms
+test-x: Plain X write speed: 3421 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 117 ms
+test-x: Plain X write speed: 3435 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+
+X PutImage, Multiple Blit(x), normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 29 ms
+test-x: Plain X write speed: 784 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 774 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 778 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 780 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 779 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 781 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 787 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 778 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 778 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 768 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+
+X PutImage, Multiple Blit(y), normal
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2107 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 86 ms
+test-x: Plain X write speed: 2187 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 2073 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2050 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 2190 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 2029 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 67 ms
+test-x: Plain X write speed: 2036 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2131 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 29 ms
+test-x: Plain X write speed: 2075 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2085 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+
+X PutImage, Single Blit, left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 8125 KB/sec
+test-x: Approx frame rate: 54 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 9590 KB/sec
+test-x: Approx frame rate: 63 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 9874 KB/sec
+test-x: Approx frame rate: 65 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 9861 KB/sec
+test-x: Approx frame rate: 65 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 9633 KB/sec
+test-x: Approx frame rate: 64 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 9752 KB/sec
+test-x: Approx frame rate: 65 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 9966 KB/sec
+test-x: Approx frame rate: 66 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 9953 KB/sec
+test-x: Approx frame rate: 66 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 9677 KB/sec
+test-x: Approx frame rate: 64 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 9927 KB/sec
+test-x: Approx frame rate: 66 frames/sec
+
+X PutImage, Multiple Blit(x), left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 992 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 998 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1005 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1008 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 995 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 994 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 67 ms
+test-x: Plain X write speed: 997 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1003 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1000 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 999 KB/sec
+test-x: Approx frame rate: 6 frames/sec
+
+X PutImage, Multiple Blit(y), left
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 2829 KB/sec
+test-x: Approx frame rate: 18 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2860 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 44 ms
+test-x: Plain X write speed: 2898 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2846 KB/sec
+test-x: Approx frame rate: 18 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2933 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2870 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2914 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2807 KB/sec
+test-x: Approx frame rate: 18 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2916 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2875 KB/sec
+test-x: Approx frame rate: 19 frames/sec
+
+X PutImage, Single Blit, right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 5202 KB/sec
+test-x: Approx frame rate: 34 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 5683 KB/sec
+test-x: Approx frame rate: 37 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 5675 KB/sec
+test-x: Approx frame rate: 37 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 30 ms
+test-x: Plain X write speed: 5751 KB/sec
+test-x: Approx frame rate: 38 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 36 ms
+test-x: Plain X write speed: 5782 KB/sec
+test-x: Approx frame rate: 38 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 5681 KB/sec
+test-x: Approx frame rate: 37 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 5671 KB/sec
+test-x: Approx frame rate: 37 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 5664 KB/sec
+test-x: Approx frame rate: 37 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 5694 KB/sec
+test-x: Approx frame rate: 37 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 78 ms
+test-x: Plain X write speed: 5709 KB/sec
+test-x: Approx frame rate: 38 frames/sec
+
+X PutImage, Multiple Blit(x), right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 853 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 833 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 850 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 846 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 34 ms
+test-x: Plain X write speed: 838 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 842 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 29 ms
+test-x: Plain X write speed: 839 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 78 ms
+test-x: Plain X write speed: 840 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 832 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 834 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+
+X PutImage, Multiple Blit(y), right
+
+test-x: Surface ( 320 X 240, 150 KB ) Created in 36 ms
+test-x: Plain X write speed: 2163 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 29 ms
+test-x: Plain X write speed: 2187 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2166 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2155 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 37 ms
+test-x: Plain X write speed: 2153 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2135 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 29 ms
+test-x: Plain X write speed: 2169 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2177 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 87 ms
+test-x: Plain X write speed: 2150 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 320 X 240, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 2159 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+
+X PutImage, Single Blit, inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3169 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 77 ms
+test-x: Plain X write speed: 3399 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 77 ms
+test-x: Plain X write speed: 3358 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3381 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 68 ms
+test-x: Plain X write speed: 3237 KB/sec
+test-x: Approx frame rate: 21 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3386 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3363 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 3388 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3373 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 3434 KB/sec
+test-x: Approx frame rate: 22 frames/sec
+
+X PutImage, Multiple Blit(x), inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 784 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 783 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 786 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 29 ms
+test-x: Plain X write speed: 777 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 776 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 786 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 782 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 788 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 780 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 779 KB/sec
+test-x: Approx frame rate: 5 frames/sec
+
+X PutImage, Multiple Blit(y), inverted
+
+test-x: Surface ( 240 X 320, 150 KB ) Created in 27 ms
+test-x: Plain X write speed: 1987 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 37 ms
+test-x: Plain X write speed: 2114 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 2117 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 97 ms
+test-x: Plain X write speed: 2153 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 30 ms
+test-x: Plain X write speed: 2097 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 108 ms
+test-x: Plain X write speed: 2191 KB/sec
+test-x: Approx frame rate: 14 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 28 ms
+test-x: Plain X write speed: 2068 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 2077 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 25 ms
+test-x: Plain X write speed: 2062 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+test-x: Surface ( 240 X 320, 150 KB ) Created in 26 ms
+test-x: Plain X write speed: 1972 KB/sec
+test-x: Approx frame rate: 13 frames/sec
+framebuffer no X, Single Blit, na
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32467 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32537 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32537 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 9 ms
+test-fb: Framebuffer write speed: 32467 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32467 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32537 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32537 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32467 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32467 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
+test-fb: Surface ( 320 X 240, 150 KB ) Created in 8 ms
+test-fb: Framebuffer write speed: 32537 KB/Sec
+test-fb: Approx frame rate: 216 frames/sec
diff --git a/scripts/csvtodocbooktable.pl b/scripts/csvtodocbooktable.pl
new file mode 100755
index 0000000..4ea082e
--- /dev/null
+++ b/scripts/csvtodocbooktable.pl
@@ -0,0 +1,45 @@
+#!/usr/bin/perl
+
+my $file = shift or die "usage $0 <filename>";
+
+open( IN, "<$file") or die "cant open $file";
+
+@headers = split(/,/,<IN>);
+
+printf('<table frame="all">
+ <title>%s</title>
+ <tgroup cols="%i" align="char" charoff="50" char=".">
+ <thead>
+ <row>', $file, scalar(@headers));
+
+foreach $row (@headers)
+{
+ print "<entry>$row</entry>\n";
+}
+
+print "</row>
+ </thead>
+ <tbody>";
+
+while(<IN>)
+{
+ print "<row>\n";
+ $i = 0;
+ @headers = split(/,/, $_);
+ for $row (@headers)
+ {
+ if ($i > 2)
+ {
+ printf("<entry align='right'>%.2f</entry>\n", $row);
+ } else {
+ print "<entry>$row</entry>\n";
+ }
+ $i++;
+ }
+ print "</row>\n";
+}
+
+print "</tbody>
+ </tgroup>
+ </table>";
+
diff --git a/scripts/parse-results.pl b/scripts/parse-results.pl
new file mode 100755
index 0000000..0a981e3
--- /dev/null
+++ b/scripts/parse-results.pl
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+
+my $file = shift or die "usage $0 <filename>";
+
+my $runs_per_test = 10;
+my $cur_kbsec_total = 0;
+my $cur_ms_total = 0;
+my $cur_fsec_total = 0;
+my $header = "";
+
+open( IN, "<$file") or die "cant open $file";
+
+print "Device, Blit, Orientation, Bandwidth ( Kb/Sec), Surface Creation time ( ms), Frames per sec\n";
+
+while(<IN>)
+{
+ if (/^test-.*$/)
+ {
+ if (/(\d+)\s+KB\/sec/i)
+ {
+ $cur_kbsec_total += $1;
+ }
+ elsif (/(\d+)\s+ms/i)
+ {
+ $cur_ms_total += $1;
+ }
+ elsif (/(\d+)\s+frames\/sec/i)
+ {
+ $cur_fsec_total += $1;
+ }
+
+ } else {
+
+ if ($cur_kbsec_total > 0)
+ {
+ print " $header, ".($cur_kbsec_total/$runs_per_test).
+ ",".($cur_ms_total/$runs_per_test).
+ ",".($cur_fsec_total/$runs_per_test)."\n";
+ }
+
+ $cur_kbsec_total = 0;
+ $cur_ms_total = 0;
+ $cur_fsec_total = 0;
+ unless (/^\*+/ or /^\s+$/)
+ {
+ $header = $_ ;
+ chomp($header);
+ }
+ }
+}
+
+if ($cur_kbsec_total > 0)
+{
+ print " $header, ".($cur_kbsec_total/$runs_per_test).
+ ",".($cur_ms_total/$runs_per_test).
+ ",".($cur_fsec_total/$runs_per_test)."\n";
+}
+
+close(IN);
diff --git a/scripts/run-fb-tests.sh b/scripts/run-fb-tests.sh
new file mode 100755
index 0000000..f88c3e1
--- /dev/null
+++ b/scripts/run-fb-tests.sh
@@ -0,0 +1,147 @@
+#/bin/sh
+
+echo "framebuffer via VT switch from X, Single Blit, na"
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+./test-fb --verbose
+done
+
+for ORIENTATION in normal left right inverted
+do
+ echo
+ echo "X MIT-SHM PutImage, Single Blit, $ORIENTATION"
+ echo
+ xrandr -o $ORIENTATION
+ for i in 1 2 3 4 5 6 7 8 9 10
+ do
+ ./test-x --verbose
+ done
+ echo
+ echo "X MIT-SHM PutImage, Multiple Blit (x), $ORIENTATION"
+ echo
+ for i in 1 2 3 4 5 6 7 8 9 10
+ do
+ ./test-x --verbose --multiblit=x
+ done
+ echo "X MIT-SHM PutImage, Multiple Blit (y), $ORIENTATION"
+ for i in 1 2 3 4 5 6 7 8 9 10
+ do
+ ./test-x --verbose --multiblit=y
+ done
+
+done
+
+for ORIENTATION in normal left right inverted
+do
+ echo
+ echo "X PutImage, Single Blit, $ORIENTATION"
+ echo
+ xrandr -o $ORIENTATION
+ for i in 1 2 3 4 5 6 7 8 9 10
+ do
+ ./test-x --verbose --no-shm
+ done
+ echo
+ echo "X PutImage, Multiple Blit(x), $ORIENTATION"
+ echo
+ for i in 1 2 3 4 5 6 7 8 9 10
+ do
+ ./test-x --verbose --no-shm --multiblit=x
+ done
+ echo
+ echo "X PutImage, Multiple Blit(y), $ORIENTATION"
+ echo
+ for i in 1 2 3 4 5 6 7 8 9 10
+ do
+ ./test-x --verbose --no-shm --multiblit=y
+ done
+done
+
+xrandr -o normal
+
+if [ $DO_SHM_TESTS = 'y' ]
+then
+
+echo
+echo "X + SDL, Single Blit, normal "
+echo
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+ ./test-sdl --verbose -w 240 -h 320
+done
+
+echo
+echo "X + SDL, Multiple Blit(x), normal "
+echo
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+ ./test-sdl --verbose --multiblit=x -w 240 -h 320
+done
+
+echo
+echo "X + SDL, Multiple Blit(y), normal "
+echo
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+ ./test-sdl --verbose --multiblit=y -w 240 -h 320
+done
+
+fi
+
+killall gpe-dm
+killall Xfbdev
+
+echo "framebuffer no X, Single Blit, na"
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+./test-fb --verbose
+done
+
+if [ $DO_SHM_TESTS = 'y' ]
+then
+
+export SDL_NOMOUSE=1
+
+echo "framebuffer + SDL (swsurface), Single Blit, na"
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+./test-sdl -w 320 -h 240
+done
+
+echo
+echo "framebuffer + SDL (hwsurface), Single Blit, na"
+echo
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+./test-sdl --verbose -w 320 -h 240 --hwsurface
+done
+
+echo
+echo "framebuffer + SDL (hwsurface), Multiple Blit(x), na"
+echo
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+./test-sdl --verbose -w 320 -h 240 --multiblit=x --hwsurface
+done
+
+echo
+echo "framebuffer + SDL (hwsurface), Multiple Blit(y), na"
+echo
+
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+./test-sdl --verbose -w 320 -h 240 --multiblit=y --hwsurface
+done
+
+fi
+
+
+
diff --git a/tests/test-fb.c b/tests/test-fb.c
new file mode 100644
index 0000000..b49a548
--- /dev/null
+++ b/tests/test-fb.c
@@ -0,0 +1,362 @@
+/*
+ test-fb.c -- Measure fullscreen framebuffer write speed.
+ Version 0.5
+
+ Copyright (C) 2003 Matthew Allum, Openedhand Ltd.
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Matthew Allum mallum@openedhand.com
+
+ ===
+
+ Compile with
+
+ gcc -Wall -O2 test-fb.c -o test-fb
+
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <signal.h>
+#include <sys/fcntl.h>
+#include <sys/ioctl.h>
+#include <sys/mman.h>
+#include <sys/time.h>
+#include <linux/fb.h>
+#include <linux/kd.h>
+#include <linux/vt.h>
+
+#define VERSION "0.5"
+
+static int con_fd = -1, fb_fd, last_vt = -1;
+static struct fb_fix_screeninfo fix;
+static struct fb_var_screeninfo vinfo;
+static struct fb_cmap cmap;
+static char *fbuffer;
+static int fb_fd=0;
+static int xres, yres;
+static int Verbose = 0;
+static int TotalCycles = 100;
+
+static char *defaultfbdevice = "/dev/fb0";
+static char *defaultconsoledevice = "none";
+
+static int WantMultiBlit = 0;
+
+static int
+framebuffer_open (char *fbdevice,
+ char *consoledevice);
+static void
+framebuffer_blit(void);
+
+static void
+framebuffer_close(void);
+
+static unsigned long long
+GetTimeInMillis(void)
+{
+ struct timeval tp;
+
+ gettimeofday(&tp, 0);
+ return (unsigned long long)(tp.tv_sec * 1000) + (tp.tv_usec / 1000);
+}
+
+static int
+framebuffer_open (char *fbdevice,
+ char *consoledevice)
+{
+ struct vt_stat vts;
+ char vtname[128];
+ int fd, nr;
+ unsigned short col[2];
+
+ if (fbdevice == NULL)
+ fbdevice = defaultfbdevice;
+
+ if (consoledevice == NULL)
+ consoledevice = defaultconsoledevice;
+
+ if (strcmp(consoledevice,"none") != 0)
+ {
+ sprintf(vtname,"%s%d", consoledevice, 1);
+ fd = open(vtname, O_WRONLY);
+
+ if (fd < 0)
+ {
+ perror("open consoledevice");
+ return -1;
+ }
+
+ /* Now get next available terminal */
+ if (ioctl(fd, VT_OPENQRY, &nr) < 0)
+ {
+ perror("ioctl VT_OPENQRY");
+ return -1;
+ }
+ close(fd); /* Close initial */
+
+ /* Now open next available */
+ sprintf(vtname, "%s%d", consoledevice, nr);
+
+ con_fd = open(vtname, O_RDWR | O_NDELAY);
+ if (con_fd < 0)
+ {
+ perror("open tty");
+ return -1;
+ }
+
+ /* Get info about it */
+ if (ioctl(con_fd, VT_GETSTATE, &vts) == 0)
+ last_vt = vts.v_active;
+
+ /* Activate it */
+ if (ioctl(con_fd, VT_ACTIVATE, nr) < 0)
+ {
+ perror("VT_ACTIVATE");
+ close(con_fd);
+ return -1;
+ }
+
+ /* Wait for it to activate */
+ if (ioctl(con_fd, VT_WAITACTIVE, nr) < 0)
+ {
+ perror("VT_WAITACTIVE");
+ close(con_fd);
+ return -1;
+ }
+
+ /* Set the graphics mode */
+ if (ioctl(con_fd, KDSETMODE, KD_GRAPHICS) < 0)
+ {
+ perror("KDSETMODE");
+ close(con_fd);
+ return -1;
+ }
+ }
+
+ /* Now open the framebuffer */
+ fb_fd = open(fbdevice, O_RDWR);
+ if (fb_fd == -1)
+ {
+ perror("open fbdevice");
+ return -1;
+ }
+
+ /* Get the framebuffer info */
+ if (ioctl(fb_fd, FBIOGET_FSCREENINFO, &fix) < 0)
+ {
+ perror("ioctl FBIOGET_FSCREENINFO");
+ close(fb_fd);
+ return -1;
+ }
+
+ if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo) < 0)
+ {
+ perror("ioctl FBIOGET_VSCREENINFO");
+ close(fb_fd);
+ return -1;
+ }
+
+ xres = vinfo.xres;
+ yres = vinfo.yres;
+
+ cmap.start = 0;
+ cmap.len = 2;
+ cmap.red = col;
+ cmap.green = col;
+ cmap.blue = col;
+ cmap.transp = NULL;
+
+ col[0] = 0;
+ col[1] = 0xffff;
+
+ /*
+ if(var.bits_per_pixel==8)
+ {
+ if (ioctl(fb_fd, FBIOPUTCMAP, &cmap) < 0)
+ {
+ perror("ioctl FBIOPUTCMAP");
+ close(fb_fd);
+ return -1;
+ }
+ }
+ */
+
+ if(vinfo.bits_per_pixel != 16)
+ {
+ perror("Framebuffer is not 16bpp.");
+ close(fb_fd);
+ return -1;
+ }
+
+ fbuffer = mmap(NULL, fix.smem_len,
+ PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED,
+ fb_fd, 0);
+
+ if (fbuffer == (char *)-1)
+ {
+ perror("mmap framebuffer");
+ close(fb_fd);
+ return -1;
+ }
+
+ memset(fbuffer,0,fix.smem_len);
+
+ return 0;
+}
+
+static void
+framebuffer_close(void)
+{
+ munmap(fbuffer, fix.smem_len);
+ close(fb_fd);
+
+ if(con_fd != -1)
+ {
+
+ if (ioctl(con_fd, KDSETMODE, KD_TEXT) < 0)
+ perror("KDSETMODE");
+
+ if (last_vt >= 0)
+ if (ioctl(con_fd, VT_ACTIVATE, last_vt))
+ perror("VT_ACTIVATE");
+
+ close(con_fd);
+ }
+}
+
+static void
+framebuffer_blit(void)
+{
+ int x = 0, y = 0, location = 0;
+ char *data = NULL;
+ int size = vinfo.yres * vinfo.xres * (vinfo.bits_per_pixel/8);
+ unsigned long long start_clock,finish_clock,diff_clock;
+ int cycles = 0;
+
+ data = malloc( size );
+
+ start_clock = GetTimeInMillis();
+
+ for ( y = 0; y < vinfo.yres; y++ )
+ for ( x = 0; x < vinfo.xres; x++ )
+ {
+ /* Random colours */
+ int b = 10;
+ int g = ( x - 100 ) / 6;
+ int r = 31 - ( y - 100 ) / 16;
+
+ location = (x + vinfo.xoffset) * (vinfo.bits_per_pixel/8) +
+ (y + vinfo.yoffset) * fix.line_length;
+
+ *((unsigned short int*)(data + location)) = (r<<11 | g << 5 | b);
+ }
+
+ finish_clock = GetTimeInMillis();
+
+ if (Verbose)
+ {
+ printf("test-fb: Surface ( %i X %i, %i KB ) Created in %lli ms\n",
+ vinfo.xres, vinfo.yres, size / 1024, finish_clock - start_clock);
+ }
+
+ start_clock = GetTimeInMillis();
+
+ if (WantMultiBlit)
+ {
+ for (cycles=0; cycles<TotalCycles; cycles++)
+ {
+ for (y = 0; y <vinfo.yres; y++)
+ {
+ memcpy(fbuffer + ( y * vinfo.xres * 2),
+ data + ( y * vinfo.xres * 2),
+ vinfo.xres * 2 );
+ }
+ }
+ }
+ else
+ {
+ for (cycles=0; cycles<100; cycles++)
+ memcpy(fbuffer, data, size);
+ }
+
+ finish_clock = GetTimeInMillis();
+
+ diff_clock = finish_clock - start_clock;
+
+ printf("test-fb: Framebuffer write speed: %lli KB/Sec\n",
+ ( (unsigned long long) (size/1024) * 1000 * cycles) / diff_clock);
+
+ if (Verbose)
+ {
+ printf("test-fb: Approx frame rate: %lli frames/sec\n",
+ (unsigned long long) cycles*1000 / diff_clock);
+ }
+
+
+ free(data);
+}
+
+static void
+usage(void)
+{
+ fprintf(stderr,
+ "test-fb " VERSION "\n"
+ "usage: test-fb [--verbose] [--multiblit] [--cycles <int>]\n");
+ exit(1);
+}
+
+int
+main (int argc, char **argv)
+{
+ int i;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcmp ("--verbose", argv[i]) || !strcmp ("-v", argv[i])) {
+ Verbose = 1;
+ continue;
+ }
+ if (!strcmp ("--multiblit", argv[i])) {
+ WantMultiBlit = 1;
+ continue;
+ }
+
+ if (!strcmp ("--cycles", argv[i])) {
+ if (++i>=argc) usage ();
+ TotalCycles = atoi(argv[i]);
+ if (TotalCycles < 1) usage();
+ continue;
+ }
+
+ usage();
+ }
+
+ if (framebuffer_open(NULL, NULL) == -1)
+ {
+ perror("framebuffer_open failed.");
+ exit(0);
+ }
+
+
+ framebuffer_blit();
+
+ framebuffer_close();
+
+ return 0;
+}
diff --git a/tests/test-sdl.c b/tests/test-sdl.c
new file mode 100644
index 0000000..d336132
--- /dev/null
+++ b/tests/test-sdl.c
@@ -0,0 +1,246 @@
+/*
+ test-sdl.c -- Measure fullscreen SDL write speed.
+ Version 0.4
+
+ Copyright (C) 2003 Matthew Allum, Openedhand Ltd.
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Matthew Allum mallum@openedhand.com
+
+ ===
+
+ Compile with
+
+ gcc `sdl-config --cflags` `sdl-config --libs` test-sdl.c -o test-sdl
+
+*/
+
+#include "SDL.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/time.h>
+
+#define VERSION "0.4"
+
+#define WIDTH 1152
+#define HEIGHT 768
+
+enum {
+ MULTIBLIT_NONE = 0,
+ MULTIBLIT_X,
+ MULTIBLIT_Y,
+};
+
+
+static unsigned long long
+GetTimeInMillis(void)
+{
+ struct timeval tp;
+
+ gettimeofday(&tp, 0);
+ return (unsigned long long)(tp.tv_sec * 1000) + (tp.tv_usec / 1000);
+}
+
+static void
+usage(void)
+{
+ fprintf(stderr,
+ "test-sdl " VERSION "\n"
+ "usage: test-sdl [-w <win width>] [-h <win height>] [--hwsurface] [--fullscreen] [--cycles <int>]\n");
+ exit(1);
+}
+
+int main(int argc, char **argv)
+{
+ int WantMultiBlit = MULTIBLIT_NONE;
+ SDL_VideoInfo *vid_info;
+ SDL_Surface *screen, *buffer;
+ Uint32 color;
+ Uint16 *bufp;
+ SDL_Rect dest, rect_part_src, rect_part_dest;
+ int x,y,i;
+ int cycles, TotalCycles = 100;
+ unsigned long long start_clock, finish_clock, diff_clock;
+
+ int width = WIDTH;
+ int height = HEIGHT;
+
+ int Verbose = 0;
+ int SurfaceType = SDL_SWSURFACE;
+
+ for (i = 1; i < argc; i++) {
+
+ if (!strcmp ("--width", argv[i]) || !strcmp ("-w", argv[i])) {
+ if (++i>=argc) usage ();
+ width = atoi(argv[i]);
+ if (width < 1) usage();
+ continue;
+ }
+
+ if (!strcmp ("--height", argv[i]) || !strcmp ("-h", argv[i])) {
+ if (++i>=argc) usage ();
+ height = atoi(argv[i]);
+ if (height < 1) usage();
+ continue;
+ }
+
+ if (!strcmp ("--cycles", argv[i])) {
+ if (++i>=argc) usage ();
+ TotalCycles = atoi(argv[i]);
+ if (TotalCycles < 1) usage();
+ continue;
+ }
+
+ if (!strcmp ("--fullscreen", argv[i]) ) {
+ SurfaceType = SDL_FULLSCREEN;
+ continue;
+ }
+
+ if (!strcmp ("--hwsurface", argv[i]) ) {
+ SurfaceType = SDL_HWSURFACE;
+ continue;
+ }
+
+ if (!strcmp ("--multiblit=x", argv[i]) ) {
+ WantMultiBlit = MULTIBLIT_X;
+ continue;
+ }
+
+ if (!strcmp ("--multiblit=y", argv[i]) ) {
+ WantMultiBlit = MULTIBLIT_Y;
+ continue;
+ }
+
+ if (!strcmp ("--verbose", argv[i]) || !strcmp ("-v", argv[i])) {
+ Verbose = 1;
+ continue;
+ }
+
+ usage();
+ }
+
+ if((SDL_Init(SDL_INIT_VIDEO)==-1)) {
+ printf("Could not initialize SDL: %s.\n", SDL_GetError());
+ exit(-1);
+ }
+
+ SDL_GetVideoInfo();
+
+ /* XXX FULLSCREEN */
+ screen = SDL_SetVideoMode(width, height, 16, SurfaceType);
+
+ buffer = SDL_CreateRGBSurface(SDL_HWSURFACE, width, height, 16,
+ screen->format->Rmask, screen->format->Gmask,
+ screen->format->Bmask, screen->format->Amask);
+
+ start_clock = GetTimeInMillis();
+
+ for (x=0; x < width; x++)
+ for (y=0; y < height; y++)
+ {
+ int b = (x + y) % 255;
+ int g = x % 255;
+ int r = y % 255;
+
+ color = SDL_MapRGB(buffer->format, r, g, b);
+ bufp = (Uint16 *)buffer->pixels + y*buffer->pitch/2 + x;
+ *bufp = color;
+ }
+
+ finish_clock = GetTimeInMillis();
+
+ if (Verbose)
+ {
+ printf("test-sdl: Surface ( %i X %i, %i KB ) Created in %lli ms\n",
+ width, height, (width*height*2) / 1024, finish_clock - start_clock);
+ }
+
+
+ dest.x = 0;
+ dest.y = 0;
+ dest.w = buffer->w;
+ dest.h = buffer->h;
+
+ buffer = SDL_DisplayFormat(buffer);
+
+ start_clock = GetTimeInMillis();
+
+ switch (WantMultiBlit)
+ {
+ case MULTIBLIT_NONE:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ SDL_BlitSurface(buffer, NULL, screen, &dest);
+ SDL_UpdateRects(screen, 1, &dest);
+ }
+ break;
+ case MULTIBLIT_Y:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ rect_part_dest.x = rect_part_src.x = 0;
+ rect_part_dest.w = rect_part_src.w = width;
+ rect_part_dest.h = rect_part_src.h = 1;
+ for (y = 0; y < height; y++)
+ {
+ i = y + cycles;
+ if (i >= height) i -= height;
+ rect_part_src.y = y;
+ rect_part_dest.y = i;
+ SDL_BlitSurface(buffer, &rect_part_src, screen, &rect_part_dest);
+ }
+ SDL_UpdateRects(screen, 1, &dest);
+ }
+ break;
+ case MULTIBLIT_X:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ rect_part_dest.y = rect_part_src.y = 0;
+ rect_part_dest.w = rect_part_src.w = 1;
+ rect_part_dest.h = rect_part_src.h = height;
+ for (x = 0; x < width; x++)
+ {
+ i = x + cycles;
+ if (i >= width) i -= width;
+ rect_part_src.x = x;
+ rect_part_dest.x = i;
+ SDL_BlitSurface(buffer, &rect_part_src, screen, &rect_part_dest);
+ }
+ SDL_UpdateRects(screen, 1, &dest);
+ }
+ break;
+ }
+
+
+ finish_clock = GetTimeInMillis();
+ diff_clock = finish_clock - start_clock;
+
+ printf("test-sdl: write speed: %lli KB/sec\n",
+ ( (unsigned long long)((width*height*2)/1024) * 1000 * i) / diff_clock);
+
+ if (Verbose)
+ {
+ printf("test-sdl: Approx frame rate: %lli frames/sec\n",
+ (unsigned long long) cycles*1000 / diff_clock);
+ }
+
+
+ SDL_Quit();
+
+ exit(0);
+}
diff --git a/tests/test-x.c b/tests/test-x.c
new file mode 100644
index 0000000..e2ba15f
--- /dev/null
+++ b/tests/test-x.c
@@ -0,0 +1,424 @@
+/*
+ test-x.c -- Measure fullscreen write speed under X.
+ Version 0.6
+
+ Copyright (C) 2003 Matthew Allum, Openedhand Ltd.
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Matthew Allum mallum@openedhand.com
+
+ ===
+
+ Compile with
+
+ gcc -Wall -O2 -L/usr/X11R6/lib -lX11 -lXext test-x.c -o test-x
+
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xatom.h>
+
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <sys/time.h>
+#include <X11/extensions/XShm.h>
+#include <X11/Xmd.h>
+
+#define VERSION "0.6"
+
+enum {
+ MULTIBLIT_NONE = 0,
+ MULTIBLIT_X,
+ MULTIBLIT_Y,
+};
+
+static Display *dpy;
+static int scr;
+static Visual *vis;
+static Window root, win;
+static int depth;
+static GC gc;
+
+static Bool have_shm;
+static int width, height;
+
+static Bool Verbose;
+static int WantMultiBlit = MULTIBLIT_NONE;
+static int TotalCycles = 100;
+
+static unsigned long long
+GetTimeInMillis(void)
+{
+ struct timeval tp;
+
+ gettimeofday(&tp, 0);
+ return (unsigned long long)(tp.tv_sec * 1000) + (tp.tv_usec / 1000);
+}
+
+static int
+x_error_handler(Display *display,
+ XErrorEvent *e)
+{
+ char msg[255];
+
+ XGetErrorText(display, e->error_code, msg, 255);
+ fprintf(stderr, "test-x: X error (%#lx): %s (opcode: %i)\n",
+ e->resourceid, msg, e->request_code);
+ fprintf(stderr, "test-x: Test Aborted!\n");
+
+ exit(1);
+}
+
+static void
+x_open(void)
+{
+ XGCValues gcv;
+ Atom atoms_WINDOW_STATE, atoms_WINDOW_STATE_FULLSCREEN;
+
+ /* Setup various X params */
+ scr = DefaultScreen(dpy);
+ root = DefaultRootWindow(dpy);
+ depth = DefaultDepth(dpy, scr);
+ vis = DefaultVisual(dpy, scr);
+ root = RootWindow(dpy, scr);
+ width = DisplayWidth(dpy, scr);
+ height = DisplayHeight(dpy, scr);
+
+ if (depth != 16)
+ {
+ fprintf(stderr, "Display depth is not 16bpp\n");
+ exit(1);
+ }
+
+ gcv.foreground = BlackPixel(dpy, scr);
+ gcv.background = WhitePixel(dpy, scr);
+ gcv.graphics_exposures = False;
+
+ gc = XCreateGC( dpy, root, GCForeground | GCBackground | GCGraphicsExposures
+ , &gcv);
+
+ /* Hints for a fullscreen window */
+ atoms_WINDOW_STATE
+ = XInternAtom(dpy, "_NET_WM_STATE",False);
+ atoms_WINDOW_STATE_FULLSCREEN
+ = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN",False);
+
+ /* Create the Window */
+ win = XCreateSimpleWindow(dpy, root, 0, 0,
+ width, height, 0,
+ BlackPixel(dpy, scr),
+ WhitePixel(dpy, scr));
+
+ /* Set the hints needed */
+ XChangeProperty(dpy, win, atoms_WINDOW_STATE, XA_ATOM, 32,
+ PropModeReplace,
+ (unsigned char *) &atoms_WINDOW_STATE_FULLSCREEN, 1);
+
+ XMapWindow(dpy, win);
+
+ XFlush(dpy);
+}
+
+static void
+x_blit(void)
+{
+ int bitmap_pad;
+ int x,y,i;
+
+ XImage *ximg;
+ XShmSegmentInfo shminfo;
+ Bool shm_success = False;
+ unsigned long long start_clock, finish_clock, diff_clock;
+ int size, cycles = 0;
+
+ /* Create the X Image */
+ if (have_shm)
+ {
+ ximg = XShmCreateImage(dpy, vis, depth,
+ ZPixmap, NULL, &shminfo,
+ width, height );
+
+ shminfo.shmid=shmget(IPC_PRIVATE,
+ ximg->bytes_per_line * ximg->height,
+ IPC_CREAT|0777);
+ shminfo.shmaddr = ximg->data = shmat(shminfo.shmid,0,0);
+
+ if (ximg->data == (char *)-1)
+ {
+ fprintf(stderr, "SHM can't attach SHM Segment for Shared XImage, falling back to XImages\n");
+ XDestroyImage(ximg);
+ shmctl(shminfo.shmid, IPC_RMID, 0);
+ }
+ else
+ {
+ shminfo.readOnly=True;
+ XShmAttach(dpy, &shminfo);
+ shm_success = True;
+ }
+ }
+
+ if (!shm_success)
+ {
+ bitmap_pad = 16;
+
+ ximg = XCreateImage( dpy, vis, depth,
+ ZPixmap, 0, 0,
+ width, height, bitmap_pad, 0);
+
+ ximg->data = malloc( ximg->bytes_per_line * height );
+ }
+
+ size = ximg->bytes_per_line * ximg->height;
+
+ start_clock = GetTimeInMillis();
+
+ for(y=0; y < height; y++)
+ for(x=0; x < width; x++)
+ {
+ int b = 10;
+ int g = ( x - 100 ) / 6;
+ int r = 31 - ( y - 100 ) / 16;
+
+ XPutPixel(ximg, x, y, (r<<11 | g << 5 | b));
+ }
+
+ finish_clock = GetTimeInMillis();
+
+ if (Verbose)
+ {
+ printf("test-x: Surface ( %i X %i, %i KB ) Created in %lli ms\n",
+ width, height, size / 1024, finish_clock - start_clock);
+ }
+
+ if (WantMultiBlit == MULTIBLIT_Y
+ && height < TotalCycles)
+ {
+ fprintf(stderr,
+ "test-x: *warning* Reducing Total Blits to fit Display Size\n");
+ TotalCycles = height;
+ }
+
+ if (WantMultiBlit == MULTIBLIT_X
+ && width < TotalCycles)
+ {
+ fprintf(stderr,
+ "test-x: *warning* Reducing Total Blits to fit Display Size\n");
+ TotalCycles = width;
+ }
+
+ start_clock = GetTimeInMillis();
+
+ if (!shm_success)
+ {
+ switch (WantMultiBlit)
+ {
+ case MULTIBLIT_NONE:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ XPutImage( dpy, win, gc, ximg, 0, 0, 0, 0, width, height);
+ break;
+ case MULTIBLIT_Y:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ for (y = 0; y < height; y++)
+ {
+ i = y + cycles;
+ if (i >= height) i -= height;
+ XPutImage(dpy, win, gc, ximg, 0, y, 0, i, width, 1 );
+ }
+ }
+ break;
+ case MULTIBLIT_X:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ for (x = 0; x < width; x++)
+ {
+ i = x + cycles;
+ if (i >= width) i -= width;
+ XPutImage(dpy, win, gc, ximg, x, 0, i, 0, 1, height );
+ }
+ }
+ break;
+ }
+ }
+ else
+ {
+ switch (WantMultiBlit)
+ {
+ case MULTIBLIT_NONE:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ XShmPutImage( dpy, win, gc, ximg, 0, 0, 0, 0, width, height, 1);
+ XSync(dpy, False);
+ }
+
+ break;
+ case MULTIBLIT_Y:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ for (y = 0; y < height; y++)
+ {
+ i = y + cycles;
+ if (i >= height) i -= height;
+ XShmPutImage(dpy, win, gc, ximg, 0, y, 0, i, width, 1, 1);
+ }
+
+ /*
+ XShmPutImage(dpy, win, gc, ximg, 0, 0, 0, cycles,
+ width, height-cycles, 1 );
+ XShmPutImage(dpy, win, gc, ximg, 0, height-cycles,
+ 0, 0, width, cycles, 1 );
+ */
+
+ XSync(dpy, False);
+ }
+ break;
+ case MULTIBLIT_X:
+ for (cycles=0; cycles < TotalCycles; cycles++)
+ {
+ for (x = 0; x < width; x++)
+ {
+ i = x + cycles;
+ if (i >= width) i -= width;
+ XShmPutImage(dpy, win, gc, ximg, x, 0, i, 0, 1, height, 1);
+ }
+
+ /*
+ XShmPutImage(dpy, win, gc, ximg, 0, 0, cycles, 0,
+ width-cycles, height, 1 );
+ XShmPutImage(dpy, win, gc, ximg, width-cycles, 0,
+ 0, 0, cycles, height, 1 );
+ */
+
+ XSync(dpy, False);
+ }
+ break;
+ }
+ }
+
+ finish_clock = GetTimeInMillis();
+ diff_clock = finish_clock - start_clock;
+
+ printf("test-x: %s write speed: %lli KB/sec\n",
+ shm_success ? "X-SHM" : "Plain X",
+ ( (unsigned long long)(size/1024) * 1000 * cycles) / diff_clock);
+
+ if (Verbose)
+ {
+ printf("test-x: Approx frame rate: %lli frames/sec\n",
+ (unsigned long long) cycles*1000 / diff_clock);
+ }
+
+
+ /* Clean up */
+ if (!shm_success)
+ {
+ XDestroyImage (ximg);
+ }
+ else
+ {
+ XSync(dpy, False);
+ XShmDetach(dpy, &shminfo);
+ XDestroyImage (ximg);
+ shmdt(shminfo.shmaddr);
+ shmctl(shminfo.shmid, IPC_RMID, 0);
+ }
+
+ ximg = NULL;
+}
+
+static void
+x_close(void)
+{
+ XCloseDisplay(dpy);
+}
+
+static void
+usage(void)
+{
+ fprintf(stderr,
+ "test-x " VERSION "\n"
+ "usage: test-x [-display <X display>] [--verbose] [--no-shm] [--multiblit=<y|x>] [--cycles <int>]\n");
+ exit(1);
+}
+
+int
+main (int argc, char **argv)
+{
+ char *dpy_name = NULL;
+ int i;
+
+ have_shm = True;
+
+ for (i = 1; i < argc; i++) {
+
+ if (!strcmp ("-display", argv[i]) || !strcmp ("-d", argv[i])) {
+ if (++i>=argc) usage ();
+ dpy_name = argv[i++];
+ continue;
+ }
+
+ if (!strcmp ("--verbose", argv[i]) || !strcmp ("-v", argv[i])) {
+ Verbose = True;
+ continue;
+ }
+
+ if (!strcmp ("--no-shm", argv[i]) ) {
+ have_shm = False;
+ continue;
+ }
+
+ if (!strcmp ("--multiblit=x", argv[i]) ) {
+ WantMultiBlit = MULTIBLIT_X;
+ continue;
+ }
+
+ if (!strcmp ("--multiblit=y", argv[i]) ) {
+ WantMultiBlit = MULTIBLIT_Y;
+ continue;
+ }
+
+ if (!strcmp ("--cycles", argv[i])) {
+ if (++i>=argc) usage ();
+ TotalCycles = atoi(argv[i]);
+ if (TotalCycles < 1) usage();
+ continue;
+ }
+
+ usage();
+ }
+
+ if ((dpy = XOpenDisplay(dpy_name)) == NULL) {
+ fprintf(stderr, "Cannot connect to X server on display %s.",
+ dpy_name);
+ exit(1);
+ }
+
+ XSetErrorHandler(x_error_handler);
+
+ x_open();
+
+ x_blit();
+
+ x_close();
+
+ return 0;
+}