WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   OpenRDX: General Information (https://www.wowinterface.com/forums/forumdisplay.php?f=102)
-   -   Patch 7.0.2 Aura cache feature (https://www.wowinterface.com/forums/showthread.php?t=18964)

sigg 10-28-08 11:07 AM

Patch 7.0.2 Aura cache feature
 
Aura cache feature. (experimental)

Both functions UnitBuff and UnitDebuff are extremely used with the new 3.0.2 patch (I see sometimes more than 100000 hits in just 2 minutes).
The aura cache is managed by the roster RDX. it stores all unitbuff and unitdebuff data.
RDX provides UnitBuffCache and UnitDebuffCache functions.
All RDX raidframes windows use the aura cache.
singleframe (player, target, focus, pet ...) doesn't use aura cache.

Results with the VFL Profiler in the Alterac after 10 minutes :



204519 hits UnitBuffcache
37139 hits UnitBuff
(Reduce to 20% server call)

Time execution from UnitBuffCache : 10µs
Time execution from UnitBuff : 29µs
(Divide by 3 the time execution)

After a lot of test, this new feature increase greatly the performance of the game for all RDX users.

From the system menu, you can switch ON/OFF the aura cache.

Enjoy :)

Cirk 10-28-08 01:57 PM

Quote:

Originally Posted by sigg (Post 107212)
204519 hits UnitBuffcache
37139 hits UnitBuff
(Reduce to 20% server call)

Time execution from UnitBuffCache : 10µs
Time execution from UnitBuff : 29µs
(Divide by 3 the time execution)

Interesting Sigg! A couple of things to think of:
- UnitBuff and UnitDebuff are "wrapper" functions around UnitAura now - be interesting to see the numbers for the raw UnitAura function.
- These calls don't go to the "server" as such, they are processed by the client engine based on the data that is sent periodically from the server to the game client, so all the processing is local.
- As you noted, seems like a 3x speedup by using the cache mechanism. I'm guessing your cache only checks the actual values every so-many milliseconds (or so many frames)? Or does it rely on UNIT_AURA events to update the cache?
- Lastly, hope Blizz looks at this - maybe they can speed up their UnitAura code ;)

-- Cirk

sigg 10-28-08 04:17 PM

The cache is updated base on UNIT_AURA events.
When the cache of a unit is updated, a RDXEvent is fired. All frames link with this unit and use the bind RDXEvent will update their frames by calling the cache.

:)


All times are GMT -6. The time now is 10:18 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI