OpenRDX Forum Index OpenRDX

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Raid Windows Update Rate
Goto page 1, 2  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    OpenRDX Forum Index -> Questions / FAQ
View previous topic :: View next topic  
Author Message
halcyon



Joined: 02 Dec 2008
Posts: 17

PostPosted: Mon 12/8/08 7:42 pm    Post subject: Raid Windows Update Rate Reply with quote

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
View user's profile Send private message
sigg
Dev/Admin


Joined: 20 Oct 2007
Posts: 634
Location: Rashgarroth EU / Tiras Porah

PostPosted: Mon 12/8/08 8:48 pm    Post subject: Reply with quote

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
View user's profile Send private message
halcyon



Joined: 02 Dec 2008
Posts: 17

PostPosted: Mon 12/8/08 9:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
sigg
Dev/Admin


Joined: 20 Oct 2007
Posts: 634
Location: Rashgarroth EU / Tiras Porah

PostPosted: Mon 12/8/08 9:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
sigg
Dev/Admin


Joined: 20 Oct 2007
Posts: 634
Location: Rashgarroth EU / Tiras Porah

PostPosted: Mon 12/8/08 10:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
halcyon



Joined: 02 Dec 2008
Posts: 17

PostPosted: Mon 12/8/08 11:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
sigg
Dev/Admin


Joined: 20 Oct 2007
Posts: 634
Location: Rashgarroth EU / Tiras Porah

PostPosted: Mon 12/8/08 11:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cidan
Dev/Admin


Joined: 23 Nov 2008
Posts: 112

PostPosted: Mon 12/8/08 11:55 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website MSN Messenger
halcyon



Joined: 02 Dec 2008
Posts: 17

PostPosted: Tue 12/9/08 12:22 am    Post subject: Reply with quote

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
View user's profile Send private message
sigg
Dev/Admin


Joined: 20 Oct 2007
Posts: 634
Location: Rashgarroth EU / Tiras Porah

PostPosted: Tue 12/9/08 1:01 am    Post subject: Reply with quote

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
View user's profile Send private message
halcyon



Joined: 02 Dec 2008
Posts: 17

PostPosted: Tue 12/9/08 1:25 am    Post subject: Reply with quote

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
View user's profile Send private message
Cidan
Dev/Admin


Joined: 23 Nov 2008
Posts: 112

PostPosted: Tue 12/9/08 3:23 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website MSN Messenger
halcyon



Joined: 02 Dec 2008
Posts: 17

PostPosted: Tue 12/9/08 4:20 am    Post subject: Reply with quote

I would say so, I can't imagine I'm the only healer who needs quick updates.
Back to top
View user's profile Send private message
sigg
Dev/Admin


Joined: 20 Oct 2007
Posts: 634
Location: Rashgarroth EU / Tiras Porah

PostPosted: Tue 12/9/08 4:39 am    Post subject: Reply with quote

commited on SVN

sigg
Back to top
View user's profile Send private message
Holly



Joined: 19 Oct 2007
Posts: 3

PostPosted: Sat 12/13/08 7:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    OpenRDX Forum Index -> Questions / FAQ All times are GMT - 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 4 Hours
www.phpbb.com
© fridgid 2005-2007