This project is read-only.

ShadowPriest Haste v Crit

Topics: Rawr.ShadowPriest
Sep 30, 2009 at 4:00 PM
Edited Sep 30, 2009 at 4:01 PM

In Rawr v2.2.1.9 haste is rated way to high, and crit way to low

For example,

Band of the Invoker
+58 Stamina
+58 Intellect
+50 Spirit
Equip: Improves haste rating by 50 (1.52% @ L80).
Equip: Increases spell power by 89.
Polished Dragonslayer's Signet
+61 Stamina
+56 Intellect
+36 Spirit
Equip: Improves critical strike rating by 53 (2.4% @ L70).
Equip: Increases spell power by 89.
Band of the Invoker
+58 Stamina
+58 Intellect
+50 Spirit
Equip: Improves haste rating by 50 (1.52% @ L80).
Equip: Increases spell power by 89.
Polished Dragonslayer's Signet
+61 Stamina
+56 Intellect
+36 Spirit
Equip: Improves critical strike rating by 53 (2.4% @ L70).
Equip: Increases spell power by 89.
Its obvious that the Polished Dragonslayer ring is better, altho Rawr rates Band of the invoker ~15dps higher in my current gear.
Im not sure this is intended, but it is wrong.


Sep 30, 2009 at 7:09 PM

It has been mentioned before but the Shadow Priest module has an issue where once you hit 15% haste it acts as though your haste cap, which is not intended. They are working on the haste mechanics in the module though, so hopefully soon (tm).

Sep 30, 2009 at 9:25 PM

Its not directly a cap. Its a dip in usefulness due to a rotation change which gives worse dps. I'm going to try to add better deferment cost calculations to see if that fixes the haste problems.


I also discussed with a shadowpriest, and we agreed that certain haste values can increase deferment cost of spells further down the pipeline, and thus actually does end up lowering the value of haste at certain points for humans, to the point where you may end up losing dps. I think I am going to add a warning to Rawr with an explanation so that players try to stay away from those haste values.

Oct 1, 2009 at 5:39 AM

Nice to know use are onto it, Thanks.



Oct 6, 2009 at 3:56 PM

I am still working on this, but there should be some improvement already in next release.

Oct 6, 2009 at 5:57 PM

I suggest you consult for all things related to shadowpriest mechanics.

A general ranking in pseudospower goes like:

3.2.2 Scaling factors

1 SP = 1
1 Crit = 0.76
1 Haste = 0.65
1 Spi = 0.34
1 Int = 0.23
1 Hit = 1.58

Oct 6, 2009 at 6:03 PM

Rawr still doesn't use relative stat weights.

Oct 8, 2009 at 7:41 AM
TNSe wrote:

I am still working on this, but there should be some improvement already in next release.

As of version 2.2.21, Rawr is still ranking Abyssal Rune quite a bit higher than superior trinkets, like Eye of the Broodmother.

Shadowpriest gear rankings:

Discoveries like that make me question all of Rawr's optimizations.

Oct 8, 2009 at 7:56 AM

I said improvement, not perfect. The reason for such occurances like this is that occationally some values of haste give a bit boost in (simplicity of) rotations, leading to higher dps due to less chance of making wrong choices in what spells to cast. You can change the slider for Game/Brain Latency to see if this changes things around a lot in order to see if its hitting an amount of haste which is getting a bit too high results.


Also, sadly enough, I don't give a rats ass about's rankings. Not saying they got it wrong, just saying I don't give a crap about them.

Oct 8, 2009 at 8:23 AM
Edited Oct 8, 2009 at 8:31 AM

Trevar, you can't just point at as gospel, you know. We care about actual mechanics, theorycraft, and logic. Those 'gear ranking's are inaccurate by design.

And your very example, Abyssal Rune vs Eye of the Broodmother, sounds extremely questionable. Abyssal Rune is an amazing trinket, and very likely better than Eye of the Broodmother; definitely is for many casters, not sure about spriests in particular. But it's certainly not some 'oh, that's obviously wrong' situation.


That's not to say that you're wrong, just that we need you to back up what you're saying.

Oct 8, 2009 at 5:48 PM

It seems the game/brain latency setting has a *very strong* influence on the haste effect for shadow priests.

With a 91ms setting and my current gear Rawr 2.2.21 rates haste at 40.33 (!) dps per rating - with a 92ms setting it's about 1.40.

I assume this is due to a changed cast rotation which yields in this dramatic variation.


However this effect needs to be somehow averaged because otherwise you can't really use rawr to evaluate shadow gear anymore since items with haste jump all over the place...

Oct 8, 2009 at 8:27 PM

Isli, I think you may be mistaking Relative Stat Values for something Rawr actually uses in its calculations. You'll see some stats, especially haste, jump all over the place in Relative Stat Values, due to the nature of it showing only the next/last few haste rating. When comparing gear, you're changing larger quantities of Haste, so it does smooth out.

Oct 8, 2009 at 8:44 PM
Edited Oct 8, 2009 at 11:26 PM

It does smooth out somewhat, however you still get large variations for item dps values at specific points.

99 ms

 conductive seal: ~271 dps

100 ms

 conductive seal: ~204 dps

Oct 8, 2009 at 10:59 PM

I don't know an awful lot about Shadow Priest theory but I came across this thread when I found Rawr was ranking Haste higher than Crit.

Now, correct me if i'm wrong; SP and Crit scale with our DoTs, however Haste does not. Haste effects all of our other abilities, as does SP and Crit. To that effect, I would naturally assume that 1 point of crit would be a lot better than 1 point of haste?

Currently, I'm running with 20.68% crit and 302 Haste. My DPS is great, I have no complaints. I use Rawr to compare gear and gear sets but I can't understand exactly how these stat values work and how they benefit my spells and my rotations.

Using the Brain/Game latency slider, I see my Stat Values jumping all over the place and Rawr doesn't tell me why this is happening. Would it not be possible to allow Rawr to output it's rotation or at least simplify this variable?


Oct 8, 2009 at 11:25 PM

Haste affects lots of spells, in very odd ways, because it changes your rotation. Haste *does* affect your dots' damage per cast time.

Oct 9, 2009 at 12:03 AM

So I guess the question is: is there a somewhat consistent way to rate haste? In Rawr or even the game itself.

Oct 9, 2009 at 12:16 AM

One issue that TNSe's working on solving right now is that at a few small ranges of haste, it actually pushes you into a rotation that ends up being lower DPS than if you had less haste. Of course, the obvious response to this, is that while technically accurate, you don't *have* to use that extra haste; you can just pause slightly longer after each spell, and still use the previous rotation. However, sometimes those key pauses need to be made 30+sec before where they actually matter, so that a typical player would never actually know not to use that haste when they can. Still, from a gear rating standpoint, it just seems odd that haste could actually lower your DPS. 



Another thing we can do is to model the variability of server/brain lag. For example, in-game, haste is effectively smoothed somewhat by how much latency can vary, and brain lag can vary. We could do something like have a 'lag variance' setting, which would do the whole set of calculations twice, one with latency + lag variance, and once with latency - lag variance, and average the results. However, that still leaves those dips and spikes in the value of haste, they're just smoothed, rather than filled in like above.

Oct 9, 2009 at 12:36 AM
Edited Oct 9, 2009 at 12:44 AM

Wouldn't adding random variability and averaging solve the "more haste=less dps" problem as well? And it is probably closer to "reality" anyway.

The drawback is of course that those averaged random values aren't 100% reproducable, i.e. the same gear would yield in slightly diferent dps output (according to rawr), but i think this is more acceptable than those jumping item values.

Oct 9, 2009 at 12:42 AM

As I said in my previous post; it would be nice to have Rawr show me it's rotation with Cast Times and Pause Times so that I am able to achieve an effective value of haste or somewhere between.

Perhaps something like this can be incorporated into the Fight Time and Latencies?

Oct 9, 2009 at 12:48 AM

Well I suppose it does show the "rotation" used to caclculate the dps values: in the stats tab hover your mouse over the Castlist entry and you'll get a popup list.

Oct 9, 2009 at 1:37 AM

I should of said spell casts instead of rotation. Rotations are static, however I would really like to see Rawr casting.

Oct 9, 2009 at 10:40 AM

Well the way Rawr calculates the DPS is static:  Apparently it follows the priority list until it finds a repeating pattern and then uses that (usually 40-80 spells long) rotation to calculate DPS. This is the list you see when hovering over the castlist entry - it does not contain timing information though.

The adavantage of this aproach is that it is pretty fast - radomizing and averaging the process would be a lot more expensive.

Oct 9, 2009 at 11:28 AM

I could add timing info, but I'd prefer it more if I actually could improve the UI so that it is easier to view. Sorta like Event Horizon or something. Putting it in the tooltip was just a quick solution.


And yes, Isli is right. Rawr simply goes through priority list just like a player does, but it notices when you are making a repeating pattern. This improves calculation speed, and also gives a "static rotation", although they are usually a bit long.

Oct 9, 2009 at 6:09 PM
Edited Oct 9, 2009 at 7:43 PM

While a better UI is nice, it doesn't solve the fundamental problem of Rawr picking one pattern resulting in sometimes dramatic item value changes with slight parameter modifications.


Unfortunately I have no idea how to change this except for multiple randomized runs and averaging which would kill performance...

Oct 9, 2009 at 6:46 PM

I do have an idea on how to improve upon this without dramatically lowering performance, by iterating a few more steps deeper to see how spells compare.


Problem with this is, its not realistically how a Human plays.  Right now I try to keep things as close to as how a Human make their choices as possible. I might also try to change how it works entirely and discard some accuracy on other stats for more reliable haste stats.


Keep up the feedback. Even feedback about how things are bad is good as long as you understand that I'm not trying to give you bad results on purpose, but thats just how it is right now until I find better ways to do it :P

Oct 9, 2009 at 8:42 PM
Edited Oct 9, 2009 at 11:20 PM


Well here's an idea - if you'd move away from trying to simulate working with a priority list you could try simply dividing combat time to the spells, e.g.


1) calculate the GCD plus lag (let's assume 1.4s GCD + 0.1 ms lag -> 1.5 lGCD)

2) devide combat time by lGCD ( say 300 seconds, 1.5 lGCD -> 200 lGCDs )

3) detremine the number of MB possible and adjust fpr how well the lGCD fit in the CD ( 300/7 -> 42.8, assuming 42 here)

4) calculate the number of lGCDs needed to keep each Dot up (DP: 12.5 VT:20 SWP:1)

5) calculate the number of DoT ticks (100) minus lag*casts minus some extra percentage to "simulate" higher priority spells or movement preventing timely recast.

6) maybe throw in some GCDs used for SW:D while runing an subtract some for movement

7) subtract lGCDs used for shadowfiend, and dispersion.

7) assign the remaining lGCDs to mindflay (200-42-12.5-20-1)-> 125.5 - 17.5 (wasted. dispersion, fiend) -> 54 MF

8) sum up the damage done by the Dot ticks, and spells and divide by total time to get the DPS.


 Of course this need a lot more refining especially when it comes to proccs, heroism, mana costs, etc.


This is an artificial approach that calculates the number of possible spells and treats the complex interference of CDs and Dot run times more or less as a percentage loss.

This percentage may be too high or low given the actual complexity of the rotation and the player but it is at least somewhat consistent and while it may not give you the actual top DPS possible with your gear it may lead to better comparability of stats by avoiding simulated sweet spots for certain stats and values.


Oct 9, 2009 at 9:11 PM

What your refering to is similar to how the Cat dps is calculated. However there has been some extremely critical discussion on it's validity on it's rotation logic recently. There is now talks of it using a different logic rotation formula. One that is more difficult for others to comment/test but would give a more accurate evaluation. Cat dps is more priority based than Shadow Dps but the new rotation logic would also work with this but again the testing would be more difficult to calculate.

Oct 9, 2009 at 10:50 PM

I'm not a shadowpriest, but I can't see how increasing haste could ever *actually* decrease your DPS, because you could always just delay between casts (ie, if haste makes your GCD go from 1.5 to 1.48, just continue to cast every 1.5).  I've only looked briefly at the code; how is haste changing your rotation?  Is it following the same spell priority, regardless of haste, but the changing cast times means that your spell order changes?

If so, what about dynamically computing the spell priority, rather than relying on a list (and then displaying the new spell priority to the user).  Compute the DPS of the spell if it's chain-cast (or chain-refreshed in the case of DOTs), and then compute the DPS lost if you delay it by one GCD.  Sort them from most lost to least lost (keeping in mind things like "I need to keep this spell up all the time because it's a raid utility"), and then use that as your priority list.

Then, if adding a stat like haste winds up decreasing the DPS of your priority list, it's probably because your priority list has changed.  I know that this happens for other classes (one ability overtaking another in priority).

Oct 9, 2009 at 11:32 PM

I've been working with TNSe last week on this and while it is clear more haste shouldn't be able to lower your dps, being able to compute the optimal spell selection logic is far from trivial. I've helped write a solver that takes into account first order collision effects and pauses, but to get to a true optimum where you have no dips in dps you'd probably need a complete dynamic programming solver over the fight duration (I'm guessing this is the better option to a markov process solution since there are no important random events and the state space is larger than what you would see in a single fight duration). As far as I know these new changes are not yet live.

Oct 9, 2009 at 11:46 PM
Edited Oct 10, 2009 at 2:24 AM

It can change the order of spells since you have DoTs and CDs which don't scale with haste. So more haste may make you use a different spell since  the one you used in a rotation with less haste is not ready yet. This may cause "slack" time later and decrease your DPS.

This is mainly a problem in single pass simulations since human players introduce more randomness into those rotations.

Oct 25, 2009 at 3:14 PM

I'm a shadowpriest and have often run into haste vs crit decisions.  Since the latency setting in RAWR affects the decision so much, what is a good value to use?  My in-game performance monitor says I typically have a latency of 80-120 ms.  However, that doesn't take into account a slow brain and clumsy fingers.  I currently leave the RAWR setting at 100 ms but should I increase it to take account of the human factor and if so what would you recommend as a good value?

Oct 25, 2009 at 4:54 PM

I defaulted it to 350 after discussing with various people, including a guy that has to know how much humans have in reaction time to reconstruct accidents. >_<

Oct 25, 2009 at 7:16 PM

Thanks for the info.

Oct 25, 2009 at 8:18 PM  ;)

Oct 25, 2009 at 9:35 PM
Edited Oct 25, 2009 at 10:08 PM

That's a fun site, seems my reaction time averages 210 ms.  I'm assuming this includes the internet latency which would mean a RAWR latency of 250 ms would make sense since a lot more is going on in a wow fight.  If it doesn't then 350 ms would make sense.

Oct 25, 2009 at 10:09 PM

Nope, that's pure human latency - it isolates the human reaction because it's not a message sent from the host server to your computer, but rather, a program that runs within your browser, isolated from the network.

Oct 25, 2009 at 11:51 PM
BrWarner wrote:

Nope, that's pure human latency - it isolates the human reaction because it's not a message sent from the host server to your computer, but rather, a program that runs within your browser, isolated from the network.

That's not entirely true. Your computer's input latency is still included. My roommate and I both tried it, me on the touchpad of my laptop, and him on his gaming mouse. Did several test cycles. Then we swapped computers, and did it again. We were consistently 50ms to 100ms slower on the laptop touchpad than on the desktop gaming mouse.

Still, that input latency would also affect WoW, so it's still a valid test for what you should put in the setting in Rawr.SPriest.

Oct 26, 2009 at 2:23 AM

Well, yeah, the human reaction measurement is only as accurate as the method of acquiring it, I think that goes without saying.  A click (depressing a button to manually activate a sensor) will always be faster than the touchpad, because the touchpad takes a hair of a second to "activate" (register the electromagnetic whatchamacallit-doohingy).  That's the technical term, anyways.

Oct 26, 2009 at 5:06 AM

Err, no, it's just a button on the touchpad, not the 'tap to click' feature of touchpads (I don't use that, it pisses me off).

Oct 26, 2009 at 6:50 AM
Edited Oct 26, 2009 at 6:51 AM

Ah, okay.  If it's an especially long depress (or simply a less accurate signal, as I know many laptops have less-than-optimal clicking capacity, compared to a gaming mouse), I could see that still being a factor.  Meh, whatevs.  If it takes 220ms for you to receive the information, act on it, and have it register by clicking on computer A, and takes 270 on computer B, that's the real "human delay" in either case.

Oct 26, 2009 at 9:22 AM
Edited Oct 26, 2009 at 9:23 AM

But then again, WoW has a small spell queue feature. While you are still casting a spell you can press the key for your next one within 300ms to the end of the spell cast or so (I will have to doublecheck a thread on EJ for this number) then the next spell will be cast right after the first one. This means, that reaction time is just important for procs, and perhaps channeled spells (unsure about this).

Oct 26, 2009 at 5:57 PM

Right, reaction time is only needed for responding to unexpected things, like procs, etc. Anything you see coming, you should be able to time much closer, due to anticipation.