Re: [AD] SF.net SVN: alleg:[13312] allegro/branches/4.9

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On April 24, 2010, Peter Wang wrote:
> On 25 April 2010 10:39, Thomas Fjellstrom <tfjellstrom@xxxxxxxxxx> wrote:
> > I'm not sure I can see how xrandr info fetching can cause any serious
> > cpu use, and even then audio just shouldn't stutter these days (least
> > I find it hard to get audio to stutter even when both my cores are
> > pegged, amarok and X/KDE can be locked up solid, but the audio will
> > still play).
> 
> I think it has to do with analogue VGA connectors.  IIRC the flickering
> happens when the analogue outputs are used (even as secondary monitors).
>  Maybe the information it needs is not readily available so it uses some
> brute force probing technique on those monitors.

I haven't noticed such a problem on any of my systems (intel gma vs radeon 
vs gforce). So I'm not sure what's going on. 

> > I suspect something about your gfx drivers, or version of Xorg. Though
> > I'm not sure how we can work around that properly. Or if we /can/. As
> > I mentioned, xrandr will probably need to be inited at startup once we
> > support listening for xrandr change events (so we can send events when
> > things like a switch out happens, etc).
> 
> The problematic call is to XRRGetScreenResources().  Maybe we can set up
> just enough of randr to listen to the events without calling it.

That might be possible. Could probably make the functions that need the 
xrandr_res variable, just call that itself if it needs to. ie: separate the 
XRRGetScreenResources and the screen detection code from the initial 
detection code. I used to have the code split up into init, query and exit 
functions, rather than just init, and exit.. Could easily enough move back, 
and functions that need to query, well call query, and it can cache the 
"res" structure if need be (cut down on flickering in your case).

I'm not sure how to actually listen for xrandr events yet. I assume you have 
to tell X you want xrandr events with some flags or mask or some such.

> Peter
> 
> -------------------------------------------------------------------------
> -----


-- 
Thomas Fjellstrom
tfjellstrom@xxxxxxxxxx




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/