Jump to content


Photo

Instant Health Updates


  • Please log in to reply
201 replies to this topic

#41 fauxpas

fauxpas

    Von Kaiser

  • Members
  • 60 posts

Posted 03 June 2008 - 11:59 AM

I'm not 100% sure if it's all due to Instant Health but whenever it was busy in AV (initial Iceblood Zerg, Drekthar etc) Performance was horrible. I turned on CPU Profiling and Grid used >10% of the CPU Power. I don't really have the numbers from before (and currently not the time to test again without the addon) but it seems like it can have quite an effect on FPS.

(Tested on a Core2Duo T7250, 2x2ghz)

#42 TangoDigital

TangoDigital

    Von Kaiser

  • Members
  • 54 posts

Posted 03 June 2008 - 12:40 PM

Well... going by the concept it's pretty obvious that this addon will use a fair amount of CPU time. It will also increase CPU time used by other addons quite heavily. The increased accuracy does have a price. The more addons you have that deal with health, the higher the performance impact will be.

Generally, if you're concerned about FPS, you should avoid addons listening to the combatlog like the plague, as they tend to process a lot of information many times a second.

Other than that, very nice work here. Just a few minor things to iron out but overall it works quite good.

#43 Niallest

Niallest

    Von Kaiser

  • Members
  • 48 posts

Posted 03 June 2008 - 01:42 PM

Love it, didn't notice any performance problems whatsoever on a rather middle of the road PC doing Hyjal last night. The faster health bar updates are VERY noticeable in Grid. Whether it affects my healing ability as a resto druid, I don't know, but I like it!

#44 Meloeth

Meloeth

    Glass Joe

  • Members
  • 18 posts

Posted 03 June 2008 - 04:55 PM

I hosted a new version of the addon on Curse.com, the new version should no longer screw up other addons such as damage meters and SCT. I also fixed some bugs that caused somone at hull health to sometimes show as having less then full health as well as making sure periodic heals and damage shield damage got registered by the addon.
I havn't had time to throughly test these changes so I can't say for sure everything works correctly now but I sure hope so!

@ Daboran
Yes, it would be possible to make the addon affect only specific addons by requiring these addons to register for the faster health updates. This would mean though that any and all addons that wanted to receive faster health updates would need to make changes in their addons. The idea with this design of the addon is to replace the the built-in function with a better version that works exactly the same in every way (which the last version didn't, but the new one hopefully does!).

@ Polleke
Somehow I got it into my head the UNIT_HEALTH event was called HEALTH_UPDATE yesterday afternoon/evening, I'll blame the heat for that!

And yes, you are right about the performance, it's far more important to look at the CPU usage for this addon then at the memory usage. When testing the CPU usage of the addon itself it was low, but I haven't throughly tested the extra CPU usage for other addons which might go up quite a bit depending on what they do when receiving a UNIT_HEALTH event. If performance proves to be a major issue I might have to either add a option to limit the health update speed somewhat or rethink the design of the addon and require other addons to register for the faster health updates to receive them.

#45 Daboran

Daboran

    King Hippo

  • Members
  • 681 posts

Posted 03 June 2008 - 05:09 PM

@ Daboran
Yes, it would be possible to make the addon affect only specific addons by requiring these addons to register for the faster health updates. This would mean though that any and all addons that wanted to receive faster health updates would need to make changes in their addons. The idea with this design of the addon is to replace the the built-in function with a better version that works exactly the same in every way (which the last version didn't, but the new one hopefully does!).


I think it's more efficient that way though - it's an easy way to limit cpu usage and surely it wouldnt be too hard to cover the most common addons such as Pitbull, Grid, xperl, sraid, sct, parrot etc? With Ace-compatible addons I assume it would be very easy indeed. The only place where more accurate HP really matters after all is unit frames and suchlike, most of which are modular anyway.

#46 dinesh

dinesh

    Piston Honda

  • Members
  • 249 posts

Posted 03 June 2008 - 06:38 PM

As a side note, the updated version on Curse is allegedly tainting the ToT bar, causing it to flicker or disappear when in combat. I'm sure Mel will get it taken care of quickly, but he mentioned something about heading off for a short vacation.

#47 Andrast

Andrast

    King Hippo

  • Members
  • 723 posts

Posted 03 June 2008 - 06:48 PM

I think it's more efficient that way though - it's an easy way to limit cpu usage and surely it wouldnt be too hard to cover the most common addons such as Pitbull, Grid, xperl, sraid, sct, parrot etc? With Ace-compatible addons I assume it would be very easy indeed. The only place where more accurate HP really matters after all is unit frames and suchlike, most of which are modular anyway.


I think you underestimate the difficulty in getting all these addon developers to agree to receive different events. There is a saying amoung software people that managing software engineers is like herding cats. Might it be possible, instead, to create a branch of this addon which pumps out differently named events to which other addons might be able to subscribe? This way the users can decide which version of Instant_Health they want to use. If the addons they use are Instant_Health "aware" then that user can switch over while still letting people with different addons continue with their current setup.

#48 Docjowles

Docjowles

    Mr. Sandman

  • Members
  • 5,620 posts

Posted 03 June 2008 - 07:12 PM

The term "premature optimization" comes to mind here. Has anyone done some real-world benchmarks to see if the CPU usage is even an issue? Creating an elaborate API is not a good use of time if it turns out Instant Health doesn't noticeably impact performance.

#49 Ragnor

Ragnor

    King Hippo

  • Members
  • 606 posts

Posted 03 June 2008 - 08:33 PM

It's pretty safe to say any addon that registers for combat log unfiltered and thus processes every single combat log event is going to have a performance impact. Just like how damage meters and boss warning mods are typically the biggest cpu users.
The universe is run by the complex interweaving of three elements. Energy, matter, and enlightened self-interest.

www.retpaladin.com

#50 Saerjin

Saerjin

    Glass Joe

  • Members
  • 4 posts

Posted 03 June 2008 - 08:50 PM

Is there a link for the newest version? or did he just overwrite the old one.

I did a search on curse and only found the 1.0 version.



edit: I fail at scrolling down. Found it below the 1.0

#51 Ultramagnetic

Ultramagnetic

    Vexatious Litigant

  • Members
  • 2,424 posts

Posted 03 June 2008 - 09:13 PM

There is no possible way this addon can change the jump behaviour of chain heal.


If I understood it correctly, Rudy's chain heal concern was not that the addon would change the jump behavior. Instead, it was that the outcome of chain heal could change based on him casting it earlier than he normally would without information from this addon. That is, the jump targets are not determined by the same information that he sees when casting the spell.

Rudy, correct me if I'm wrong.

#52 Sunchips

Sunchips

    Bald Bull

  • Members
  • 1,078 posts

Posted 03 June 2008 - 09:29 PM

Chain heal should jump based on server side information, not client side......right? That would make sense at least. In that case, the add-on would have no effect as it simply changes what you see on client side.

#53 Rudy

Rudy

    Glass Joe

  • Members
  • 24 posts

Posted 03 June 2008 - 09:40 PM

If I understood it correctly, Rudy's chain heal concern was not that the addon would change the jump behavior. Instead, it was that the outcome of chain heal could change based on him casting it earlier than he normally would without information from this addon. That is, the jump targets are not determined by the same information that he sees when casting the spell.

Rudy, correct me if I'm wrong.


That's exactly correct. I'm not referring to the fact that this addon would affect chain heal, just that this addon affects when I begin my chain heal. Obviously this is not a huge concern as situations where this would be a real problem are few (essentially when I'm reacting to damage dealt to multiple targets in close proximity at the same time) but it does arise on fights with sabre lash type abilities, which seem to be in vogue these days.

EDIT: I can always delay my cast to make sure the entire heal is utilized, but it's definitely worth bringing up in my opinion as I see raid healers making the greatest use of this addon.

#54 fauxpas

fauxpas

    Von Kaiser

  • Members
  • 60 posts

Posted 03 June 2008 - 11:09 PM

After some further testing at Kalecgos and in Arenas i can say: Great Addon!

And the Performance hit wasn't really noticable, not even at Kalecgos. Maybe it's cause i'm on a different machine (the other one was a notebook, although its CPU shoud actually be faster than my desktop machine) but i wasn't a problem at all.

And being just a tad bit faster at stuff like Shadowboltvolley etc is amazing. It's like i got some spellhaste for free. heh.

#55 Prinsesa

Prinsesa

    Bald Bull

  • Members
  • 1,527 posts

Posted 04 June 2008 - 03:01 AM

Chain heal should jump based on server side information, not client side......right? That would make sense at least. In that case, the add-on would have no effect as it simply changes what you see on client side.


That's exactly Rudy's point - the add-on is letting his client is letting him see information that the server has not reported to him yet.

Will reacting to damage before the server even makes you aware of it cause Chain Heal's behavior to change?
"We do want Sanctuary to be the tanking seal"

- Ghostcrawler

#56 Shakes

Shakes

    Piston Honda

  • Members
  • 211 posts

Posted 04 June 2008 - 07:26 AM

Chain heal has a 2.5 second cast time ... even with a huge amount of haste, you're not going to finish casting it before the actual health update event is sent to your client.

#57 Rudy

Rudy

    Glass Joe

  • Members
  • 24 posts

Posted 04 June 2008 - 07:38 AM

Chain heal has a 2.5 second cast time ... even with a huge amount of haste, you're not going to finish casting it before the actual health update event is sent to your client.


Good point, and probably not a big enough deal to even worry about. There is the possibility of Nature's Swiftness but those cases are so few and far between it's just splitting hairs.

#58 Praetorian

Praetorian

    Mike Tyson

  • ♦ Administrators
  • 27,760 posts

Posted 04 June 2008 - 08:02 AM

It doesn't change Chain Heal at all, come on. It's a visual fix, nothing else. It gives you information faster.

I used this for the first time tonight on a Sunwell farming clear, and found it extremely useful, if unsettling at times (looking at a tank's healthbar on Brutallus during Stomp is much scarier now). I'll need a bit of time to get a feel for the slightly different "rhythm" of tank healing, but more information, faster, is never a bad thing. Great job.

I did not have adverse performance effects on fights like Felmyst, Twins, and M'uru, for what it's worth. I have a very good PC, so that may be part of it, but it's definitely not some egregious performance-destroyer.

#59 Kemortia

Kemortia

    Von Kaiser

  • Members
  • 44 posts

Posted 04 June 2008 - 10:21 AM

Noticed a big difference on Najentus, usually I'd just guess whether or not folks were about to be healed and call for the spine break because I'm impatient, but with the instant health mod you could really see everyone get topped off a lot quicker. Didn't notice any performance hits on the fights I was in for tonight in BT.

Definatly recommend checking it out.
Eek, Shaman

#60 Xelopheris

Xelopheris

    Piston Honda

  • Members
  • 164 posts

Posted 04 June 2008 - 04:03 PM

Chain heal has a 2.5 second cast time ... even with a huge amount of haste, you're not going to finish casting it before the actual health update event is sent to your client.


And even then, the server updates are instant. Just because it doesn't send an event to you doesn't mean it hasn't updated it server side. The reason for throttling health update events was to conserve bandwidth/latency.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users