3
\$\begingroup\$

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?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ 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. \$\endgroup\$
    – Adam
    Commented Feb 20, 2012 at 19:49
  • 1
    \$\begingroup\$ 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" \$\endgroup\$
    – bobobobo
    Commented Dec 2, 2012 at 11:33
  • \$\begingroup\$ Yeah, that's the article that triggered my interest. Its amazing. \$\endgroup\$
    – cloudraven
    Commented Dec 4, 2012 at 10:15

2 Answers 2

5
\$\begingroup\$

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.

\$\endgroup\$
3
  • 3
    \$\begingroup\$ 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. \$\endgroup\$ Commented Oct 7, 2014 at 16:22
  • \$\begingroup\$ I do have the DX SDK. I didn't know about that tool. That is even more convenient. Thanks \$\endgroup\$
    – cloudraven
    Commented Oct 10, 2014 at 5:09
  • \$\begingroup\$ I can confirm this. 11_0 and 11_1 were even listed and reported in dxcpl OOTB, but until I installed the platform update KB2670838 they didn't work. \$\endgroup\$
    – mirh
    Commented Sep 11, 2019 at 19:50
1
\$\begingroup\$

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.

\$\endgroup\$
1
  • \$\begingroup\$ Wow. Thanks. That sounds great. I get myself a copy of Windows 8 and try it out. \$\endgroup\$
    – cloudraven
    Commented Feb 29, 2012 at 4:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .