Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am making a study for a research project that involves measuring the performance and quality impact of rendering 3d games using a software rasterizer (like WARP).

I wonder if there is a way to force games to use WARP. Maybe something easier would be to just use games that support using warp or the reference rasterizer. Are there any relatively new game (no more than 8 years old) that supports that? I don't remember seeing that option in games in a long time.

If there is no tool or setting to do that, I was thinking I could use something like Detours (http://research.microsoft.com/en-us/projects/detours/) or EasyHook (http://easyhook.codeplex.com/), and perform binary rewriting on the code. For DirectX 10 games I think it should be enough to intercept the CreateDevice call and change the device. For DirectX9 games is it enough to change the D3D9CreateDevice for a D3D10CreateDevice? I tried with samples from the SDK and it seems it is not the case. Any suggestions on what to do there?

share|improve this question
1  
The DX9 and DX10 APIs are completely different - porting a game from one to the other involves significant quantities of work. As for WARP performance you might find virtualdub.org/blog/pivot/entry.php?id=350 interesting. –  Adam Feb 20 '12 at 19:49
    
Nice article! That's very helpful. Thanks –  cloudraven Feb 29 '12 at 4:53
1  
There is an article here that has a table with "Direct3D 10 Crysis running at 800x600 with all the quality settings on their lowest levels" –  bobobobo Dec 2 '12 at 11:33
    
Yeah, that's the article that triggered my interest. Its amazing. –  cloudraven Dec 4 '12 at 10:15

2 Answers 2

up vote 1 down vote accepted

There is a way to force a game to use WARP without disabling Display Driver, Just install the direct X SDK. http://www.microsoft.com/en-us/download/details.aspx?id=6812 Go to C:/windows/system32 Run dxcpl.exe In "Scope" click "Edit list" Add The Path To Your Application Go to your game / application directory And Launch It.

share|improve this answer
    
The Windows 8.x SDK is required for DirectX 11.1/.2 DEBUG layers and includes an updated DXCPL utility. Without the DirectX 11.1 runtime on Windows 7 SP1, WARP only supports Feature Level 10.1 or below. –  Chuck Walbourn Oct 7 at 16:22
    
I do have the DX SDK. I didn't know about that tool. That is even more convenient. Thanks –  cloudraven Oct 10 at 5:09

Install a build of Windows 8 and disable your video card in device manager. The whole system will then be running using the 'Microsoft Basic Display Adapter' - which is WARP.

share|improve this answer
    
Wow. Thanks. That sounds great. I get myself a copy of Windows 8 and try it out. –  cloudraven Feb 29 '12 at 4:51

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.