Thread Tools Display Modes
10-28-08, 11:07 AM   #1
sigg
Featured Artist
 
sigg's Avatar
Featured
Join Date: Aug 2008
Posts: 1,251
Lightbulb 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
  Reply With Quote
10-28-08, 01:57 PM   #2
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Originally Posted by sigg View Post
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
__________________
Cirk's Addons
  Reply With Quote
10-28-08, 04:17 PM   #3
sigg
Featured Artist
 
sigg's Avatar
Featured
Join Date: Aug 2008
Posts: 1,251
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.

  Reply With Quote

WoWInterface » Featured Projects » OpenRDX » OpenRDX Support » OpenRDX: General Information » Patch 7.0.2 Aura cache feature

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off