sc2 performance (was: Wine and D3D)

Emanuele Oriani emaentra at
Mon Jan 10 15:03:11 CST 2011

Hi Stefan/Dan,

following a couple of answers.

1) Apparently rendering is not multi-threaded.
I've run the process as specified by Stefan and saved std::err on a 
file. The command
grep ":d3d9:" /home/ema/sc2.log.txt | sed 's/:.*//g' | sort -u | uniq -c
Produces only one value.

2) Stefan, do you have any hint on where we should start optimizing the 
calls of D3D -> OpenGL functions?
Where do we waste time/CPU cycles?

3) Setting affinity is a "game changer".
I have the following FPS on the exact same game replay:
- all Ultra, Full HD (with affinity on one core) 20~22 FPS
- all Ultra, Full HD (without affinity) 9~10 FPS
- all Ultra, shaders Low, Full HD (with affinity on one core) 50~60 FPS
- all Ultra, shaders Low, Full HD (without affinity) 20~25 FPS
(StarCraft II allows to print FPS in real time pressing Ctrl+Alt+F).
Apparently setting affinity makes that core usage (and speed) to 100%.
My system is an AMD Phenom II X4 965 BE, nVidia 470 GTX (260.19.06), 8 
GB Ram, Ubuntu 10.10 x86-64.
Wine is version wine-1.3.11
To set affinity I'm using a simple executable (written in C++), if you 
want I can share that as well.

Thanks again,

Ps. On a side note it appears that the larger the map, the lower the 
FPS, even if technically speaking the number of objects are supposed to 
be similar.

On 10/01/11 15:45, Dan Kegel wrote:
> emaentra at wrote:
>> If during my tests I set the affinity of the executable (and
>> subsequently all its threads) to a particular core I have to say that
>> core gets fully used and FPS are better than general
> That's interesting.
> what cpu, gpu, and version of wine do you have,
> and what is the fps before and after pinning
> the game to one cpu?
> You should use, say, the fps on launching into
> one of the default scenarios without touching anything
> so that we can get a reproducible measurement.
> Tell us what mouseclicks to use to replicate your measurement.
> Or, if you think it's needed, right after launch,
> select all units and have
> them start moving, and use the lowest fps seen
> during those few seconds.

More information about the wine-devel mailing list