C vs Perl | Perl vs Python | POGL vs SDL | Windows vs Linux |

This is a capture of Geoff Broadwell's SDL Trislam benchmark,
using POGL OpenGL::Array (OGA) objects. POGL Benchmarks - POGL vs SDL::OpenGL

Google Bookmarks Google
  
Digg It! digg it!
  
Stumble Upon It! Stumbled on It!
  
del.icio.us del.icio.us
  
reddit! reddit
  
Slashdot It! Slashdot It!

These benchmarks were adopted from Geoff Broadwell's SDL Trislam benchmarks, and ported to POGL by Bob Free.

Platforms

These benchmarks were performed on an Debian Ubuntu/Dapper system:

  • 3Ghz Intel Pentium D
  • 1G Memory
  • nVidia GeForce 6800 GT/AGP/SSE2
  • nVidia v97.55 driver

These benchmarks require an OpenGL installation, GLUT, Perl and the Time::HiRes module. The POGL benchmarks require POGL 0.55_1 or newer; the SDL benchmarks require the SDL::OpenGL module.

Summary

  • GL_TRIANGLES, GL_QUADS, tristrips and quadstrips provided comparable performance
  • Vertex Array triangles were 5% faster via POGL than SDL::OpenGL
  • Vertex Array quads were 7% faster via POGL than SDL::OpenGL
  • POGL OGA arrays were 64% faster than SDL::OpenGL Vertex Arrays
  • POGL VBOs were over 2x faster than SDL::OpenGL Vertex Arrays

SDL::OpenGL did not support VBOs at the time of this benchmark.

Results

Trislam: POGL w/ OGA
TRISLAM benchmarks several methods of pushing OpenGL primitives,
testing each method with various primitive counts and sizes.
During the benchmark, the test window will start out black, slowly
brightening to white as testing progresses.  Once benchmarking is
complete, the collected data will be dumped in tabular form.

The configuration for this series of tests will be as follows:

Triangle Slammer OpenGL Benchmark, version 0.1.24 (POGL version 0.55.01)

window size:      720 x 720
full screen:      no
rgba bits:        8 8 8 0
depth bits:       24
min frames/test:  10
min seconds/test: 1
standard runs:    1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 30 36 40 45 48 60 72 80 90 120 144
extra fast runs:  
-------------------------------------------------------------------------------
Init vertex arrays: q qs t ts.
Init display lists: qs qsv ts tsv.
Benchmarks: empty t q ts qs tsd qsd tv qv tsv qsv tsvd qsvd.
         MEASURED                               PER SECOND
Name Cnt   Time  Frms  Mpix Kprim  Ktri Kvert   Frms  Mpix Kprim  Ktri Kvert
empty  1  1.000  9476     0     0     0     0      0     0     0     0     0
t      1  1.000  3644  1889     7     7    21   3643  1888     7     7    21
t      2  1.000  3462  1794    27    27    83   3461  1794    27    27    83
t      3  1.000  3230  1674    58    58   174   3229  1674    58    58   174
t      4  1.000  2951  1529    94    94   283   2950  1529    94    94   283
t      5  1.000  2554  1323   127   127   383   2553  1323   127   127   383
t      6  1.000  2284  1184   164   164   493   2283  1183   164   164   493
t      8  1.000  1860   964   238   238   714   1859   963   238   238   714
t      9  1.001  1576   816   255   255   765   1575   816   255   255   765
t     10  1.000  1487   770   297   297   892   1486   770   297   297   892
t     12  1.000  1241   643   357   357  1072   1240   643   357   357  1071
t     15  1.001   932   483   419   419  1258    930   482   418   418  1256
t     16  1.001   843   437   431   431  1294    842   436   431   431  1293
t     18  1.001   686   355   444   444  1333    685   355   444   444  1332
t     20  1.000   570   295   456   456  1368    569   295   455   455  1367
t     24  1.001   405   209   466   466  1399    404   209   465   465  1397
t     30  1.000   263   136   473   473  1420    262   136   473   473  1420
t     36  1.005   185    95   479   479  1438    184    95   477   477  1431
t     40  1.004   150    77   480   480  1440    149    77   477   477  1433
t     45  1.005   119    61   481   481  1445    118    61   479   479  1438
t     48  1.000   104    53   479   479  1437    103    53   479   479  1437
t     60  1.001    67    34   482   482  1447     66    34   481   481  1445
t     72  1.007    47    24   487   487  1461     46    24   483   483  1451
t     80  1.007    38    19   486   486  1459     37    19   483   483  1449
t     90  1.004    30    15   486   486  1458     29    15   484   484  1452
t    120  1.009    17     8   489   489  1468     16     8   485   485  1455
t    144  1.022    12     6   497   497  1492     11     6   487   487  1461
q      1  1.000  3661  1897     3     7    14   3660  1897     3     7    14
q      2  1.000  3540  1835    14    28    56   3539  1834    14    28    56
q      3  1.000  3361  1742    30    60   120   3360  1742    30    60   120
q      4  1.000  3143  1629    50   100   201   3142  1629    50   100   201
q      5  1.000  2769  1435    69   138   276   2768  1435    69   138   276
q      6  1.000  2549  1321    91   183   367   2548  1321    91   183   367
q      8  1.000  2216  1148   141   283   567   2215  1148   141   283   567
q      9  1.000  1978  1025   160   320   640   1977  1025   160   320   640
q     10  1.001  1813   939   181   362   725   1812   939   181   362   724
q     12  1.000  1525   790   219   439   878   1524   790   219   438   877
q     15  1.001  1224   634   275   550  1101   1223   634   275   550  1100
q     16  1.000  1113   576   284   569  1139   1112   576   284   569  1139
q     18  1.000   947   490   306   613  1227    946   490   306   613  1226
q     20  1.001   813   421   325   650  1300    812   421   324   649  1299
q     24  1.002   593   307   341   683  1366    592   306   341   682  1364
q     30  1.000   389   201   350   700  1400    388   201   350   700  1400
q     36  1.001   275   142   356   712  1425    274   142   356   712  1424
q     40  1.003   224   116   358   716  1433    223   115   357   714  1429
q     45  1.005   178    92   360   720  1441    177    91   358   717  1434
q     48  1.005   157    81   361   723  1446    156    80   359   719  1439
q     60  1.007   101    52   363   727  1454    100    51   361   722  1444
q     72  1.001    70    36   362   725  1451     69    36   362   724  1449
q     80  1.005    57    29   364   729  1459     56    29   363   726  1452
q     90  1.001    45    23   364   729  1458     44    23   364   728  1456
q    120  1.026    26    13   374   748  1497     25    13   364   729  1459
q    144  1.020    18     9   373   746  1492     17     9   366   732  1464
ts     1  1.000  3661  1897     3     7    14   3660  1897     3     7    14
ts     2  1.000  3557  1843     7    28    42   3556  1843     7    28    42
ts     3  1.000  3453  1790    10    62    82   3452  1789    10    62    82
ts     4  1.000  3286  1703    13   105   131   3285  1703    13   105   131
ts     5  1.000  2940  1524    14   147   176   2939  1523    14   146   176
ts     6  1.000  2782  1442    16   200   233   2781  1442    16   200   233
ts     8  1.000  2500  1296    20   320   360   2499  1295    19   319   359
ts     9  1.000  2372  1229    21   384   426   2371  1229    21   384   426
ts    10  1.000  2245  1163    22   449   493   2244  1163    22   448   493
ts    12  1.000  1974  1023    23   568   615   1973  1022    23   568   615
ts    15  1.000  1678   869    25   755   805   1677   869    25   754   805
ts    16  1.000  1583   820    25   810   861   1582   820    25   810   860
ts    18  1.000  1412   731    25   914   965   1411   731    25   914   965
ts    20  1.001  1255   650    25  1004  1054   1253   650    25  1003  1053
ts    24  1.000   998   517    23  1149  1197    997   517    23  1149  1197
ts    30  1.001   705   365    21  1269  1311    704   364    21  1267  1309
ts    36  1.001   512   265    18  1327  1363    511   265    18  1325  1362
ts    40  1.000   419   217    16  1340  1374    418   217    16  1340  1373
ts    45  1.001   339   175    15  1372  1403    338   175    15  1370  1401
ts    48  1.001   300   155    14  1382  1411    299   155    14  1381  1410
ts    60  1.004   196   101    11  1411  1434    195   101    11  1405  1428
ts    72  1.006   138    71     9  1430  1450    137    71     9  1422  1442
ts    80  1.001   112    58     8  1433  1451    111    58     8  1432  1450
ts    90  1.002    89    46     8  1441  1457     88    46     7  1439  1455
ts   120  1.012    51    26     6  1468  1481     50    26     6  1451  1463
ts   144  1.020    36    18     5  1492  1503     35    18     5  1463  1473
qs     1  1.000  3661  1897     3     7    14   3660  1897     3     7    14
qs     2  1.000  3556  1843     7    28    42   3555  1843     7    28    42
qs     3  1.000  3445  1785    10    62    82   3444  1785    10    62    82
qs     4  1.000  3283  1701    13   105   131   3282  1701    13   105   131
qs     5  1.000  2942  1525    14   147   176   2941  1524    14   147   176
qs     6  1.000  2790  1446    16   200   234   2789  1446    16   200   234
qs     8  1.000  2500  1296    20   320   360   2499  1295    19   319   359
qs     9  1.000  2371  1229    21   384   426   2370  1229    21   384   426
qs    10  1.000  2221  1151    22   444   488   2220  1151    22   444   488
qs    12  1.000  1977  1024    23   569   616   1976  1024    23   569   616
qs    15  1.001  1685   873    25   758   808   1684   873    25   757   808
qs    16  1.000  1586   822    25   812   862   1585   822    25   811   862
qs    18  1.000  1414   733    25   916   967   1413   732    25   916   966
qs    20  1.000  1256   651    25  1004  1055   1255   651    25  1004  1055
qs    24  1.000  1000   518    24  1152  1200    999   518    23  1151  1199
qs    30  1.000   708   367    21  1274  1316    707   366    21  1273  1316
qs    36  1.002   516   267    18  1337  1374    515   267    18  1335  1372
qs    40  1.002   422   218    16  1350  1384    421   218    16  1348  1381
qs    45  1.003   342   177    15  1385  1415    341   176    15  1381  1412
qs    48  1.001   302   156    14  1391  1420    301   156    14  1389  1418
qs    60  1.000   197   102    11  1418  1442    196   102    11  1417  1441
qs    72  1.006   139    72    10  1441  1461    138    71     9  1433  1452
qs    80  1.002   113    58     9  1446  1464    112    58     9  1442  1460
qs    90  1.006    90    46     8  1458  1474     89    46     8  1449  1465
qs   120  1.002    51    26     6  1468  1481     50    26     6  1466  1478
qs   144  1.013    36    18     5  1492  1503     35    18     5  1473  1483
tsd    1  1.000  3753  1945     3     7    15   3752  1945     3     7    15
tsd    2  1.000  3763  1950     7    30    45   3762  1950     7    30    45
tsd    3  1.000  3753  1945    11    67    90   3752  1945    11    67    90
tsd    4  1.000  3748  1942    14   119   149   3747  1942    14   119   149
tsd    5  1.000  3485  1806    17   174   209   3484  1806    17   174   209
tsd    6  1.000  3480  1804    20   250   292   3479  1804    20   250   292
tsd    8  1.000  3480  1804    27   445   501   3479  1803    27   445   501
tsd    9  1.000  3467  1797    31   561   624   3466  1797    31   561   623
tsd   10  1.000  3466  1796    34   693   762   3465  1796    34   693   762
tsd   12  1.000  3469  1798    41   999  1082   3468  1798    41   999  1082
tsd   15  1.000  3751  1944    56  1687  1800   3750  1944    56  1687  1800
tsd   16  1.000  3757  1947    60  1923  2043   3756  1947    60  1923  2043
tsd   18  1.000  3750  1944    67  2430  2565   3749  1943    67  2429  2564
tsd   20  1.000  3756  1947    75  3004  3155   3755  1946    75  3004  3154
tsd   24  1.000  3747  1942    89  4316  4496   3746  1942    89  4316  4496
tsd   30  1.000  3743  1940   112  6737  6961   3742  1940   112  6736  6961
tsd   36  1.000  3743  1940   134  9701  9971   3742  1939   134  9699  9968
tsd   40  1.000  3747  1942   149 11990 12290   3746  1942   149 11987 12287
tsd   45  1.000  3736  1936   168 15130 15467   3735  1936   168 15129 15465
tsd   48  1.000  3737  1937   179 17220 17578   3736  1937   179 17218 17576
tsd   60  1.000  3720  1928   223 26784 27230   3719  1928   223 26778 27225
tsd   72  1.000  3706  1921   266 38423 38957   3705  1920   266 38419 38953
tsd   80  1.000  3207  1662   256 41049 41562   3206  1662   256 41037 41550
tsd   90  1.000  3190  1653   287 51678 52252   3189  1653   287 51667 52241
tsd  120  1.000  2596  1345   311 74764 75387   2595  1345   311 74741 75364
tsd  144  1.000  2082  1079   299 86344 86944   2081  1079   299 86342 86941
qsd    1  1.000  3769  1953     3     7    15   3768  1953     3     7    15
qsd    2  1.000  3759  1948     7    30    45   3758  1948     7    30    45
qsd    3  1.000  3757  1947    11    67    90   3756  1947    11    67    90
qsd    4  1.000  3743  1940    14   119   149   3742  1939    14   119   149
qsd    5  1.000  3494  1811    17   174   209   3493  1811    17   174   209
qsd    6  1.000  3481  1804    20   250   292   3480  1804    20   250   292
qsd    8  1.000  3481  1804    27   445   501   3480  1804    27   445   501
qsd    9  1.000  3467  1797    31   561   624   3466  1796    31   561   623
qsd   10  1.000  3468  1797    34   693   762   3467  1797    34   693   762
qsd   12  1.000  3471  1799    41   999  1082   3470  1799    41   999  1082
qsd   15  1.000  3752  1945    56  1688  1800   3751  1945    56  1688  1800
qsd   16  1.000  3752  1945    60  1921  2041   3751  1944    60  1920  2040
qsd   18  1.000  3752  1945    67  2431  2566   3751  1944    67  2430  2565
qsd   20  1.000  3753  1945    75  3002  3152   3752  1945    75  3001  3151
qsd   24  1.000  3750  1944    90  4320  4500   3749  1943    89  4319  4499
qsd   30  1.000  3747  1942   112  6744  6969   3746  1941   112  6742  6967
qsd   36  1.000  3746  1941   134  9709  9979   3745  1941   134  9708  9978
qsd   40  1.000  3746  1941   149 11987 12286   3745  1941   149 11987 12286
qsd   45  1.000  3731  1934   167 15110 15446   3730  1933   167 15107 15443
qsd   48  1.000  3739  1938   179 17229 17588   3738  1937   179 17225 17584
qsd   60  1.000  3720  1928   223 26784 27230   3719  1928   223 26781 27227
qsd   72  1.000  3706  1921   266 38423 38957   3705  1920   266 38418 38952
qsd   80  1.000  3204  1660   256 41011 41523   3203  1660   256 41002 41514
qsd   90  1.000  3163  1639   284 51240 51809   3162  1639   284 51231 51800
qsd  120  1.000  2596  1345   311 74764 75387   2595  1345   311 74761 75384
qsd  144  1.000  2081  1078   299 86303 86902   2080  1078   299 86268 86867
tv     1  1.000  3661  1897     7     7    21   3660  1897     7     7    21
tv     2  1.000  3661  1897    29    29    87   3660  1897    29    29    87
tv     3  1.000  3658  1896    65    65   197   3657  1896    65    65   197
tv     4  1.000  3658  1896   117   117   351   3657  1895   117   117   351
tv     5  1.000  3424  1775   171   171   513   3423  1774   171   171   513
tv     6  1.000  3411  1768   245   245   736   3410  1768   245   245   736
tv     8  1.000  3388  1756   433   433  1300   3387  1756   433   433  1300
tv     9  1.000  3360  1741   544   544  1632   3359  1741   544   544  1632
tv    10  1.000  3344  1733   668   668  2006   3343  1733   668   668  2006
tv    12  1.000  3429  1777   987   987  2962   3428  1777   987   987  2962
tv    15  1.000  3564  1847  1603  1603  4811   3563  1847  1603  1603  4810
tv    16  1.000  3634  1883  1860  1860  5581   3633  1883  1860  1860  5581
tv    18  1.000  3810  1975  2468  2468  7406   3809  1975  2468  2468  7406
tv    20  1.000  3778  1958  3022  3022  9067   3777  1958  3022  3022  9066
tv    24  1.000  3703  1919  4265  4265 12797   3702  1919  4265  4265 12796
tv    30  1.000  3656  1895  6580  6580 19742   3655  1895  6580  6580 19740
tv    36  1.000  3717  1926  9634  9634 28903   3716  1926  9633  9633 28899
tv    40  1.000  3622  1877 11590 11590 34771   3621  1877 11588 11588 34764
tv    45  1.000  3720  1928 15066 15066 45198   3719  1928 15062 15062 45188
tv    48  1.000  3626  1879 16708 16708 50125   3625  1879 16704 16704 50112
tv    60  1.000  3669  1902 26416 26416 79250   3668  1901 26409 26409 79229
tv    72  1.000  3013  1561 31238 31238 93716   3012  1561 31230 31230 93691
tv    80  1.000  2589  1342 33139 33139 99417   2588  1342 33136 33136 99410
tv    90  1.000  2196  1138 35575 35575 106725   2195  1138 35564 35564 106693
tv   120  1.000  1369   709 39427 39427 118281   1368   709 39416 39416 118248
tv   144  1.000   978   506 40559 40559 121678    977   506 40539 40539 121619
qv     1  1.000  3661  1897     3     7    14   3660  1897     3     7    14
qv     2  1.000  3660  1897    14    29    58   3659  1897    14    29    58
qv     3  1.000  3661  1897    32    65   131   3660  1897    32    65   131
qv     4  1.000  3655  1894    58   116   233   3654  1894    58   116   233
qv     5  1.000  3421  1773    85   171   342   3420  1773    85   171   342
qv     6  1.000  3392  1758   122   244   488   3391  1758   122   244   488
qv     8  1.000  3392  1758   217   434   868   3390  1757   217   434   868
qv     9  1.000  3362  1742   272   544  1089   3361  1742   272   544  1088
qv    10  1.000  3360  1741   336   672  1344   3359  1741   335   671  1343
qv    12  1.000  3370  1747   485   970  1941   3369  1746   485   970  1940
qv    15  1.000  3594  1863   808  1617  3234   3593  1862   808  1616  3233
qv    16  1.000  3588  1860   918  1837  3674   3587  1859   918  1836  3673
qv    18  1.000  3655  1894  1184  2368  4736   3654  1894  1184  2368  4736
qv    20  1.000  3699  1917  1479  2959  5918   3698  1917  1479  2958  5917
qv    24  1.000  3782  1960  2178  4356  8713   3780  1960  2177  4355  8711
qv    30  1.000  3692  1913  3322  6645 13291   3691  1913  3322  6645 13290
qv    36  1.000  3582  1856  4642  9284 18569   3581  1856  4641  9283 18567
qv    40  1.000  3801  1970  6081 12163 24326   3800  1970  6080 12161 24322
qv    45  1.000  3695  1915  7482 14964 29929   3694  1915  7481 14962 29924
qv    48  1.000  3628  1880  8358 16717 33435   3627  1880  8357 16714 33428
qv    60  1.000  3605  1868 12978 25956 51912   3604  1868 12976 25953 51906
qv    72  1.000  3530  1829 18299 36599 73198   3529  1829 18298 36596 73192
qv    80  1.000  3213  1665 20563 41126 82252   3212  1665 20563 41126 82252
qv    90  1.000  2956  1532 23943 47887 95774   2955  1531 23936 47872 95744
qv   120  1.000  1904   987 27417 54835 109670   1903   986 27413 54827 109654
qv   144  1.000  1399   725 29009 58019 116038   1398   725 29004 58009 116018
tsv    1  1.000  3600  1866     3     7    14   3599  1866     3     7    14
tsv    2  1.000  3590  1861     7    28    43   3589  1860     7    28    43
tsv    3  1.000  3569  1850    10    64    85   3568  1849    10    64    85
tsv    4  1.000  3551  1840    14   113   142   3550  1840    14   113   142
tsv    5  1.000  3306  1713    16   165   198   3305  1713    16   165   198
tsv    6  1.000  3299  1710    19   237   277   3298  1709    19   237   277
tsv    8  1.000  3276  1698    26   419   471   3275  1697    26   419   471
tsv    9  1.000  3246  1682    29   525   584   3245  1682    29   525   584
tsv   10  1.000  3234  1676    32   646   711   3233  1676    32   646   711
tsv   12  1.000  3245  1682    38   934  1012   3244  1681    38   934  1012
tsv   15  1.000  3437  1781    51  1546  1649   3436  1781    51  1546  1649
tsv   16  1.000  3415  1770    54  1748  1857   3414  1770    54  1748  1857
tsv   18  1.000  3450  1788    62  2235  2359   3449  1787    62  2234  2359
tsv   20  1.000  3454  1790    69  2763  2901   3453  1790    69  2762  2900
tsv   24  1.000  3510  1819    84  4043  4212   3509  1819    84  4042  4210
tsv   30  1.000  3516  1822   105  6328  6539   3515  1822   105  6327  6537
tsv   36  1.000  3580  1855   128  9279  9537   3579  1855   128  9278  9536
tsv   40  1.000  3474  1800   138 11116 11394   3473  1800   138 11114 11392
tsv   45  1.000  3563  1847   160 14430 14750   3562  1846   160 14427 14747
tsv   48  1.000  3559  1844   170 16399 16741   3558  1844   170 16396 16738
tsv   60  1.000  3569  1850   214 25696 26125   3568  1849   214 25692 26120
tsv   72  1.000  3552  1841   255 36827 37338   3551  1841   255 36823 37334
tsv   80  1.000  3087  1600   246 39513 40007   3086  1600   246 39509 40003
tsv   90  1.000  3088  1600   277 50025 50581   3087  1600   277 50013 50569
tsv  120  1.000  2550  1321   306 73440 74052   2549  1321   305 73417 74029
tsv  144  1.000  2048  1061   294 84934 85524   2047  1061   294 84921 85511
qsv    1  1.000  3596  1864     3     7    14   3595  1864     3     7    14
qsv    2  1.000  3591  1861     7    28    43   3590  1861     7    28    43
qsv    3  1.000  3572  1851    10    64    85   3571  1851    10    64    85
qsv    4  1.000  3554  1842    14   113   142   3553  1842    14   113   142
qsv    5  1.000  3309  1715    16   165   198   3308  1715    16   165   198
qsv    6  1.000  3296  1708    19   237   276   3295  1708    19   237   276
qsv    8  1.000  3275  1697    26   419   471   3274  1697    26   419   471
qsv    9  1.000  3249  1684    29   526   584   3248  1683    29   526   584
qsv   10  1.000  3251  1685    32   650   715   3250  1685    32   650   715
qsv   12  1.000  3251  1685    39   936  1014   3250  1684    39   936  1014
qsv   15  1.000  3440  1783    51  1548  1651   3439  1783    51  1547  1651
qsv   16  1.000  3425  1775    54  1753  1863   3424  1775    54  1753  1863
qsv   18  1.000  3461  1794    62  2242  2367   3460  1793    62  2242  2366
qsv   20  1.000  3454  1790    69  2763  2901   3453  1790    69  2762  2901
qsv   24  1.000  3508  1818    84  4041  4209   3507  1818    84  4040  4208
qsv   30  1.000  3510  1819   105  6318  6528   3509  1819   105  6317  6527
qsv   36  1.000  3576  1853   128  9268  9526   3575  1853   128  9267  9524
qsv   40  1.000  3476  1801   139 11123 11401   3475  1801   139 11121 11399
qsv   45  1.000  3561  1846   160 14422 14742   3560  1845   160 14418 14739
qsv   48  1.000  3553  1841   170 16372 16713   3552  1841   170 16371 16712
qsv   60  1.000  3573  1852   214 25725 26154   3572  1851   214 25721 26150
qsv   72  1.000  3553  1841   255 36837 37349   3552  1841   255 36834 37346
qsv   80  1.000  3096  1604   247 39628 40124   3095  1604   247 39628 40123
qsv   90  1.000  3099  1606   278 50203 50761   3098  1606   278 50188 50746
qsv  120  1.000  2555  1324   306 73584 74197   2554  1324   306 73566 74179
qsv  144  1.000  2049  1062   295 84976 85566   2048  1062   295 84973 85563
tsvd   1  1.000  3673  1904     3     7    14   3672  1903     3     7    14
tsvd   2  1.000  3661  1897     7    29    43   3660  1897     7    29    43
tsvd   3  1.000  3660  1897    10    65    87   3659  1897    10    65    87
tsvd   4  1.000  3642  1888    14   116   145   3641  1887    14   116   145
tsvd   5  1.000  3403  1764    17   170   204   3402  1763    17   170   204
tsvd   6  1.000  3390  1757    20   244   284   3389  1756    20   244   284
tsvd   8  1.000  3384  1754    27   433   487   3383  1754    27   433   487
tsvd   9  1.000  3386  1755    30   548   609   3385  1754    30   548   609
tsvd  10  1.000  3376  1750    33   675   742   3375  1749    33   675   742
tsvd  12  1.000  3365  1744    40   969  1049   3364  1744    40   969  1049
tsvd  15  1.000  3641  1887    54  1638  1747   3640  1887    54  1638  1747
tsvd  16  1.000  3645  1889    58  1866  1982   3644  1889    58  1865  1982
tsvd  18  1.000  3643  1888    65  2360  2491   3642  1888    65  2360  2491
tsvd  20  1.000  3643  1888    72  2914  3060   3642  1888    72  2913  3059
tsvd  24  1.000  3638  1885    87  4190  4365   3637  1885    87  4189  4364
tsvd  30  1.000  3637  1885   109  6546  6764   3636  1885   109  6545  6763
tsvd  36  1.000  3628  1880   130  9403  9664   3627  1880   130  9403  9664
tsvd  40  1.000  3631  1882   145 11619 11909   3630  1882   145 11617 11907
tsvd  45  1.000  3607  1869   162 14608 14932   3606  1869   162 14605 14930
tsvd  48  1.000  3625  1879   174 16704 17052   3624  1878   173 16700 17048
tsvd  60  1.000  3609  1870   216 25984 26417   3608  1870   216 25982 26415
tsvd  72  1.000  3599  1865   259 37314 37832   3598  1865   259 37309 37827
tsvd  80  1.000  3126  1620   250 40012 40512   3125  1620   250 40012 40512
tsvd  90  1.000  3112  1613   280 50414 50974   3111  1613   280 50411 50971
tsvd 120  1.000  2541  1317   304 73180 73790   2540  1316   304 73164 73774
tsvd 144  1.000  2052  1063   295 85100 85691   2051  1063   295 85078 85668
qsvd   1  1.000  3670  1902     3     7    14   3669  1902     3     7    14
qsvd   2  1.000  3660  1897     7    29    43   3659  1897     7    29    43
qsvd   3  1.000  3660  1897    10    65    87   3659  1897    10    65    87
qsvd   4  1.000  3652  1893    14   116   146   3651  1893    14   116   146
qsvd   5  1.000  3407  1766    17   170   204   3406  1765    17   170   204
qsvd   6  1.000  3390  1757    20   244   284   3389  1757    20   244   284
qsvd   8  1.000  3381  1752    27   432   486   3380  1752    27   432   486
qsvd   9  1.000  3385  1754    30   548   609   3384  1754    30   548   609
qsvd  10  1.000  3382  1753    33   676   744   3381  1752    33   676   743
qsvd  12  1.000  3372  1748    40   971  1052   3371  1747    40   971  1051
qsvd  15  1.000  3646  1890    54  1640  1750   3645  1889    54  1640  1749
qsvd  16  1.000  3645  1889    58  1866  1982   3644  1889    58  1865  1982
qsvd  18  1.000  3640  1886    65  2358  2489   3639  1886    65  2358  2489
qsvd  20  1.000  3651  1892    73  2920  3066   3650  1892    73  2920  3066
qsvd  24  1.000  3639  1886    87  4192  4366   3638  1886    87  4191  4366
qsvd  30  1.000  3633  1883   108  6539  6757   3632  1883   108  6539  6757
qsvd  36  1.000  3628  1880   130  9403  9664   3627  1880   130  9402  9663
qsvd  40  1.000  3632  1882   145 11622 11912   3631  1882   145 11621 11911
qsvd  45  1.000  3629  1881   163 14697 15024   3628  1881   163 14696 15022
qsvd  48  1.000  3623  1878   173 16694 17042   3622  1877   173 16692 17040
qsvd  60  1.000  3609  1870   216 25984 26417   3608  1870   216 25981 26414
qsvd  72  1.000  3587  1859   258 37190 37706   3586  1859   258 37181 37697
qsvd  80  1.000  3126  1620   250 40012 40512   3125  1620   250 40012 40512
qsvd  90  1.000  3107  1610   279 50333 50892   3106  1610   279 50321 50880
qsvd 120  1.000  2541  1317   304 73180 73790   2540  1317   304 73166 73776
qsvd 144  1.000  2051  1063   295 85059 85649   2050  1062   295 85020 85611
totl,avg 312.277 848557 439891 486495 3023891 3996881   2717  1408  1557  9683 12799
Trislam: SDL::OpenGL

Analysis

SDL's primary focus is to provide a comprehensive collection of tools for imaging, audio and video; OpenGL is provided as a convenience, but not central to its core features.

POGL focuses solely on OpenGL, and is able to tune its APIs for the best possible OpenGL performance in a Perl environment. Innovations such as POGL's OpenGL::Array objects provide significant advantage (in performance and ease of use) over SDL::OpenGL's packed string APIs.

This focus also allows POGL to stay ahead of other Perl bindings in terms of support for OpenGL extensions, like VBOs, FBOs and Vertex/Fragment Programs.

By using POGL with SDL, developers are able to combine the best of both worlds: comprehensive media APIs, plus a high-performance OpenGL interface.

POGL's OpenGL::Array (OGA) object provides a number of conveniences over SDL::OPenGL:

  • Easier to use than packing vertices into strings
  • OGAs are stored as typed C arrays; no conversion/copy/casting when passed as parameters
  • OGAs support GPU buffer binding, simplifying VBO handling
  • OGAs provide an efficient means to manage and transform arrays in Perl

Source Code

Acknowledgments

Much thanks to Geoffrey Broadwell for assistance with his Trislam benchmark, and for identifying/fixing a bug in POGL's gl_pixelbuffer_size API.

Downloads

This benchmark source is available on this site