| View previous topic :: View next topic |
| Author |
Message |
halcyon
Joined: 02 Dec 2008 Posts: 17
|
Posted: Mon 12/8/08 7:42 pm Post subject: Raid Windows Update Rate |
|
|
| So I am currently running an assist window and a raid window, and occasionally I will see update lag between the windows, ie my unit frames (non-rdx) will update immediately then some X milliseconds later I'll see my assist window update then the raid window. Is there something that I should be setting to ensure that as soon as the hp/mana/whatever data comes in from the server these windows get immediately updated? There are currently no hints on the window for repainting and I even took off the multiplexer parameters in an effort to speed up the repaints when the data changes, but I haven't seen much of a change. |
|
| Back to top |
|
 |
sigg Dev/Admin

Joined: 20 Oct 2007 Posts: 634 Location: Rashgarroth EU / Tiras Porah
|
Posted: Mon 12/8/08 8:48 pm Post subject: |
|
|
The architecture of RDX work like this :
WowEvents -> engine RDX -> RDXEvents -> RDX Frames
The engine is in charge of :
Update roster
Maintain cache data
Synchronise data with all members.
Raise RDXEvents signals
Raise new signals unavailable from WoWEvents, for example :
-- UNIT_FEIGNDEATH (fire when someone use feigh death)
-- UNIT_MYAURA (fire when one of your aura change)
-- UNIT_OMNISC (fire when someone damagemeter change)
-- UNIT_COOLDOWN_AVAIL (fire when someone cooldown is available)
-- etc....
RDX Frames is never bind to WoWEvents directly.
This is the reason why you have millisecondes of difference.
Sigg
Last edited by sigg on Tue 12/9/08 12:37 am; edited 1 time in total |
|
| Back to top |
|
 |
halcyon
Joined: 02 Dec 2008 Posts: 17
|
Posted: Mon 12/8/08 9:05 pm Post subject: |
|
|
| Would it be possible to close this gap by allowing some kind of direct update to windows? As a healer milliseconds actually matter and I'd like my data as fresh as it possibly can be. |
|
| Back to top |
|
 |
sigg Dev/Admin

Joined: 20 Oct 2007 Posts: 634 Location: Rashgarroth EU / Tiras Porah
|
Posted: Mon 12/8/08 9:46 pm Post subject: |
|
|
No, we can't change the architecture.
But what you can do is to change the multiplexer repaint values. By default, the value is set to 0.075 for all frames.
Add a multiplexer change periode feature to your windows and set the values to 0.01
Sigg |
|
| Back to top |
|
 |
sigg Dev/Admin

Joined: 20 Oct 2007 Posts: 634 Location: Rashgarroth EU / Tiras Porah
|
Posted: Mon 12/8/08 10:20 pm Post subject: |
|
|
In fact I get wrong.
the lag time is done by the multiplexer.
By default raidframes uses 0.075 interval repaint.
By default singleframes has a disabled multiplexer.
Here is a fix to disable by default the multiplexer and give you more real values.
Modify the file RDX/Windows/Obj_Window.lua
Line 98, add "mux:SetPeriod(nil);"
| Code: | local mux = s:GetSlotValue("Multiplexer");
w.Multiplexer = mux;
mux:SetPeriod(nil);
mux:Open(w);
-- Compat. |
To enable the multiplexer, just add the feature multiplexer and set a default values.
Remember, the multiplexer is used to throttle RDXEvents, so you gain FPS.
sigg |
|
| Back to top |
|
 |
halcyon
Joined: 02 Dec 2008 Posts: 17
|
Posted: Mon 12/8/08 11:14 pm Post subject: |
|
|
| sigg wrote: | In fact I get wrong.
the lag time is done by the multiplexer.
By default raidframes uses 0.075 interval repaint.
By default singleframes has a disabled multiplexer.
Here is a fix to disable by default the multiplexer and give you more real values.
Modify the file RDX/Windows/Obj_Window.lua
Line 98, add "mux:SetPeriod(nil);"
| Code: | local mux = s:GetSlotValue("Multiplexer");
w.Multiplexer = mux;
mux:SetPeriod(nil);
mux:Open(w);
-- Compat. |
To enable the multiplexer, just add the feature multiplexer and set a default values.
Remember, the multiplexer is used to throttle RDXEvents, so you gain FPS.
sigg |
Does disabling this basically put the code into a straight while loop painting as fast as it can? Ideally I only want it to paint when the data changes, otherwise there is no need. |
|
| Back to top |
|
 |
sigg Dev/Admin

Joined: 20 Oct 2007 Posts: 634 Location: Rashgarroth EU / Tiras Porah
|
Posted: Mon 12/8/08 11:45 pm Post subject: |
|
|
The multiplexer and the repaint features are two differents things.
The repaint feature repaint your window at each interval. (it is recommend to add a "no hiting" feature to disable RDXEvents bind to this window)
The multiplexer feature repaint your window at each interval if there is an event fired. The multiplexer will throttle events on time.
The last fix is like setting to 0 the throttle time of the multiplexer.
sigg |
|
| Back to top |
|
 |
Cidan Dev/Admin

Joined: 23 Nov 2008 Posts: 112
|
Posted: Mon 12/8/08 11:55 pm Post subject: |
|
|
Is there a way we can add this to the multiplexing parameter feature so this can be changed in game on a per-window basis? _________________ --
Gtalk: aj[DOT]lobato@gmail[DOT]com
MSN: aj[DOT]lobato@gmail[DOT]com
Replace [DOT] with, well, dot. =D |
|
| Back to top |
|
 |
halcyon
Joined: 02 Dec 2008 Posts: 17
|
Posted: Tue 12/9/08 12:22 am Post subject: |
|
|
| sigg wrote: | | The repaint feature repaint your window at each interval. (it is recommend to add a "no hiting" feature to disable RDXEvents bind to this window) |
Can you clarify this statement? Does this mean that if you set "no hinting" on a window that no incoming events will trigger a re-paint? If this is the case, then would you have to add something like a periodic painter to get the window to be repainted?
And why would I want to add this to a window that I want updated specifically by incoming events?
Thanks- |
|
| Back to top |
|
 |
sigg Dev/Admin

Joined: 20 Oct 2007 Posts: 634 Location: Rashgarroth EU / Tiras Porah
|
Posted: Tue 12/9/08 1:01 am Post subject: |
|
|
The multiplexer engine is already inside each window and not in the engine RDX as I say in the last post. The default interval value was 0.075.
The feature "Multiplexer Parameters" will just change this value.
The last fix do this :
If you don't add a "multiplexer parameter" feature to your window, RDXEvents is used immediately and your window will repaint.
If you add a "multiplexer parameter" with a value of 0.075, RDXEvents will be used every interval value to repaint the window.
The "no hiting" feature throw RDXEvent, so your window will never update base on the event.
The "repaint" feature will repaint your window each period.
The repaint + no hiting is used on targettarget windows, partytarget windows, etc ...
sigg |
|
| Back to top |
|
 |
halcyon
Joined: 02 Dec 2008 Posts: 17
|
Posted: Tue 12/9/08 1:25 am Post subject: |
|
|
| sigg wrote: | The multiplexer engine is already inside each window and not in the engine RDX as I say in the last post. The default interval value was 0.075.
The feature "Multiplexer Parameters" will just change this value.
The last fix do this :
If you don't add a "multiplexer parameter" feature to your window, RDXEvents is used immediately and your window will repaint.
If you add a "multiplexer parameter" with a value of 0.075, RDXEvents will be used every interval value to repaint the window.
The "no hiting" feature throw RDXEvent, so your window will never update base on the event.
The "repaint" feature will repaint your window each period.
The repaint + no hiting is used on targettarget windows, partytarget windows, etc ...
sigg |
Ah ok this makes sense, thanks. |
|
| Back to top |
|
 |
Cidan Dev/Admin

Joined: 23 Nov 2008 Posts: 112
|
Posted: Tue 12/9/08 3:23 am Post subject: |
|
|
Now the question is; do we want to commit this to the default RDX code base?
I vote yes. _________________ --
Gtalk: aj[DOT]lobato@gmail[DOT]com
MSN: aj[DOT]lobato@gmail[DOT]com
Replace [DOT] with, well, dot. =D |
|
| Back to top |
|
 |
halcyon
Joined: 02 Dec 2008 Posts: 17
|
Posted: Tue 12/9/08 4:20 am Post subject: |
|
|
| I would say so, I can't imagine I'm the only healer who needs quick updates. |
|
| Back to top |
|
 |
sigg Dev/Admin

Joined: 20 Oct 2007 Posts: 634 Location: Rashgarroth EU / Tiras Porah
|
Posted: Tue 12/9/08 4:39 am Post subject: |
|
|
commited on SVN
sigg |
|
| Back to top |
|
 |
Holly
Joined: 19 Oct 2007 Posts: 3
|
Posted: Sat 12/13/08 7:58 pm Post subject: |
|
|
Something related to that: The energy bar of my rogue doesn't update as fast as it should. It seems to only update every second or at some other interval in that order of magnitude.
But when I have myself as my target and therefore target of target, the target of target frame updates correctly, while the target and the player windows both update slower.
Adding a periodic repaint features fixes it, but shouldn't this work without it?
The behavior has not changed with 7.0.5. |
|
| Back to top |
|
 |
|