[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#542701: xserver-xorg-video-intel: Very slow 2D performance on one screen of dual display until after switch to console VT and back.



On Thu, Sep 3, 2009 at 12:02 PM, Carl Worth<cworth@cworth.org> wrote:
>
> Hi Thomas,

Hello, Carl,

Thanks for taking the time to contact me.  :^)

> You've got a very mysterious bug.

Well, at least I have a reliable work-around.

> The acceleration code in the driver isn't aware of the two different
> monitors at all, (it's just seeing coordinates).
>
> I discussed the problem with a room full of graphics engineers and
> mostly got head scratching.

I'm glad that I noticed something that might serve at least as an
interesting puzzle.

> But there was one germ of an idea: Perhaps there's some odd RandR
> transformation being configured for the one display. (For example,
> imagine the code going through an extra copy and transformation as if
> rotated.) Something like that might cause the slowdown.

That seems plausible to me.  A few months ago I played with
rotating one of my monitors, but the performance was so bad that I
stopped playing with it.  Anyway, the performance problem that I saw
with my rotated monitor was of exactly the same kind that I see on the
right screen before the VT switch.  Not that this proves anything.

> And doing the VT switch might get your desktop environment to
> reconfigure the RandR stuff correctly the second time.
>
> That's not much of a theory, but you might poke around to see if the
> output of "xrandr" changes from before to after the VT switch.

The output of 'xrandr --verbose' was identical from before to after the
VT switch.  I diffed the results and got null output.  I'll attach one
of the output files.

> You might also try running with a different desktop environment (or
> none at all) to see if the buggy behavior changes at all.

I recently switched from gnome to kde, but this of course makes no
difference.  I can see that the right screen is painted slowly even when
gdm (or kdm) initializes itself at startup.

Moreover, I've done most of my testing by just killing the display
manager and starting X with xinit, and then doing 'twm &' at the shell
prompt in xterm.  The clearest test in that case is just to drag the
xterm window from the left screen to the right screen.  The twm window
manager just draws an outline while dragging, but even this outline is
noticeably distorted by motion on the right screen, whereas it is hardly
distorted at all on the left.

By the way, do you have access to hardware on which this anomaly can be
reproduced?

It would be nice to know that I am not continually suffering from the
same hallucination over and over again.  :^)

By the way, I don't mind grabbing the relevant source and building for
debug output, if that would be of any help.  I just need to know how to
turn on the relevant output or else where to stick some printf()s.

-- 
Thomas E. Vaughan

There are only two kinds of people; those who accept dogma and know it,
and those who accept dogma and don't know it. - G.K. Chesterton

Attachment: xrandr-output-before-switch
Description: Binary data


Reply to: