Ovale Spell Priority

234 - Extreme Ovale CPU Usage

What version of Ovale are you using? 5.2.29

What class and specialization were you playing when the problem occurred? Occurs on all.

Which script were you using when the problem occurred?  If possible, please provide the smallest script that demonstrates the problem. Default DK script but not really applicable.

What steps will reproduce the problem? Turn on CPU profiling and any mod that displays mod cpu usage.

Do you have an error log of what happened? Not applicable.

Please provide any additional information below.

I have watched the correction of the memory leak closely, and was pleased to see optimization being a high concern. I was hoping the extremely high Ovale cpu usage was in some way tied to the memory problems, all that variable construction and garbage collection had to be eating up cycles.

However, Ovale still settles around 25% or so CPU usage, over 25 times higher than any other mod out of combat, that I'm running, and over 10x as much in combat over all the other mods that are already considered very CPU heavy such as Recount and Pitbull. While I appreciate the focus on the memory optimization... a couple megabytes of memory has totally negligible consequences compared to the rampant cpu usage..

I think an option for a dormant mode outside of combat would be a good first step. Beyond that, I just hope there are serious cpu optimizations that can be found as well. While of course, Ovale will never be -low- cpu usage, I can't imagine it should require a full order of magnitude higher cpu usage than all the other combat intensive addons.

User When Change
jlam Jul 20, 2013 at 08:33 UTC Changed status from New to Fixed
Ophidon Apr 01, 2013 at 16:31 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of jlam jlam Jul 20, 2013 at 08:33 UTC - 0 likes

    I'm going to mark this as fixed based on some efficiency changes that were recently added into Ovale. If you are still experiencing problems, please submit a new ticket.

  • Avatar of jlam jlam Apr 02, 2013 at 14:34 UTC - 0 likes

    All of the things you mentioned are already on-going projects. Ovale's codebase is becoming increasingly modular for a variety of reasons, one of which is to allow parts of it to be disabled or enabled as needed to reduce processing, but it's still a very large refactoring project. The main reason for the refactoring is to make it easier to verify correctness, and I'm devoting far more time to that goal first than anything else.

  • Avatar of Ophidon Ophidon Apr 02, 2013 at 00:38 UTC - 0 likes

    Minimizing the footprint outside of combat would be a very welcomed start! Generally, just traveling around outside of combat, or at least 'serious' combat, is the only time you're really noticing framerate anyway. Plus there is the fact that standing around the Shrine or Org/Stormwind is already more CPU demanding than (at least 10 man) raiding anyway.

    Other ideas I can think of would be to disable book keeping of factors that aren't relevant to the currently loaded script.

    Last edited Apr 02, 2013 by Ophidon
  • Avatar of jlam jlam Apr 01, 2013 at 22:40 UTC - 0 likes

    I am open to ideas, but the current design of Ovale necessitates high CPU usage. It is very different from just about every other addon because other addons respond to game events and do processing in response to them either in the event handler or on a timer with a longish refresh time. Ovale does an immense amount of processing very often -- at least every 0.3 seconds or at most with every frame refresh depending on how many events it is receiving -- in order to keep it's state current and to predict the next available action according to the script. The more complex the script, the more CPU time is used for each processing event.

    The problem is that Ovale has two parts: bookkeeping and computation. Whereas most addons simply do bookkeeping and some minor computation as part of the bookkeeping, Ovale's action predictor is very heavy on computation. Most other computation-heavy addons will freeze the game client for a short time while they do their computation, while Ovale manages to keep computations within the 300ms limit enforced by Blizzard's run-time.

    Again, I am open to suggestions on how to do better, but it's mostly going to be just nibbling around the edges, e.g., disabling the computation out of combat, etc., unless their is a major redesign of Ovale.



Last updated
Jul 20, 2013
Apr 01, 2013
Fixed - Developer made requested changes. QA should verify.
Enhancement - A change which is intended to better the project in some way
Medium - Normal priority.

Reported by

Possible assignees