On Friday 22 April 2011 10:20:25 Emanuele Oriani wrote:
Hi guys,
I'd like to instrument wined3d in order to get to the bottom of the two issues with StarCraft II:
You probably won't get far with instrumenting the functions. The cause(s) of the d3d performance issues are more complex than just one function that is too slow. It needs a more structured approach than just trying to fix single games.
In the last weeks I set up automated performance tests with the phoronix test suite. You can see the results at www.openbenchmarking.org. Michael Larabel has promised to add some functionality that should make following the results easier, but this hasn't happened yet unfortunately. (see e.g. [1] and [2]). What is missing is a single page to follow the progress of multiple wine versions.
It would be tremendously helpful to add a StarCraft 2 test. However the test has to be able to run fully automatically, with zero human intervention. I have not found a way to do this with SC2. Heck, I couldn't even find a benchmarking facility beyond writing the framerate with Ctrl-Alt-F.
We also have to untangle the complexity of the games. I'd say we have dozens of performance bugs that each cost 1-2 percent compared to Windows and sum up. [3] is a small draw overhead test, more tests like it are needed: *) A texture switching test *) Framebuffer setup test *) Shader changing performance *) Shader constant setting *) Stretchrect performance *) Dynamic resources
Those are just a few guesses. Performance problems may be in other areas of D3D. My basic plan is to improve those narrow tests and use the automated performance tracking to verify that we're headed in the right direction.
Stefan
[1] http://openbenchmarking.org/result/1104209-GR-WINE1318122 [2] http://openbenchmarking.org/result/1104203-GR-WINE1318852 [3] https://84.112.174.163/~git/perftest (note that the SSL cert is self-signed, you have to use GIT_SSL_NO_VERIFY=true)