Results Updated 16 November 2004
Note: Most of these timings are reports from third parties. I have not made any effort to control for things like operating system settings or RAM timings. Also, remember the test scenes only emphasize certain parts of the RenderMan code (e.g. the ray-tracing tests only include NURBS surfaces - not polygons, subdivision surfaces, or implicits). Your results may differ depending on which RenderMan features you use in your own work.
| System | mode | shader | hider | raydiff | rayspec | total | total speed | ray-only speed | |
| Dual Opteron 250 2.4GHz 1MB cache, DDR400 RAM, Linux | 64-bit | 200 | 206 | 232 | 203 | 841 | 2.10 | 1.87 | |
| Dual Opteron 248 2.2GHz 1MB cache, DDR400 RAM, Linux | 64-bit | 202 | 224 | 253 | 216 | 895 | 1.97 | 1.73 | |
| Dual Opteron 246 2.0GHz 1MB cache, DDR400 RAM, Linux 2.6 | 64-bit | 227 | 261 | 253 | 208 | 949 | 1.86 | 1.76 | |
| Dual Opteron 248 2.2GHz Windows | 32-bit | 242 | 335 | 246 | 219 | 1042 | 1.69 | 1.75 | |
| Dual Xeon 3.2GHz 1MB cache, 800MHz FSB, DDR400 RAM, Linux | 64-bit | 203 | 332 | 293 | 220 | 1048 | 1.69 | 1.58 | |
| Dual Xeon 3.2GHz 1MB cache, 800MHz FSB, DDR400 RAM, Linux | 32-bit | 216 | 319 | 264 | 283 | 1082 | 1.63 | 1.48 | |
| Dual Xeon 3.06GHz 512KB cache, Linux | 32-bit | 218 | 307 | 302 | 266 | 1093 | 1.62 | 1.43 | |
| Dual Opteron 246 2.0GHz 1MB cache, DDR400 RAM, Linux 2.6 | 32-bit | 274 | 292 | 294 | 242 | 1102 | 1.60 | 1.51 | |
| Dual Power Mac G5 2.5GHz 512KB cache, 1.2GHz bus, DDR400 RAM | 32-bit | 234 | 356 | 313 | 264 | 1167 | 1.60 | 1.67 | |
| Dual Opteron 250 2.4GHz 1MB cache, DDR400 RAM, Linux | 32-bit | 309 | 292 | 305 | 262 | 1168 | 1.51 | 1.43 | |
| Dual Xeon 2.8GHz 512KB cache, Linux | 32-bit | 221 | 342 | 334 | 273 | 1170 | 1.51 | 1.34 | |
| Dual Opteron 248 2.2GHz 1MB cache, DDR400 RAM, Linux | 32-bit | 313 | 327 | 333 | 286 | 1259 | 1.40 | 1.31 | |
| Dual Xeon 2.2GHz 512KB cache, Linux | 32-bit | 338 | 456 | 346 | 357 | 1497 | 1.18 | 1.16 | |
| Single Pentium 4 3.06 GHz 512KB cache, 533MHz FSB, RAMBUS RAM, Linux | 32-bit | 383 | 571 | 422 | 390 | 1766 | 1.00 | 1.00 | |
| Single Pentium 4 3.0 GHz 1MB cache, 800MHz FSB, DDR400 RAM, Linux | 32-bit | 411 | 596 | 489 | 456 | 1982 | 0.89 | 0.86 | |
| Dual Power Mac G4 1.42GHz DDR266 RAM, Mac OS 10.3 | 32-bit | 547 | 763 | 589 | 1628 | 3527 | 0.50 | 0.37 |
"shader/hider/raydiff/rayspec" are the wall-clock rendering times in seconds for each respective RIB.
"Single" means single-threaded PRMan running on one CPU.
The "total" time is the sum of all four individual tests.
"Total speed" is the speed relative to my 3.06GHz Pentium 4, weighing all tests equally.
"Ray-only speed" is the speed relative to my 3.06GHz Pentium 4, counting only the ray-tracing tests.
"Dual" means multi-threaded PRMan running on a 2 CPU system.
All tests use PRMan version 12.0 unless otherwise indicated.
Scores reported by: "orbitalpunk" on cgtalk.com, Kevin Campbell/Cinesite, Ed Caracappa/BOXX Technologies, Curly Kwong/Altec, Brent Burley/Disney, and Tal Lancaster.
These are for informational purposes only; the authors and contributors do not endorse any particular hardware product.
Please send me your scores so I can add them to this list! (email dmaas@maasdigital.com)
If you run the benchmarks multiple times, use the lowest time for each individual test.
Download the test files
Version 3 (11 November 2004) - updated for Mac OSX, now runs dual-CPU tests automatically if you have a dual-CPU system
bench.tar.gz (tar.gz format, 140KB)
Instructions
1) Untar (or unzip) the package.
tar zxvf bench.tar.gz
2) cd to the bench/ directory.
cd bench
3) Run the dobench.sh script.
./dobench.sh
NOTE: The driver script (dobench.sh) will only work on Linux and Mac OSX. On other platforms, you will have to compile the shader (bench.sl) manually and then time the rendering of each RIB (except geom.rib). It shouldn't be hard to develop driver scripts for other platforms; if you do, send me the changes!
It will take about 20-40 minutes to run all the tests. Do not run anything else on the machine as this will disturb the results.
dobench writes the benchmark times and system information to a file called output.txt. (output.txt will be over-written each time you run dobench, so rename it to something else if you want to keep it)
The rendered images will be named the same as the test, e.g. shader.tif, hider.tif, etc. (shader.tif is pretty groovy)
Requirements
RenderMan Pro Server version 12
To use dobench.sh, you must have RenderMan installed such that the shader compiler is accessible by typing 'shader' at a shell prompt and the renderer is accessible by typing 'prman' at a shell prompt. If you are using a different renderer or different commands, you must modify dobench.sh accordingly. See the "configuration" section at the top of the file. (or just compile the shader and time the RIBs manually)
Test Info
There are four tests, each of which exercises a different part of the RenderMan pipeline. These tests are designed to render in about about 5-10 minutes each.
The "shader" test stresses the shader interpreter by running a complex shader on a very simple piece of geometry.
The "hider" test stresses the hider by rendering with depth of field, motion blur, and a high number of samples.
The "diffuse raytracing" test simulates ambient occlusion raytracing.
The "specular raytracing" test simulates reflection raytracing.
On the ray tracing tests, I've set the shading rate somewhat high and the ray samples somewhat low in order to make the renders finish in a reasonable amount of time. In a production setting these parameters would be tweaked for higher quality. The geometry would likely be more complex too.
Which tests you should pay attention to depends on your typical production workload. If you aren't using much ray tracing, then the "shader" and "hider" tests are probably about equal in importance. If you are using ambient occlusion, then look at the "diffuse raytracing" test. If you use raytraced reflections, then look at the "specular raytracing" test. Raytracing tends to dominate the rendering time of scenes that use it.
Copyright Info
This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program (GPL.txt); if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.