HDR! New shadow mapping! A new test! New way of getting the score! Oh my God!Awesomely, we haven't had the time to go into mondo depth with this version of 3DMark, HEXUS not doing the BDP thing at all since 05. Furnished with the spanking final version of 3DMark06 (version 1.0.2) just yesterday, we've done some swift analysis of the benchmark and its whitepaper to see if the two tally up. Three cheers to Worm and Mikko for producing the whitepaper, giving folks like us a good explanation of the internals of their new tool.
New lighting engineThe first thing to talk about is Futuremark's new lighting and shadowing system for the 3DMark06 graphics tests. Instead of the perspective shadow mapping in 05, which effectively calculated shadow projection from each light onto affected surfaces, 06 uses cascaded shadow maps.
One of the biggest problems with 05's lighting method is that perspective mapping process produces projection aliasing at shadow edges for objects far from the light source, if your shadow map doesn't have a large resolution. That shows up as the crawling jagged edge to the shadow you'll see in 05, especially in the canyon flight test.
06 attempts to address that for its ambient lights, and you'll see how effective it is when you download it and try it for yourself, by splitting the scene up into 5 chunks along the depth axis, going out from the viewer. 2Kx2K 24-bit depth stencil textures (or a standard 32-bit float surface if the hardware doesn't support DSTs) are used for those lights, the engine shadowing the scene five times, reusing the depth map each time.
Point lights still use cube maps as they do in 05, using the same surface choice as the ambient lights depending on what the hardware supports, but surface resolution is four times higher using 1Kx1K textures.
To smooth shadow edges, the engine samples from the shadow maps using a custom floating point filter in a pixel shader program, point sampling 16 samples in the ShaderModel 3.0 tests (more on which soon), otherwise using PCF or Fetch4 (supported on some new ATI Radeon parts) to filter the map to AA its edges, but only using 4 samples (bilinear sample using a pair of lerps) instead of 16.
You'll remember our arguments against using PCF in 05 on NVIDIA hardware, which Futuremark have mostly addressed by offering Fetch4 (which does much the same thing but with a separate codepath to maintain for the developer) filtering on ATI hardware which supports it.
The new lighting engine, briefly gone over, is an improvement visually, as you'll see. The tradeoff, as with all new 3DMark versions, is performance.
ShaderModel 3.0 TestsFuturemark have updated the first two tests from 05 to use their new shadowing engine, along with some updated art assets, to create the first two tests in 06. So the basics are the same but the way the tests are rendered is different, as discussed.
3DMark06 then takes the Canyon Flight test from 05 and combines it with a brand new test, to create the two ShaderModel 3.0-specific tests in 06. In terms of the SM3.0 render path, the engine uses the filtering method for the shadow maps outlined above, combined with higher precision and a tonemapping/bloom pass to allow for high dynamic range rendering on supporting SM3.0 hardware.
The hardware has to support 16bpc floating point surfaces and have an FP16 blender in its ROP hardware to be classed as SM3.0, dropping some of NVIDIA's low-end GeForce 6-series hardware from that classification. NV44, which powers the GeForce 6200 cards, doesn't have an FP blender in its ROP, ruling it out. Futuremark don't blend in the fragment hardware if there's no hardware support in the ROP.
A new way of getting the scoreWhile 3DMark05 was all about the graphics hardware when generating the final score, 3DMark06 relies on the basic platform in addition. A pair of CPU tests that simulate physics and AI (using Ageia's PhysX SDK for physics and a freely available AI library) are used as part of the composite calculation that generates the end score.
So now your CPU plays a part, and 3DMark06 favours multi-core processors to boot. Its AI and physics tests are multi-threaded, meaning a dual-core CPU or processor with HyperThreading potentially has the ability to improve performance. Indeed, similar systems at HEXUS prove that, an FX-60 system besting FX-57 in 06, despite the core clock advantage of the FX-57's single core.
So the framerates from the SM2.0 tests, SM3.0 tests and the two CPU tests, for a total of 6 if your hardware supports them (it'll generate a score on SM2.0 hardware, but obviously without running the SM3.0 tests), are taken in to account when generating the big number at the end.
The formula normalises current hardware to around 5000 points like previous 3DMark versions, that number representing what's possible on the highest end systems available today or in the near future. Therefore, as before, anything over 2500-3000 points supposedly represents a system that'll play current 'next-gen' and older games without an issue at medium resolutions.
The default resolution is now 1280x1024 to reflect the most popular resolution people play their games at today, but Futuremark neglect to set any level of D3D-supported multisample antialiasing or anisotropic texture filtering in the default test. They argue that implementations aren't equivalent enough on current hardware to mandate that. We disagree, but there's no budging Futuremark on the issue.
Summary3DMark06 again compromises on what it does or does not include in terms of support for hardware techniques available, again glossing over things like ATI 3Dc for some reason (despite it being supported on NVIDIA hardware via surface substitution), while choosing to develop and maintain two paths in their SM2.0 renderer for PCF and Fetch4 support.
While Futuremark's arguments for their rendering engine are somewhat compelling, since games developers make similar effort in maintenance of codepaths in their engines, it makes out-of-the-box apples-to-apples comparisons (which are useful in basic hardware analysis, if not in real-world gameplay evaluations) impossible for non-paying customers, since the checkboxes to turn things on and off to sort that out aren't available in the free download.
That puts it in the same boat as 05 in terms of the hardware analysis we do for new graphics products, making it unsuitable for those articles, but fine for use in our retail board reviews. No change there, which is fine.
There are extra feature tests which don't affect final score, which we'll cover in a separate piece to come in the future. Stay tuned for that.
So a nice set of forward-looking tests from the Futuremark folks again, which we'll analyse even closer in a future piece, which we can use in graphics articles here at HEXUS, but maybe not in the way Futuremark would ideally like. Let's show you what it looks like, compared to 05.