Saturday, November 29th 2008

WARP10 Brings in DirectX 10 CPU Acceleration

Back when Redmond was gearing up for the launch of Windows Vista, the PC hardware industry had its own plans, of brandishing support for the new operating system. Microsoft then came up with its "Windows Vista-Capable" hardware tag, which eventually put the company into an embarrassing situation where users would rant about their hardware, more so branded PCs and notebooks, being anything but capable of the OS. That was because vendors sold PCs with dated DirectX 9 supportive hardware, which didn't quite qualify to be "capable" of the DirectX 10 API the OS shipped with. The company even saw itself facing charges for false marketing.

To avoid that happening with the next release of the OS, Windows 7, Microsoft shaped up the Windows Advanced Rasterization Platform (WARP10). WARP10 is a component of the DirectX 10 API that provides software rasterization for all DirectX 10 calls, using every available hardware component the PC has. Think of it as 100% software acceleration in the absence of compliant hardware. It is shipping in beta form in the November 2008 DirectX SDK. Now, even a Pentium III 800 MHz will be "capable" of rendering Direct3D 10 scenes, as Microsoft puts it. With this, Microsoft guarantees that any and every PC or notebook carrying the "Vista Capable" sticker would be able to use every single feature the OS has to offer, including DirectX 10. WARP10 benefits from multi-threaded and multi-core CPUs, with specific benefits coming out from the availability of SSE4.1 instruction sets. Microsoft claims that even the CPU in Windows Vista's minimum system requirements list will be capable of WARP10. The excitement however, dies down when you find out just how capable today's CPUs are in accelerating 3D: An Intel Core i7 was able to "run" Crysis, on a resolution of 800 x 600, churning out a proud 7.36 frames per second (at least it managed to beat Intel's best integrated graphics). To learn more about WARP10, visit this page.
Add your own comment

51 Comments on WARP10 Brings in DirectX 10 CPU Acceleration

#26
DrPepper
The Doctor is in the house
NecrofireWho actually plays Crysis on a daily basis?

It doesn't take much to render aero, so why would my cpu be pegged while moving a window around?
moi crysis is better than most games out atm.
Posted on Reply
#27
PVTCaboose1337
Graphical Hacker
lemonadesoda
That IBM operating systems was one of my favorites! I still remember it on it's floppy greatness... I might have it sitting around somewhere.
Posted on Reply
#28
roofsniper
OctaveanIf they can do this they can get DX10 to work in XP,.... ;)
same if there was dx10 in xp i would buy xp again to have it.
Posted on Reply
#29
grazzhoppa
They took an API meant to relieve the CPU of code execution and put the execution right back onto the CPU. This is the opposite of acceleration!
Think of it as 100% software acceleration in the absence of compliant hardware.
"100% software acceleration" is market-speak for "software emulation". Read and understand the words of press releases rather than skimming them, for those that say "any acceleration is better"!
Posted on Reply
#30
francis511
LillebrorNot really. Its alot more technical than that
OctaveanIf they can do this they can get DX10 to work in XP,.... ;)
I think that would be possible , just really useless. It MIGHT bridge the xp-vista gap tho`.
Posted on Reply
#31
Lillebror
Its not possible cause of different driver architecture.
Posted on Reply
#32
powerwolf
Haha! Microsoft are making DirectX, Larabee ready!
Posted on Reply
#33
cdawall
where the hell are my stars
this is actually pretty cool that means that you could run DX10 on X19xx series cards that are more than able to play todays games :D


omg i am so breaking out my ti4200 for some WR's in vantage :nutkick:
Posted on Reply
#34
lemonadesoda
btarunrIt indeed is a gimmick. Tomorrow one can't sue MS for false marketing, and it doesn't affect the business of discrete graphics manufacturers anyway.
Gimmick? No. This is Larrabee code.

Here is a paper published by Intel that shows that Larrabee can do x86 DirectX9 rather well softwarecommunity.intel.com/UserFiles/en-us/File/larrabee_manycore.pdf. What MS is doing is putting DirectX10 into x86. The Intel PDF talks about 20x speed up using a "10 in order" Larrabee architecture compared to Core 2 dual clock for clock. Alternatively, a single core Larrabee is about 2x faster than a Core 2 dual clock for clock.

OK, so for some numbers:

1./ An i7 is about 3x as fast as a Core 2 dual at math crunch/vector stuff
2./ And an i7 clocks about 3x as fast as a Larrabee core (3GHz vs. 1GHz)
3./ Therefore an i7 can outperform a single Larrabee core by 3*3/2 = 5x

BUT
4./ A larrabee has 40-80 cores. Therefore the larrabee GPU is 8-16x faster than i7.

5./ Therefore if an i7 can do 7fps Crysis, a Larrabee could do 50-100FPS.

I'm sure the real world scaling isnt as simple as the math above. But you get the idea.
Posted on Reply
#35
lemonadesoda
PS. The microsoft link is actually very informative: msdn.microsoft.com/en-us/library/dd285359.aspx
Target Customers
The target customer base for WARP10, put most concisely, is all applications that can use Direct3D 10 or 10.1. This includes:

Casual Games
Games that have simple rendering requirements but also want the ability to use impressive visual effects that can be hardware accelerated. The majority of the best selling game titles for Windows are either simulations or casual games, neither of which requires high performance graphics, but both styles of games greatly benefit from modern shader based graphics and the ability to scale on hardware if present.

Existing Non-Gaming Applications
There is a large gamut of graphical applications that want to minimize the number of code paths in their rendering layer. WARP10 enables these applications to implement a single Direct3D 10, 10.1, or 11 code-path that can target a very large number of machine configurations.

Advanced Rendering Games
Game developers that want to isolate graphics card or driver specific rendering errors. We believe that all games, even extremely graphically demanding games would benefit from being able to render their content using WARP to validate that any visual artifacts they might experience are due to rendering errors or problems with hardware or drivers.

As mentioned above, the target customers for WARP also include those that may not use Direct3D 10 or 10.1 currently. This includes applications that need to ‘always work’ on all machines, image processing applications that don’t want to write CPU and GPU versions of image processing algorithms, image processing algorithms where speed or use the GPU is not critical such as printing, and emulators and virtual environments that are attempting to display advanced 3D graphics.

The target audience for the November SDK BETA release of WARP10 is to get the WARP10 rasterizer into the hands of developers. We feel confident at this stage of our development that we have achieved a high level of conformance and we are currently working on improving our performance and multi-core scalability. We are working hard to test WARP10 in more unusual situations and with more varied and diverse applications. Between this beta release and the final release of WARP10 in Windows 7, there should be noticeable increases in performance as well as scaling efficiently and any conformance feedback we receive from this beta and our continued testing.

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.
Posted on Reply
#36
DaMulta
My stars went supernova
The November DirectX SDK includes a beta version of the WARP10 rasterizer. Because WARP10 uses the same software interface to Direct3D that is used by the references rasterizer, any Direct3D 10 or 10.1 application that can support running with the reference rasterizer can be tested with WARP10. Rename D3D10WARP.DLL to D3D10REF.DLL and place it in the same folder as the sample or application and when you switch to ref you will see WARP10 rendering.

If WARP10 is renamed D3D10Ref.DLL and placed in C:\Program Files (x86)\Microsoft DirectX SDK (November 2008)\Samples\C++\Direct3D\Bin\x86, the DirectX samples can all run against WARP10, either by clicking the ‘Toggle Ref’ button in the sample, or running the sample with /ref specified on the command line.
www.microsoft.com/downloads/details.aspx?FamilyID=5493f76a-6d37-478d-ba17-28b1cca4865a&DisplayLang=en

Anyone want to see if they can get Crysis to run in DX10 on XP?


:)
Posted on Reply
#37
Mussels
Freshwater Moderator
so this is how DX11 is going to work...

Look at it this way: DX10 and DX 10.1 hardware may do 90-95% of DX11 code already, but now they have a software emulator to cover the rest.
Posted on Reply
#38
DrPepper
The Doctor is in the house
Musselsso this is how DX11 is going to work...

Look at it this way: DX10 and DX 10.1 hardware may do 90-95% of DX11 code already, but now they have a software emulator to cover the rest.
I read somewhere that dx11 was more for developers to help them get the full potential of dx10 but thats what i read i really don't know much about dx11
Posted on Reply
#39
Mussels
Freshwater Moderator
DrPepperI read somewhere that dx11 was more for developers to help them get the full potential of dx10 but thats what i read i really don't know much about dx11
DX11 pwns. read up more on it, it even has native multithreading for CPU's
Posted on Reply
#40
raptori
woooow DX10 by software ..... it's sure not for gamers but DX10 by software .... big joke .... could we benefit form this extra performance by using good CPU and DX10 GPU.
Posted on Reply
#42
Hayder_Master
now im look to other way , did that mean new amd phenom rise up more with this
Posted on Reply
#44
Deleted member 3
Actually it's nothing new, SwiftShader already does this with DX9. And even though MS gives Crysis numbers, it's obviously not meant for gaming.
Posted on Reply
#45
btarunr
Editor & Senior Moderator
lemonadesodaGimmick? No. This is Larrabee code.
What MS is doing is putting DirectX10 into x86.
Well, considering even a Phenom is allowed to run it, it's not specific to Intel processors (although benefits from SSE4.1). The performance of the Intel chips being better is very much related to how today's Intel processors stack up against those from AMD. And no, MS had "put" DX10 on x86 before NVIDIA and AMD even came up with compatible GPUs. How do you think MS makes the API? They code and test it on x86/Itanium based computing farms first.
Posted on Reply
#46
Swansen
Wait, so this is just for Aero right?? or is this for the whole operating system itself?? Ether way, to me, this seems like they haven't brought down system requirements any?? but i hope thats not true.
Posted on Reply
#47
Mussels
Freshwater Moderator
SwansenWait, so this is just for Aero right?? or is this for the whole operating system itself?? Ether way, to me, this seems like they haven't brought down system requirements any?? but i hope thats not true.
huh? your requirements comments make no sense.
Posted on Reply
#48
Swansen
Musselshuh? your requirements comments make no sense.
how so? even then i'm still confused, is this just for Aero, (or equivelant) or is it for the whole OS??
Posted on Reply
#49
Mussels
Freshwater Moderator
Swansenhow so? even then i'm still confused, is this just for Aero, (or equivelant) or is it for the whole OS??
its doing directX 10 in its entirety. if it was just for the OS, how the hell would there be crysis benchmarks?
Posted on Reply
#50
Swansen
Musselsits doing directX 10 in its entirety. if it was just for the OS, how the hell would there be crysis benchmarks?
wow, Agro, but i don't know, thats why i was asking.
Posted on Reply
Add your own comment
Apr 18th, 2024 13:43 EDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts