Jump to content


Photo

DPSSim Simulation Tool


  • Please log in to reply
86 replies to this topic

#41 Shha

Shha

    King Hippo

  • Members
  • 646 posts

Posted 06 April 2009 - 11:06 AM

Ok so let me try tackling the problems. Its mostly connected to arms.

a) DPS seems to be about right

B) Overpower regularly shows only ~90% efficiency of use. Thats a bit low for a skill that can be shuffled around. Its around 450 hits in 3000 sec sim , never above 460

c) Mortal strike shows uses once every 7.5+ second. While i did prioritize execute higher for that run, its still awfully low.
Prioritized as highest skill except for bladestorm (above Exe OP or rend) , it still was used only once per around 6.5 sec.

d) overpower crit shows at 4088 average for dummy with battle shout. Thats with averaged Greatness/Grim tolls. In fact WITHOUT those trinkets my minimal crit was 4200 over longer period of time, with average getting close to 5k and highest occurances around 7k.

e) MS crits average at 5150, instead of 5400, whites seem to be equally affected - 3250 instead of 3600. Rend tick is pretty reliably 611 for me , 503 in the simulation. Overall MS seems to lack 5% damage, whites around 10%, and OP around 20% of damage.


f) Im in fact a bit rage starved on a dummy. I understand that its not that important, but your simulation shows basically perfect gcd usage, and lots of rage overflows (around once per 30 sec). In real testing i NEVER have rage overflows (well save for REAL rng streaks, but it just happens once in 15 min of testing) on a dummy (raid is obviously different). Every 30 seconds seems really strange. In fact without sunders i often get rage starved without any special rotations - just MS,SLam,Slam,OP every 6 seconds seem to eat up all my rage - your sim even models that giving me 11.66 rage/sec which obviously is NOT enough to sustain a perfect rotation (not counting executes even, the mentioned rotation is 65 rage in 5.5 second. Adding executes only makes it worse). A combo of MS,Execute very often left me with less then 30 rage, and Slamming didnt seem to bring it above 30 for really long time (like 10+ seconds) to use MS, even with use of OP. Streak of non crits/glancings tend to do it. I waste a decent amount of GCD due to low rage as well.


All in all the damage seems on target on the dummy , but its just because 2 "opposite errors" seem to happen. Damage from swings and specials is too low, but the rage somehow is much better and rotation becomes perfect (which i can get close to with raid buffs, but never on dummy (not reliably at least - i had dummy parses with 4400+ dps already without sunders - some nice rng not only boosts your damage, but also makes the rotation easy to maintain. Still my average is around 3500 dps, and i blame a lot of it on the rage starvation).

g) as for raid buffed, the same problem with lower then expected damage is there. Im showing 5600 dps, which seems ok, but its hard for me to understand how its achieved with lower damage then expected on most attacks. Additionally my rage/sec only goes up around 20%. That doesnt make much sense given how imp WF alone gets close to that number (would get there if not for slams), and we also get over 10% extra crit and hit harder.


Now a recap of most glaring problems:

1) OP is way too low. 5% on other skills can be explained by improper modelling of trinkets i did etc. 20% on OP is too big.

2)I actually dont even have trauma on my dummy build yet I do higher rend ticks (600-620) on dummy with battle shout, then the simulation shows with full raid buffs AND trauma.

3) Even with high priority on OP/MS the use of both skills is very "disappointing", with almost a second added to OP cooldown, and over a sec to MS. Removing Bladestorm seems to help a little, but its still around .75 added to both (i can understand MS, but OP with 6 sec use window should have close to perfect efficiency - EVEN with account for lag).

#42 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 06 April 2009 - 02:34 PM

Yes I did, but I'm dual wielding an axe in the mh and a mace in the offhand with both poleaxe and mace spec.
The mace spec option seems to work fine when I only got a 2h mace equiped but it doesn't seem to work when I'm offhanding it as a 1her.


I found the source of this - some bugs around dualwielding - it is now corrected, link has been updated.

Thanks for all these findings :-)

#43 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 06 April 2009 - 03:06 PM

@Shaa

As for damage values - I will check it with my character. As for Rend damage - isn't it the case of Above 75% HP bonus?

Regarding use of skills - I'm not sure what do you mean by this. Do you expect that all MSs and Overpowers will be used as often as their cooldown time allows?

#44 Shha

Shha

    King Hippo

  • Members
  • 646 posts

Posted 06 April 2009 - 04:11 PM

Well MS should be used with 0.5/1.0 delay depending whether there is overpower in rotation or not between uses assuming no simulated latency. That is with highest priority on it.

As for overpower - basically yes, it should be used every 6 seconds - because remember its the proc that has 6 sec cooldown, not overpower (which has 1). That means you should use rend at least once per 2 ticks of rend (there is no way to get more then double rend ticks per overpower if you really use it properly. Lower use of overpower can be a result of bad rend uptime (you have 95% which seems good), or sometimes you can have more overpowers then double the ticks (if you have gaps), but never less. In your simulation i regularly get around 44k vs 95k ratio for 30000s fights for example. Thats a considerable loss, on something that really does NOT get lost in normal play (its not even affected by lag really).

At first I thought it was because of Bladestorm (in reality Bladestorm is used so it doesnt cut OP procs - and if you prioritize it below overpower it shouldnt - since if you have OP down and use bladestorm, even if you get another proc it will still be usable). However while the effect is there, its much lower then some delay from MS/Execute that somehow spoil it. What i think might happen now (although its a guess), is that your TfB mechanics are broken. If you put it at top priority it actually gets used properly, but then it reduces Execute/MS damage the way it shouldnt. Not sure how much work it is, but overpower should be made usable for 6 seconds in first free GCD (and possibly made a priority after 4.5 sec of uptime). Right now either it gets reset after 3 seconds it seems (so maybe next tick of rend REMOVES existing tfb), or the cooldown on TfB starts after usage of OP , and not the proc pop up.

As for Rend - Its not hard to count the "rend power". For example with Betrayer and 5000 AP the power of rend would be

(380+756+5000/14*3.4)*1.2(imp rend)*1.3(Trauma)*1.1(Wrecking Crew)*(1.04*1.06 POSSIBLY 2h spec/blood frenzy - there were some posts suggesting it wouldnt apply which i cant find now, so ill count without it)=794*5ticks.

Your sheet shows 531 (without hp buffs on but i didnt count them either).

I think i might have accidentally found the mistake you did though :). On my first calculation i came with exactly the number from your sheet - the mistake i found later i made, was to skip weapon speed in the rend equation:

I used 380+(mwb+MWB)/2 + 5000/14 instead of 380+(mwb+MWB)/2 +5000/14*MWS

#45 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 06 April 2009 - 11:51 PM

Well MS should be used with 0.5/1.0 delay depending whether there is overpower in rotation or not between uses assuming no simulated latency. That is with highest priority on it.

As for overpower - basically yes, it should be used every 6 seconds - because remember its the proc that has 6 sec cooldown, not overpower (which has 1). That means you should use rend at least once per 2 ticks of rend (there is no way to get more then double rend ticks per overpower if you really use it properly. Lower use of overpower can be a result of bad rend uptime (you have 95% which seems good), or sometimes you can have more overpowers then double the ticks (if you have gaps), but never less. In your simulation i regularly get around 44k vs 95k ratio for 30000s fights for example. Thats a considerable loss, on something that really does NOT get lost in normal play (its not even affected by lag really).

At first I thought it was because of Bladestorm (in reality Bladestorm is used so it doesnt cut OP procs - and if you prioritize it below overpower it shouldnt - since if you have OP down and use bladestorm, even if you get another proc it will still be usable). However while the effect is there, its much lower then some delay from MS/Execute that somehow spoil it. What i think might happen now (although its a guess), is that your TfB mechanics are broken. If you put it at top priority it actually gets used properly, but then it reduces Execute/MS damage the way it shouldnt. Not sure how much work it is, but overpower should be made usable for 6 seconds in first free GCD (and possibly made a priority after 4.5 sec of uptime). Right now either it gets reset after 3 seconds it seems (so maybe next tick of rend REMOVES existing tfb), or the cooldown on TfB starts after usage of OP , and not the proc pop up.


Let's simulate simple OP-MS-Slam priority list.
We would have

0.0 TfB proc
0.0 OP
1.0 MS
2.5 Slam
4.0 Slam
5.5 last free gcd before TfB - currently priority list in DPSSim tries to do something even on this gcd, for example Slam

Case 1 - we are using slam at 5.5
5.5 Slam
6.0 TfB proc but we are in GCD from last Slam so we cannot use OP immediately
7.0 MS
8.5 OP

So we had second OP used 8.5s after first, and second MS 6s after first.

Case 2 - we are not using anything at 5.5
6.0 TfB proc
6.0 MS
7.5 OP

Now, we indeed have second MS exactly 5s after first, but second OP is 7.5s after first one.

Currently DPSSim would try to use gcd at 5.5 leading to case 1 as you observed. I will try to add in the future new conditions for priority list actions that will make simulating case 2 possible.

As for number of OP uses vs. Rend ticks - can you send me priority list and stats you are using while getting 44k vs. 95k ratio? I've tried to repeat it but constantly have OP hits*2 > Rend ticks results.

As for Rend - Its not hard to count the "rend power". For example with Betrayer and 5000 AP the power of rend would be

(380+756+5000/14*3.4)*1.2(imp rend)*1.3(Trauma)*1.1(Wrecking Crew)*(1.04*1.06 POSSIBLY 2h spec/blood frenzy - there were some posts suggesting it wouldnt apply which i cant find now, so ill count without it)=794*5ticks.

Your sheet shows 531 (without hp buffs on but i didnt count them either).

I think i might have accidentally found the mistake you did though :). On my first calculation i came with exactly the number from your sheet - the mistake i found later i made, was to skip weapon speed in the rend equation:

I used 380+(mwb+MWB)/2 + 5000/14 instead of 380+(mwb+MWB)/2 +5000/14*MWS


I found bug in Rend damage calculations - I divided part of base equation by two - have no idea why, maybe some old version of Rend damage from WotLK ptrs. I also compared effects to what I get on live on dummy - seems like neither 2h spec nor Wrecking Crew influences Rend, while Blood Frenzy is. Probably will have to do more tests when 3.1 ships.

#46 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 17 April 2009 - 02:17 PM

DPSSim has been updated:

- SEP values can now be automatically calculated - see SEP panel for details
- simulation of several procs added (you can choose for example proc on Mirror of Truth or Grim Toll trinket) - check Procs panel

ArP is still simulated as multiplicative, with 25% bonus comparing to pre 3.1. Buggy implementation which is on live servers is not copied!

#47 levk

levk

    King Hippo

  • Members
  • 676 posts

Posted 28 April 2009 - 03:14 PM

Could you elaborate a bit on the SEP panel; what is 'Delta' and what should I put in there? Results vary wildly depending on what I put there and I don't know what it is.

Also, if I'm understanding this right, the answer you get for SEP means that (1 STR) * (NUMBER) ~ (1 STAT), if that's correct it's the inverse of what would be intuitive to me at least. If it's an established convention to express things this way then forget I said anything.

#48 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 28 April 2009 - 03:43 PM

Could you elaborate a bit on the SEP panel; what is 'Delta' and what should I put in there? Results vary wildly depending on what I put there and I don't know what it is.

Also, if I'm understanding this right, the answer you get for SEP means that (1 STR) * (NUMBER) ~ (1 STAT), if that's correct it's the inverse of what would be intuitive to me at least. If it's an established convention to express things this way then forget I said anything.


Unfortunately simulation isn't best to calculate SEP, exactly because of variations in DPS values that comes out of it. Delta is the difference between base value of given stat and that for which DPS will be calculated which in turn will be compared to base DPS allowing more or less to calculate how much DPS increase will given stat give when increased.

The best way to limit fluctuations is to use long fight times and/or many repetitions to average results. As for delta, the default values should generally be OK, as they usually mean big enough change to result in visible increase in DPS.

SEP value in my understanding means "increasing given stat by 1 will increase my DPS by SEP fraction of DPS increase given by 1 point of strength".

For example let's assume that 1 point of strength increases my DPS by 10.
If crit rating has SEP=0.7, it means that increasing my crit rating by 1 will increase my DPS by 0.7*10=7.
If ArP rating has SEP=1.2, increasing my ArP rating by 1 will increase my DPS by 1.2*10=12.

Feel free to correct me if I'm wrong.

#49 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 31 May 2009 - 08:39 PM

DPSSim updated:

- corrected bug in SEP calculations for dualwielding
- updated ArP calculations formula
- updated rage generation formula

As usual any kind of testing of changes and bug reports are welcomed.

#50 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 03 June 2009 - 10:10 PM

DPSSim updated:

- update for patch 3.1.3: Blood Frenzy 3/6% -> 5/10% haste, Bloodthirst cooldown and rage cost reduced
- added new procs from Ulduar trinkets

#51 LongneckExo

LongneckExo

    Glass Joe

  • Members
  • 3 posts

Posted 24 June 2009 - 03:40 PM

I attempted to run simulation. I inputed the values that I believed were required, inputed talents, and buffs that I would normally see. The simulation with my base rotation came up with a dps of 3k+. I believe I did something wrong because the highest dps I have ever had in a 25 man raid was 2250.

#52 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 25 June 2009 - 06:04 AM

Assuming you selected all buffs and procs the answer can be that simulation assumes perfect execution of priority list - latency/human error is not simulated and hence if you follow the same priority list in game it can happen that simulation will show higher dps.

#53 Gruntle

Gruntle

    King Hippo

  • Members
  • 509 posts

Posted 26 June 2009 - 10:04 AM

I have a couple of suggestions for improvements to the code.

Some minor things:
- Armory import would of course nice (but might be hard because of the way the stats should be specified?). All in all I guess that is a minor thing.
- Some graphical representations of the results. Pie chart for the damage distribution, DPS vs time graph and so on. Not exactly necessary, but I would find it nice.

One major thing that should be fairly easy to add would be iterations to the normal dps simulation. You already have it for the SEP calculations. That would make it possible to compute the scatter (or actually, the standard deviation of the mean) for the simulated DPS. It is of course already possible to set the simulation time to an arbitrarily high number to get a more accurate result, but getting the scatter would make it a lot easier to know how much you can trust the resulting DPS. Another suggestion is to add an option of iterating until the scatter value has converged to a value specified by the user.

From what I've seen you need to run about 100 (@ 3000 sec) iterations to get a scatter of about 10 in dps. The only problem I see with this approach is that the distribution of simulated DPS needs to be normally distributed (or at least approximately normal) for this to work.

#54 levk

levk

    King Hippo

  • Members
  • 676 posts

Posted 26 June 2009 - 04:45 PM

I'd really like an option for sunders in a DPS rotation. I'd add it myself, but there's no source code, basically same as rend except rage cost and no damage.

#55 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 26 June 2009 - 09:55 PM

I have a couple of suggestions for improvements to the code.

Some minor things:
- Armory import would of course nice (but might be hard because of the way the stats should be specified?). All in all I guess that is a minor thing.
- Some graphical representations of the results. Pie chart for the damage distribution, DPS vs time graph and so on. Not exactly necessary, but I would find it nice.

One major thing that should be fairly easy to add would be iterations to the normal dps simulation. You already have it for the SEP calculations. That would make it possible to compute the scatter (or actually, the standard deviation of the mean) for the simulated DPS. It is of course already possible to set the simulation time to an arbitrarily high number to get a more accurate result, but getting the scatter would make it a lot easier to know how much you can trust the resulting DPS. Another suggestion is to add an option of iterating until the scatter value has converged to a value specified by the user.


I will try to add at least some of these suggestions when I'll have some free time :-).

I'd really like an option for sunders in a DPS rotation. I'd add it myself, but there's no source code, basically same as rend except rage cost and no damage.


Interesting idea, would be nice for debuff applying optimisation - I will defintely add this feature in the future.

#56 mikeclueby4

mikeclueby4

    Glass Joe

  • Members
  • 3 posts

Posted 28 June 2009 - 12:41 AM

I was toying with the SEP portion of DPSSim the other day, and... the output strikes me as ... erm.. a tad random.
I mean, some of the values even flip to negative.

It didn't start behaving well for me until I raised the deltas to about twice of what they are now, changed fight length to 50000 (from the default of 300) seconds, and # of repetitions to 10 (from 3). Incidentally, this is much closer to the parameters of SimulationCraft.

My suggestion would be to use a completely different fight length for the SEP calculations, and otherwise up the values like I suggested.

How to test for if the values are good enough: run the simulation for a stat 10 times. If the value wobbles more than a few %, it needs more accuracy (higher delta, longer run time, more repetitions)

My suggestions for deltas:

Strength: 100
AP: 250
Agility: 200
Crit rating: 150
Hit rating: -75 (yes, negative)
Haste rating: 150
Exp rating: -75 (yes, negative)
ArP rating: 100

This, combined with a runtime of 50000 and 10 repetitions causes a variation of 1-2% per run, which is acceptable in my world. Except for hit&exp, which need even longer runtimes - at these settings they still wobble upwards of 10% (e.g. 1.3 SEP->1.4 SEP). So like 30 reps for those. Huhu.

Hrm, maybe more like -50 for hit/exp, or its value gets inflated a bit too much.

With that last change, all deltas cause a 125-150 dps change at a baseline of 6k dps.

#57 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 29 June 2009 - 12:04 PM

I was toying with the SEP portion of DPSSim the other day, and... the output strikes me as ... erm.. a tad random.
I mean, some of the values even flip to negative.

It didn't start behaving well for me until I raised the deltas to about twice of what they are now, changed fight length to 50000 (from the default of 300) seconds, and # of repetitions to 10 (from 3). Incidentally, this is much closer to the parameters of SimulationCraft.

My suggestion would be to use a completely different fight length for the SEP calculations, and otherwise up the values like I suggested.


It's already explained in SEP panel - to get meaningful results one must set long enough fight length and/or higher repetition number and deltas high enough to give noticable difference in DPS. I could probably change default fight length to 300000s though. Too many people leave it as is forgetting it's simulation and getting "random" results.

#58 Gruntle

Gruntle

    King Hippo

  • Members
  • 509 posts

Posted 29 June 2009 - 12:43 PM

It's already explained in SEP panel - to get meaningful results one must set long enough fight length and/or higher repetition number and deltas high enough to give noticable difference in DPS. I could probably change default fight length to 300000s though. Too many people leave it as is forgetting it's simulation and getting "random" results.


My idea of outputting some kind of uncertainty measure would also help a bit in that respect (i.e. getting people to understand that it is a simulation).

Had another idea that I think would be a good addition to the results output. The code obviously keeps track of when you have too little rage to do WWs/BTs. A row with information of how many times (or as a percentage of the total available cooldown uses) in the results would be interesting. Would help when trying to figure out how to prioritize the instant slams and when to use HS. If possible I also think it would be useful to see by how much the "cycle" (1WW-2BT) slips by each time this happens (i.e. calculate the mean of the time between optimal BT/WW use and the actual time there is rage to do it for all rage starvation events).

Edit: One more thing. Could you possibly add one more condition to the priority lists? I'd like a condition of the type
"If Bloodsurge buff fading in <x seconds" with x as a parameter. Would help with trying out how to do Bloodsruge slamming optimally.

#59 Tankietka

Tankietka

    Piston Honda

  • Members
  • 118 posts

Posted 12 July 2009 - 10:18 AM

Quick update for incoming patch 3.2 available:

- Execute takes now up to 30 rage only
- Bloodrage now generates 20 rage
- Armored to the Teeth now Increases attack power by 3 for every 108 armor value
- T9 set added

#60 Guest_alaa_m_*

Guest_alaa_m_*
  • Guests

Posted 16 August 2009 - 03:20 AM

Nice application. I have also created a simple web application to get the stats from Armory.
Use this link if you want to try it: Stats

Just choose the region (EU or US), type your realm and character name and your stats will be displayed. I have not done extensive testing but my data were 100% correct.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users