WineHQ
Wine Forums

Board index » WineHQ » Wine Help » Linux




 Page 1 of 1 [ 3 posts ] 



 
Author Message
 Post Posted: Mon Aug 20, 2012 9:11 am 
Offline
Newbie
Newbie

Joined: Mon Aug 20, 2012 8:25 am
Posts: 3
Hello,

i have written a starter/tuning/benchmark bash-script for StarCraft 2 and wanted to know from you guys:
- what else benchmark information could be important,
- how good are my tuning parameters (esp. scheduler),
- could there be others to test with other benchmark parameters
and the golden question - how could i grab benchmark information directly out of the wine-server/process (like graphic throughput)?

I am quite an amateur in terms of scripting, wine, etc. so dont even try to correct/improve everything.
This is by far the most complex thing i have ever written and i am proud like a mother about my work.

I know this is the wrong forum for scheduler parameters and scripting so consider my questions as wine-related.
And i also know that, on top of the missing reproducible workload (this is the next to work on), performance is a vague, relative and none the less complex thing.

Only for you, i generously added script-comments.
Please, feel free to comment or correct me, i am open for every suggestion.

for readability purpose, im posting this in pastebin:
http://pastebin.com/8TpjFJWD


Top 
 Post Posted: Tue Aug 21, 2012 12:06 pm 
Offline
Newbie
Newbie

Joined: Mon Aug 20, 2012 8:25 am
Posts: 3
i have implemented a very ugly workaround to get a reproducible workload by faking key presses and klicks to login, start a replay, etc.
its not the best solution for this problem but it was enough to test the "performance parameters", i have picked, repeatedly.
i have to admit now, they are crap.

even though it was the same environment, i never got results that were even close to be comparable to each other.
here is what "perf sched record" usually gives and what my average results were:

Code:
:~$ sudo perf sched latency | grep SC2.exe
 ---------------------------------------------------------------------------------------------------------------
  Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at     |
 ---------------------------------------------------------------------------------------------------------------
  SC2.exe:13289         |   2487.822 ms |       52 | avg:   14.235 ms | max:  263.354 ms | max at: 33353.674463 s
  SC2.exe:10844         |     10.390 ms |       93 | avg:    8.706 ms | max:   34.361 ms | max at: 33353.621905 s
  SC2.exe:10793         |   1679.317 ms |      123 | avg:    7.483 ms | max:   49.546 ms | max at: 33353.563309 s
  SC2.exe:13293         |     85.150 ms |      135 | avg:    4.304 ms | max:  106.528 ms | max at: 33353.582307 s
  SC2.exe:9139          |     22.930 ms |       30 | avg:    1.997 ms | max:   11.155 ms | max at: 33353.228996 s
  SC2.exe:13288         |    181.845 ms |      104 | avg:    1.348 ms | max:   15.832 ms | max at: 33353.560924 s
  SC2.exe:10842         |      7.455 ms |      286 | avg:    1.028 ms | max:   15.404 ms | max at: 33353.156948 s
  SC2.exe:8871          | 141457.380 ms |      301 | avg:    0.489 ms | max:    8.087 ms | max at: 33353.874751 s
  SC2.exe:10843         |     34.294 ms |      386 | avg:    0.071 ms | max:    6.117 ms | max at: 33352.905841 s


every 10 seconds, the script gathers such a chunk of data and in the end calculates the average values.
out of three test-benchmarks with a duration of 5 minutes of heavy-load-starcraft, here is what i got:

Code:
Benchmark cycles run:11      Tasks monitored:120
Runtime ms   | Switches      | Avg delay ms   | Max delay ms
17820.90340   129.81666      2.55822      65.32324

Benchmark cycles run:11      Tasks monitored:128
Runtime ms   | Switches      | Avg delay ms   | Max delay ms
15050.62118   134.00000      2.87294      88.56131

Benchmark cycles run:11      Tasks monitored:130
Runtime ms   | Switches      | Avg delay ms   | Max delay ms
14612.82010   117.38461      3.64117      119.16806


i desperately need to collect other/different parameters that will give viable results but this field is simply too vast for a newbie like me.
i took a look at /proc/'PID'/[sched-stat-map] but i dont know if they are appropriate for my purpose.

how can i pull information out of a running wine-process? does wine maybe even has an interface for that?
in a generous sense, all the "fixme" messages could be considered as throughput :)

plz halp with some wisdom, or just a hint. i will learn the rest on my own.


Top 
 Post Posted: Sat Sep 08, 2012 5:22 am 
Offline
Newbie
Newbie

Joined: Mon Aug 20, 2012 8:25 am
Posts: 3
I just found the the fps debug-channel.

Code:
WINEDEBUG="-all,+fps" wine SC2.exe &> bench-sample_fps


with this major breakthrough, i think, i can now get reliable information and put them in context to cpu and gpu load.

Code:
aticonfig --od-getclocks >> bench-sample_gpuload
ps -eLo pid,%cpu,%mem,cputime,lwp | grep `pidof SC2.exe` >> bench-sample_cpuload


the next step will be an automation of altering and testing settings and compare the different results ... damn, this will never be finished.


Top 
Display posts from previous:  Sort by  
 
 Page 1 of 1 [ 3 posts ] 




Board index » WineHQ » Wine Help » Linux


Who is online

Users browsing this forum: No registered users and 3 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: