Rawr.ShadowPriest

Topics: Retired
Aug 27, 2008 at 8:06 AM
The currently checked in version of this model doesn't seem to conform with any information source that I know about.  (It doesn't seem to follow the Shadow Priest information available at the elitist jerks Think Tank.)

What is the development status of this?  Can I help?  (My spriest turns 70 on Friday, so ...)

Coordinator
Aug 27, 2008 at 4:31 PM
It's incomplete and not ready for release, last I saw. Morwen, any update on its progress?
Sep 3, 2008 at 7:56 AM
I had a look at it and it seems like the basics are all there.  I'm guessing it might not yet take everything into account, but if I tweak the fight parameters a little bit it does give useful information.  However, if you setup a really long fight it starts telling you to stack spirit and mp5 gear so I think it might not be adding back the mana you get from VT.  (Either that or my spirit really is too low for a 10 minute fight!)

My priest just turn 70 last week and I finally have her in pre-Kara gear.  I've done several heroics, but they were all guild runs so it was easy mode.  (Most of the other members are between Tier 5 and Tier 6 so there wasn't an pressure on me to preform.)

TLDR: I can tell it isn't 100% complete, but I don't know where to get information for what needs to be added.

In the meantime I'm speeding up the solver and fixing any little bugs I can find.  Just changing code like:

float value = float_variable * 2;

into:

float value = float_variable * 2.0f;

sped up the solver by a factor of 10 or more.  Those float->int->float conversions really hurt on .NET.  It reminds me a lot of the PS2.

Coordinator
Sep 3, 2008 at 6:31 PM
I'm kindof surprised by this actually. Were you running in release mode without debugger attached?
Sep 4, 2008 at 5:45 AM
Edited Sep 4, 2008 at 6:01 AM
I noticed the Shadow Priest solver is slower than all of the other modules when running the regular release version on my laptop.  My laptop does not run .NET apps very well and it hates Rawr a lot.  Usually I just change things until it locks up and then come back to it later.

In any case once I started to look at it that problem just popped out right away.  So I changed all the values and then tested a full release build.  No modules using debug code.  I'm really not sure if it sped up debug mode or not.

I rarely test programs in debug mode unless I'm forced too.  Running debug all the time is a really bad habit since the generated code is completely different from release to debug.

Edit:  I just tested it in a sample app and they do generate the same assembly in release no matter which way it is coded.  (Yay, optimizer.)  I still don't know why the ShadowPriest model is so much slower than other models.  I guess I'll check out the Warlock and Mage ones to see what approach they use.

Coordinator
Sep 4, 2008 at 9:41 PM
Morwen has let me know that she won't be able to continue working on HolyPriest or ShadowPriest. Anyone want to take over maintaining/improving HolyPriest, and finishing ShadowPriest?
Sep 4, 2008 at 11:55 PM
float value = float_variable * 2;

Interesting, I always thought such things are optimized by the compiler...
Sep 5, 2008 at 3:48 AM
Interesting, I always thought such things are optimized by the compiler...

On the PS2 that constant is treated like a double.  The hardware has no native support for doubles so it ends up calling a bunch of really slow software routines.  Once you've worked on a platform like that day in and day out for 6-7 years you get paranoid.  The C# compiler does properly optimize it to three x86 instructions.

Astrylian:
With some help from Kavan I am going to take a stab at improving ShadowPriest.  I don't fully understand the solver yet, but Kavan gave me some excellent tips so I just need to find a little time to look at it again.

Sep 9, 2008 at 5:04 AM
Update:

I feel pretty stupid that it took me this long to figure this out:  The talent trees aren't properly implemented in ShadowPriest.  (I was wondering why it kept telling me to stack Spell Hit gear even though I was well over the hit cap after talents.)

Is there a generic way of implementing this?  The model became really useful once I convinced it I really am shadow spec. :)

Coordinator
Sep 9, 2008 at 6:24 AM
No, not really. There's a generic talent tree control, but it's got some serious problems, and none of the models use it because of that. Rawr 2.0 will include a centralized talent picker. In the mean time, I'd suggest trying to implement the talent picker that is used by most of the models... Mage, Rogue, etc.
Sep 10, 2008 at 2:46 PM
I'm really looking forward to testing this module.  My spriest hits 70 today... it will be nice to be able to use rawr for this toon too.  Thanks for picking this up, tarix!
Sep 16, 2008 at 7:11 AM
WotLK has a release date and 3.0.2 is on the PTR.  I think I'm going to punt the talent tree stuff for now.

Would everyone be okay manually putting in the important talents in the interim?  (I would just add it to the generic options panel.)  Unless you are holy spec there's really only one talent that the model uses right now anyway.

Sep 24, 2008 at 5:15 PM
I was curious if you'd had any progress on this.  :)  I have no problem with manually adding talents at this point.