Rawr.Mage

Rawr.Mage uses a solver that will optimize spell selection and cooldown stacking to maximize total damage done given the stats, buffs, talents and fight information it.

When you load your character from the armory it will collect all data about gear, enchants and talents. After you do that you should open the Buffs tab and enable all the buffs that are applicable. Last go to the Options tab and set the fight parameters. You can control many characteristics of the fight, involving external mana regen, rate of interrupts, dps uptime, fight duration, whether there is any aoe involved, any real resistances on the boss and many other settings.

At that point you are ready to check the Stats tab. At the top you have general stats information which should match your in-game paper doll. The most important part is Solution. Here you will see your expected dps and suggested use of spell cycles to achieve it. If you mouse over the * next to Spell Cycles you'll get a breakdown of all spells you should use and with which cooldowns to pair them.

Advanced Options

Default settings are set for normal use, but there are several things one can do in order to improve performance or quality of results. First if you won't be doing any talent spec comparisons you can disable Automatic Armor setting and manually enable either Mage or Molten Armor in Buffs panel. Also if you'll stick to more or less normal fight conditions you can enable Global Optimizations.

You should leave Incremental Optimizations enabled in most situations. An exception where you might want to try disabling it is when you are in a border case where a slight change can drastically change your spell selection. An example of this would be breakpoints in haste where your filler for cycles changes.

Finally you have options for sequence reconstruction and advanced solver. These allow you to get more detailed/accurate results for your setup. Sequence reconstruction will use the results from the spell cycle optimizer and convert them into a timed sequence trying to maintain all cooldown constraints and performing mana management. It works without advanced solver, but the quality of reconstruction will be generally very low. Best results will be obtained when it is paired with the advanced solver.

While the basic solver uses a linear programming (LP) model to obtain solutions, it cannot satisfy some packing and scheduling constraints which is evident from attempted sequence reconstruction based on those solutions. Advanced solver is an extended version of the basic solver which segments the fight duration into segments (fixed duration or optimized for specific cooldowns used) and introduces additional scheduling requirements. It is a custom mixed integer programming (MIP) model that will attempt to satisfy the packing and scheduling constraints with several passes of the LP solver using different bounding conditions.

For small number of cooldowns the advanced solver can work very fast, but as the options increase it might have a harder time finding a solution. As a result it is recommended to use the advanced solver for display only and unless it works reasonably fast have it disabled when making changes to the fight options and gear. In case you want to use the advanced solver to optimize gear you should enable the algorithm for comparisons also. In most cases you will need to enable both global and incremental optimizations to have it work at interactive levels. To enable the advanced solver you have to enable cooldown segmentation, integral mana consumables and/or advanced constraints. You can use them individually but to obtain good sequence reconstructions all should be set to max setting.

If you get a message that computation limit was reached you have several options. First you can increase the computation limit in advanced options. Default is 300, it's recommended that you try increasing this to 1500-2000. If this still causes computation limit to be reached it is not advisable to increase the limit further. Computation limit has direct correlation to memory used and at higher values will exceed 1GB. Another option is to change branching method in advanced solver to depth first. Best bound method guarantees that if it completes before computation limit it will give you the true optimum. If it reaches computation limit it will give the last working solution. This solution gives you an upper bound on value of optimum solution, but it won't give you good results for sequence reconstruction. Depth first method will guarantee to give you a lower bound on optimum solution. It won't necessarily give you the optimum, but the solution it gives will work well with sequence reconstruction.

To have an indication of how good the solutions produced by the basic solver are you can enable advanced solver for display only and mouse over Dps in Stats panel. It will report an error margin, showing how much the basic solver is overestimating. When working with advanced solver disabled you can rely on any comparisons that are above that margin. If you need to make decisions between gear where difference is smaller it is best to verify the options with advanced solver.
Last edited Jul 2 at 10:01 PM by Kavan, version 10
Comments
No comments yet.

Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2009.10.27.15987