Maya Model Complexity Benchmark

 

Created by Dariush Derakhshani

www.painfulurination.com

www.mayaFAQ.com

Koosh3d AT earthlink DOT net

3d-spheres_v25.ma

 

            This benchmark, created with Maya 4.02 and updated for Maya 5.0, will test the speed of your video card hardware (and secondarily your system itself) when displaying a camera move through a large array of polygonal spheres with a user selectable poly counts from a scant 31,000 up to 34 million faces in the scene.  Testing a wide range of poly counts will give you a better assessment of how a system will perform running Maya with increasing complexity, a hallmark of most professional production work.

There are a few parts to this benchmark, starting with the most obvious and tell-tale test of all: interactivity.  Second, this file will test the ability of the card to playback the sceneís animated camera around the array (created with particle instancing) in Wireframe, shaded and texture modes.  Thirdly you can tax the video systemís ability to hardware render 25 frames of the animation to disc as a sequence of SGI image files through the Hardware Render Buffer.  For the new video cards that can support hardware batch rendering new to Maya 5.0, there is a test to render 5 frames to see how long the card takes.

The test is ideally best performed on different video cards on the same machine, as the benchmark does make use of the cpu and memory systems in addition to the 3d subsystem.  Relativity is the key here, as with all graphic benchmarks.  As such, you can use this test to gauge the effectiveness of an overall system, or to conduct system to system comparisons.

 

These tests should be run at 1280x1024 @ 75Hz refresh rate, while youíre wearing clean socks.  If you have a dual head card try these tests with the second display disabled entirely, and then with it enabled, but with all of Mayaís windows on the primary display only.  Some cards can lose significant performance in dual display mode that is usually not revealed in traditional benchmarks.

If you really want to tax your graphics, run in 1600x1200 mode with 70 or higher refresh rates, and dirty, dirty socks.

 

How to run the tests:

 

Test 1: Interactivity:

            This oneís kind of a no-brainer, load it and see how it runs in Maya.  This is a great indicator of how your card performs even though, but specifically because, it is touchy feely and not based in a solid performance number.  The file will open with the default poly count settings, but this is user scalable to further tax the system as you see fit.

1.      Open Maya and load the file 3d-spheres_v25.ma.

2.      Go to Frame 1.

3.      Select the yellow locator (a 3d cross) in the lower left hand corner of the screen and verify that the attributes Axis and Height are both set to 20.

4.      Clear your selection so nothing is selected.

5.      Hit 6 to enter into texture mode.  The spheres should now display a ramp gradient from top to bottom, blue to green to red underneath (red is not visible at frame 1, however).

6.      Over the next few minutes, open the Hypergraph, and move it around the screen, taking note of the screen and window refresh.  Select an object through the Hypergraph and then close the window.  You should experience a bit of a lag in redraw rates.  Itís a bit difficult to quantify the lag in redraw, so itís all about user experience.  You can experience redraw lags from closing a 1/3 screen sized Hypergraph window from well under a second to three or more seconds.

7.      Open some other Maya work windows, from 1/3 to full screen sizes and close them to experience the refresh times of the maximized perspective window.  This is a superb indication of how you card will handle a high tessellation scene during working conditions.  This is more true if you have Windows settings so that you can see a window's contents while dragging the window (see Windows Display Settings by right clicking on your desktop).

8.      You can lower or increase the poly counts in the scene very easily.  I suggest lowering the poly count (default is set to 20) till you notice a good and comfortable level of interactivity with your windows (steps 5-7) and take note.  Then increase the poly count till the system refresh is too slow for good interactivity.

a.       Go to Display > Heads Up Display and turn on Poly Count.

b.      To change the poly count, select the yellow locator (a 3d cross, named con) in the lower left hand corner of the screen.  (In the Outliner or HyperGraph, itís grouped under the persp camera).

c.       In the Channel Box or Attribute Editor (under Extra Attributes), change its Axis and Height attributes accordingly, but use the same number for both attributes.  This will change the subdivision levels of the spheres in the scene.

d.      When done, set it back to itís default of 20.

e.       The table below will list the poly counts (according to Maya Heads Up Display) for different Axis and Height settings.

 

Axis and Height setting

Poly faces in scene (approx.)

3 (min)

31,005

10

344,500

15

775,125

20

1,378,000

25

2,153,125

30

3,100,500

35

4,220,125

40

5,512,000

50

8,612,500

60

12,402,000

70

16,880,500

80

22,048,000

90

27,904,500

100 (max)

34,450,000

 

 

Test 2: Running Speed:

1.      Go to Display > Heads Up Display and turn on Frame Rate and Poly Count.

2.      Select the yellow locator (a 3d cross) in the lower left hand corner of the screen and verify that the attributes Axis and Height are both set to 20.

3.      Go into Animation Preferences and make sure your playback is set to Play every frame.  Very important.  Donít make me come over there!

4.      Hit the Play Forwards button in the Playback Controls.

5.      Go to Display > UI Elements > Hide UI Elements to get rid of everything but the maximized perspective window (Maximize it with the spacebar if it is not already so).  Helps if you hotkey Hide UI Elements and Restore UI Elements as well.  This ensures an even playing field in different Maya installations no matter how you've customized your GUI.

6.      Take note of the frame rate (in fps) of the file in wireframe mode as the camera tumbles and moves around the array of spheres.  The higher the fps, the better.  Make sure you wait about 10-20 seconds for the fps counter to settle at a number and then take note of it.

7.      Hit 5 for shaded mode and take note of the frame rate once it settles Ė You will notice the spheres turn solid gray from Wireframe blue.

8.      Hit 6 for textured mode and take note of the frame rate once it settles Ė The spheres will now display their color ramp (blue to green to red from top to bottom).  The rampís position is animated, so the ramp moves up and down the sphere, but donít be alarmed if you donít see the ramp animate at all during playback, most cards, if not all cards will not display the ramp colors animating.  That will become more important for the render test.

9.      Hit 7 for textured/lighted mode and take note of the frame rate once it settles Ė The spheres will now be lighted in the playback by 3 different colored lights (white, yellow, teal).  You probably will not notice the light colors in this mode.

10.  Hit 5 again and then 7 for shaded/lighted mode and take note of the frame rate once it settles Ė You will see the different colored lighting on the gray spheres.  Yellow backlight, teal top light, white front or key light.

11.  Hit escape to end the playback and restore the UI Elements with Display > UI Elements > Restore UI Elements.

12.  Try increasing or decreasing the poly counts and noting how the frame rates change as the poly counts change.  (See steps 8a through 8e in the last benchmark above).

 

Test 3: Hardware Rendering Speed (a.k.a. Time to go get some nachos):

Now, for the render test.  This will test how fast your card will be able to render in hardware and write out 25 frames of this animation with multi-pixel rendering and motion blur.

1.      Select the yellow locator (a 3d cross) in the lower left hand corner of the screen and verify that the attributes Axis and Height are both set to 20.

2.      Go to Window > Rendering Editors > Hardware Render BufferÖ

3.      In the Hardware Render Buffer, go to Render > Attributes to bring up the render settings.  Verify these settings, as they should load with the file:

a.       Image name: Fill this in whatever you wish, or keep the default 3d-spheres_v25

b.      Extension: name.0001.ext to render a sequence

c.       Star Frame at 1 and End at 25

d.      Image format SGI

e.       Resolution set as ntsc_4d 646 485 1.333

f.        Alpha Source Off and no Zdepth Write

g.       Lighting Mode set to default, Draw Style as Smooth Shaded and only Texturing should be checked on

h.       MultiPass Render Options: MultiPass turned ON and set to 5.

i.         Motion Blur set to 30.000 (yes, 30).

 

4.      Then hit Render > Render Sequence and time it with a clock or stopwatch.  The test will take anywhere from 5 to 10 minutes depending on the video card.  Maybe longer, maybe shorter.

5.      Note the time it take for the 25 frame sequence to be completed, and then brag to all your friends about it (or hang your head in shame).

6.      Also, if youíre feeling ornery, change the poly counts and see how your render times change.  Isnít this fun?!?

 

Test 4: Batch Hardware Rendering Speed (a.k.a. Time to go get some cheese for your nachos):  

1.      Select the yellow locator (a 3d cross) in the lower left hand corner of the screen and verify that the attributes Axis and Height are both set to 20.

2.   Now this test will only work with video cards that have been approved with Maya 5.0's new hardware rendering.  Check to see if yours is, otherwise this test will not work, and may, in all likelihood, accidentally kill your pets.  (PETA: just kidding)

3.      Go to the Render Globals windows (Windows > Rendering Editors > Render Globals.

      In the Common Tab, make sure the settings are:

a.       Render Using : Maya Hardware

b.   File Name Prefix: Fill this in whatever you wish, or keep the default Spheres_v25_Batch_HW.  (keep the period at the end, Maya will not add a period before the frame numbers for some reason, so you'll get filename####.sgi, and that's just ugly)

b.      Extension: name#.ext to render a sequence.  Frame Padding at 4, By Frame at 1.

c.       Start Frame at 1 and End at 5

d.      Image format SGI

      In the Maya Hardware Tab, make sure the settings are:

a.       Presets: Production Qaulity

b.   Number of Samples: 9; Transparency Sorting: Per Object

b.      Color Texture Resolution 512; Bump Texture Resolution 1024

c.       Enable Motion is on.

d.     Motion Blur By Frame: 10.0; Number of Exposures 3.

These settings should all be there by default, though.

 

4.      Then in the Maya window, hit Render > Batch Render.  This will probably take a while, so don't bother timing it.  Open a Windows Explorer and check the images directory of the current project and check the times when the first and last file were written out.  This will give you the time it took to render.  You can also check Maya's render log, a text file put in your local Maya folders somewhere under My Documents.

5.      Note the time it take for the 5 frame sequence to be completed, and then call your family and tell them how wonderful your video card is.

 

Thatís it!  Please feel free to share this benchmark file, but please do so only in its entirety, attached to this document and unaltered.  Thank you.