istartedsomething

Direct3D backwards compatibility has always been “you get what your graphics cards run”. For example, Crysis may be a Direct3D 10 game, but if you only have a Direct3D 9-level graphics card, it might only make your jaws open instead of hitting the floor. But that’s all going to change comes Windows 7.

Simply put, in Windows 7, you will experience the same graphics fidelity and detail whether you have a Direct3D 9-level graphics card or even no graphics card. The magic fairy dust which makes this possible is called Direct3D 10Level9 and Direct3D WARP10 respectively.

Direct3D 10Level9 is exactly what the name describes, it allows you to run Direct3D 10 applications on Direct3D 9 hardware with the same visual output but at the cost of performance penalties compared to running on native Direct3D 10 hardware. On the other hand, if your graphics functionality or partially or wholly non-existent either by design (I’m looking at you Intel) or due to anomalies (graphics driver), that’s where WARP10 comes into play.

WARP which stands for Windows Advanced Rasterization Platform is a complete implementation of Direct3D 10 in software form – that is using only the CPU. It’s even capable of anti-aliasing up to 8xMSAA and anisotropic filtering. What’s amazing is that it is parity with the output of a native Direct3D 10 device. The MSDN article describes “the majority of the images appear almost identical between hardware and WARP10, where small differences sometimes occur we find they are within the tolerances defined by the Direct3D 10 specification.”

The question every one of us is asking is of course, so how well does it run. And the MSDN article answers with no other than our good friend Crysis. So this is the benchmark results of WARP10 running 800×600 with lowest quality settings.

And compared to graphics cards…

Now before you laugh so hard you cry, remember in the WARP10 scenario the CPU is not only rendering the game now but also continuing to process everything else that it originally had to process with a graphics card. Taking that into consideration, I applaud it for even running at all. Remember this is Crysis.

If you’re gamer, obviously this is not plausible and the developers agree. “We don’t see WARP10 as a replacement for graphics hardware, particularly as reasonably performing low end Direct3D 10 discrete hardware is now available for under $25. The goal of WARP10 was to allow applications to target Direct3D 10 level hardware without having significantly different code paths or testing requirements when running on hardware or when running in software.”

Personally, I’m just glad the DirectX team is taking a positive turn for Direct3D backwards compatibility. Instead of just plainly not supporting older hardware, offering some alternatives to achieve the same visual result,.which after all the goal of Direct3D. Now who’s up for some Crysis slideshows?

Update: This should once and for all end the debate, “but can it run Crysis?” Yes. Everything can.

Update 2: Some examples outside of hardcore FPS games where this might be useful include: 3D CAD applications, casual games, simulations, debugging 3D applications and medical applications.


26 Comments

  1. Imran Hussain

    Great stuff, but theoretically this means that they can also make AERO run on older hardware, which I think they should, as the AERO-less experience just ruins the image of the OS>

  2. Fowl

    So they’re paving the way for larabee(sp?) then?

    *cough* intel *cough*

    I think the real news is the DX10 on DX9 hw forward compat news – although I wonder why there is no DX9 on DX10 hw; that would be a real back compat move.

  3. Jote

    Warp 10, engage

  4. albertpkmn

    I love the “Look ma, no GPU”.

  5. JMacalinao

    But can it run Cry–

    Oops, wrong post. :P

  6. Walt

    *flashback* Hasn’t this been done before with Swift Shader? Looks like ms bought it and made it compaible with dx10

  7. Long Zheng

    @Walt: Hmm, never heard of Swift Shader before. The difference of course is that Swift Shader only supports DX9 for now.

  8. wanga

    The trend is +++ cores. More cores means more parrallel computing power, means pixel pushing power.

    x86 has proven resillient over time, and with Larrabee things are going to get interesting.

  9. Jeet Chowdhury

    Sounds GooD.

  10. Helmore

    I was wondering the same thing as Fowl and wanga, will this help Larrabee into the GPU market or something like that?

    One other rather funny fact was that Intel’s 3 GHz. Core 2 quad and their Core i7 was faster than Intel’s integrated graphics solution. Sure tells you how crap Intel’s IGPs are :P (or how good their CPUs…..)

  11. mrmckeb

    Could I suggest that another use for this is enabling Windows 7’s DX10 exlusive parts of the UI to work with non-compliant machines? Poorly of course…

  12. JeGX

    Think to the first bugs that will activate WARP even if a DX10/11-capable card is detected ;)

  13. CS

    Cool!!

    Now i can use my Super Mega GTX 280 SLI CUDA to process all this!! –
    “Look ma, my GPU being used as a CPU to process all the graphics!!!”

  14. Sven

    I wonder how this differs from the reference rasterizer that has always been a part of DX (though only available in the debug runtime). Probably it’s faster, the reference was insanely slow the last time I used it.

  15. zooba

    @Sven – that’s pretty much it. The reference rasterizer is intended as a reference for determining problems with the accelerated implementation (because it should match the reference – if the reference gets it wrong, it is your fault, not MS and not the GPUs). It was never intended for actually being used in a release application, whereas WARP is.

    I think MS got off on the wrong foot by using a game as a demo/benchmark. Using CAD software such as Solidworks (with a 3D view) might have been more appropriate (less distracting).

  16. hrm

    It’s /still/ unplayable. Who in their right mind would want to sit there playing crysis at 800×600, no effects, and crawling along as a measly 7fps? Its an interesting idea, but completely pointless. If you’re the owner of a machine with any of the cpus mentioned chances are you already have a half decent to good graphics card capable of running crysis at a meduim to high level so would have no interest in driving yourself up the wall running it with crappy sowtware rendering.

  17. Long Zheng

    No one said anything about playing Crysis. This is a benchmark to indicate performance.

  18. Cakes

    Long keep an eye on http://www.custompc.co.uk/ in the future they seem to be recycling your finds not ripping you off directly but I’ve noticed a few time stories of yours pop up on there site (which are then linked to & mangled by sites like Engadget) with there own spin from looking at what you found on public links.

    Nothing you can do to really stop them but its bad form.

    Anyway the software renderer will be handy for some real low end stuff which is what the Swiftshader crowd were targeting (it is really them thats built this ?) and also help avoid repeats of the Intel GMA900/915 clusterfuck as the CPU should be able to handle Aero if the GPU cant.

  19. David

    I wonder if this means virtual machines will be able to use DirectX.

  20. Atom Quarkfull

    @David
    “I wonder if this means virtual machines will be able to use DirectX.”
    _____________________________________________________
    VM companies will still have to write a “Direct3D 9-level graphics card emulation driver”,
    which is the required low-end for this code. As most of the VM’s provide a limited
    DirectX 8 and lower virtual video solution; it won’t work as you’re thinking. ::sadly::
    But it may give them an easier path in developing a future driver model for their VM’s
    that can now use an alternative to a “real” hardware accelerator (a software route)!
    Though it will be “”SLOW”", as it steps through even more software hoops…..

  21. Ian

    This is such a good development – although I think some people (not commenter’s here, but on the web) are getting a bit too excited about running a DX10 game on something like an integrated graphics chipset.

    Having said that, I would still be tempted to try running a game in software rendering mode just to see how it performs ;-)

  22. Stephen

    @David & @Atom

    This was the same thing I headed over here to the comments for, thinking along the same lines.

    With VM’s current limitations on VRAM some simple offloading of the avaiable VCPU resources to process graphics in the VM would be very handy for some low-level app’s that need a bit more than 4 or 8 MB of VRAM.

  23. GRiNSER

    AERO emulated would be really nice – like Aqua on older MACs…

  24. RedWodka

    Some ppl here state that the performance of it is too low to be useful. I don’t agree. WARP is not supposed to replace a 3D-graphics card, it is only supposed to a assist a graphics card. It will emulate only those features that are not available on the graphics card. The tests above show the performance of WARP when no 3D hardware is present. But that is not what it is for. I think it is a good thing that Microsoft takes OpenGL’s example.

  25. ankur

    Some ppl here state that the performance of it is too low to be useful. I don’t agree. WARP is not supposed to replace a 3D-graphics card, it is only supposed to a assist a graphics card. It will emulate only those features that are not available on the graphics card. The tests above show the performance of WARP when no 3D hardware is present. But that is not what it is for. I think it is a good thing that Microsoft takes OpenGL’s example.
    —————–
    EXACTLY!!!
    u got it right :)

  26. gumby

    Im a PC Repair Specialist, 2 Years in the making, I say kick arse and leave a footprint WARP, ! Up Nvidia And Up ATI they can go to hell.

Leave a Reply

  1. Windows 7 - discussione ufficiale - Pagina 30 - Forum di Tom's Hardware Italia

    [...] 3d Warp 10 Longh Z. Articolo completo Windows 7 Tutte le info – Installa Vista sul tuo Notebook o Desktop senza Crapware – Software [...]

  2. Windows 7 Direct3D 10Level9 | Windows 7 News

    [...] This is something that Microsoft intents to change in Windows 7. Microsoft will – according to Long – make use of something they call Direct3D 10Level9 which will allow users to run Direct3D 10 [...]

  3. El aterrizaje de DirectX 11

    [...] reducidas, en tarjetas gráficas compatibles con versiones anteriores de la API. Incluso, como hemos podido ver en Istartedsomething, se incorporan nuevas herramientas que permiten emular ciertas funciones de Direct3D que se [...]

  4. Tech Mania » Blog Archive » Direct 3D Warp 10 in windows 7 to enable direct X 10 in direct X 9 cards

    [...] more here SHARETHIS.addEntry({ title: “Direct 3D Warp 10 in windows 7 to enable direct X 10 in direct X 9 [...]

  5. Direct3D WARP10: compatibilidad software DX10/11 | The Inquirer ES

    [...] Objetivo: garantizar la compatibilidad con anteriores interfaces de programación de aplicaciones, con la misma calidad visual, pero a costa de una pérdida importante en el rendimiento, como explican en istartedsomething. [...]

  6. Direct3D 11 Will Also Run… in Software Mode Thanks to WARP! | The Geeks Of 3D

    [...] Direct3D WARP10 to enable you to play DX10 Crysis using software renderer only, albeit slowly [...]

  7. [Long Zheng]Direct3D WARP10 (Look Ma No GPU) - Overclock.net - Overclocking.net

    [...] debugging 3D applications and medical applications. All above written by Long Zheng Source @ istartedsomething __________________ "Love challenge but hate competition. Aim to be better but not the best. [...]

  8. Windows 7 to allow DX9 cards and CPU to run DX10 graphics | Windows 7 Center

    [...] from the CPU will be near identical to the ones generated by the graphics card. Long Zheng ran a couple of benchmarks to demonstrate the differences in FPS under Crysis when running under [...]

  9. ComputerBase - Windows 7: Direct3D 10.1 für alle

    [...] Parwez Farsan Quelle: IStartedSomething.com Massenproduktion von 34-nm-Flash bei Intel und [...]

  10. Hardware 2.0 mobile edition

    [...] 7 The other day the eagle-eyed Long Zheng noticed a document on Microsoft’s MSDN site outlining how Microsoft plans to allow DirectX 10 [...]

  11. WARP Video Cards Back To The Future With Windows 7 | What Is Wrong With The World Today

    [...] Direct3D WARP10 to enable you to play DX10 Crysis using software renderer only, albeit slowly [...]

  12.   WARP: Software based Direct X 10 Emulator, Renderer & Rasterizer in Windows 7 by Tech[dot]Blog

    [...] (Windows Advanced Rasterization Platform) is a new component that will be part of DirectX graphics technology in Windows 7. WARP10 is a high speed, [...]

  13. Psst, Betanews. This is what Windows 7 looks like in Hyper-V… - Within Windows

    [...] sophisticated platform than normal (still possible), or that Build 6951 contains the new feature blogger Long Zheng revealed two weeks ago: a software rendering engine currently called WARP10 that enables graphics made for DirectX 10 to [...]

  14. WARP10 | hilpers

    [...] http://www.istartedsomething.com/200…albeit-slowly/ Praticamente con Windows 7 si potranno usare le DX10 anche su hw DX9. O anche senza gpu. Cmq, per [...]

  15. Warp 10 3d to give Direct X 10 effects with a Direct X 9 card | Tech Mania

    [...] more here If you enjoyed this post, make sure you Subscribe to my RSS feed! Tags: Crysis, [...]

  16. barnettworks location found? - Page 4 - Overclock.net - Overclocking.net

    [...] 10Level9 which allows for rendering Direct3D 10 effects on DX9 cards. More information here: http://www.istartedsomething.com/200…albeit-slowly/ [...]