[Nouveau] nouveau slower than nv and vesa on quadro 135M

Maarten Maathuis madman2003 at gmail.com
Mon Sep 15 05:45:54 PDT 2008


On Mon, Sep 15, 2008 at 2:04 PM, Helge Hafting
<helge.hafting at aitel.hist.no> wrote:
> Maarten Maathuis wrote:
>>
>> On Mon, Sep 15, 2008 at 1:12 PM, Helge Hafting
>> <helge.hafting at aitel.hist.no> wrote:
>>>
>>> Maarten Maathuis wrote:
>>>
>>>> A profile of running this application would be useful (with nouveau
>>>> and xorg symbols). I have some suspicions as to the cause,
>>>> but some facts would be nice to have. Either oprofile or sysprof will
>>>> do, for oprofile we have a wiki page:
>>>> http://nouveau.freedesktop.org/wiki/OProfile
>>>>
>>> That wiki page doesn't list the first necessary step,
>>> which is "opcontrol --init". Adding that might be useful for newbies.
>>>
>>> I profiled two apps that are too slow with this driver.
>>> * navit (map navigation), slowly panning the map across a city. This
>>>  panning redraws the map each time, which is instantaneous with the
>>>  vesa driver.
>>>
>>> * lyx (word processor), typing text into a table. The pc could not
>>>  keep up with keyboard autorepeat, giving me one to three characters
>>>  per second. Each keypress redraws the table lines and the text
>>>  in the table cell.
>>>
>>> I am not sure if I have all the symbols needed. I used nouveau compiled
>>> per the instructions for debian. The X server consist of packages from
>>> debian unstable/experimental. Please tell if there is anything I can do
>>> to
>>> improve on this.
>>>
>>> It'd be great to get this driver closer to vesa performance, for
>>> vesa doesn't handle dual screens. You probably have higher goals than
>>> that.
>>> :-)
>>>
>>> navit profile data:
>>> http://www.aitel.hist.no/~helgehaf/oprofile/navit/opreport
>>> http://www.aitel.hist.no/~helgehaf/oprofile/navit/opreport-l
>>> http://www.aitel.hist.no/~helgehaf/oprofile/navit/opreport--callgraph
>>>
>>> lyx profile data:
>>> http://www.aitel.hist.no/~helgehaf/oprofile/lyx16/opreport
>>> http://www.aitel.hist.no/~helgehaf/oprofile/lyx16/opreport-1
>>>
>>> Helge Hafting
>>>
>>
>> While the traces lack a lot of symbols (xserver's and pixman), i do
>> have a hunch as to the cause of the problem.
>>
>> Could you add to your device section:
>>
>> Option "EXAOptimizeMigration" "1"
>>
>> This option seems to default to off for 1.5 (while it's on by default
>> for post-1.5).
>>
>> If this doesn't help, then you need to get symbols for the xserver and
>> libpixman.
>
> I added that option, and it did not help.
> So I installed debug packages for xserver-xorg-core and libpixman. Here
> are the new results:
>
> navit profile data:
> http://www.aitel.hist.no/~helgehaf/oprofile/navit2/opreport
> http://www.aitel.hist.no/~helgehaf/oprofile/navit2/opreport
> http://www.aitel.hist.no/~helgehaf/oprofile/navit2/opreport
>
> LyX profile data:
> http://www.aitel.hist.no/~helgehaf/oprofile/lyx2/opreport
> http://www.aitel.hist.no/~helgehaf/oprofile/lyx2/opreport-l
> (No --callgraph, error msg. about an invalid filename.)
>
> Helge Hafting
>

The 1st and the 2nd problem are different. Let's focus on the first initially.

I think for a callgraph you need to specify a depth, --callgraph=5 for
example, please experiment with that to see if you can actually see
who is calling those pixman functions (for the navit case). Currently
it just points to itself which is a (rather poor) way of showing that
it doesn't know.

If you could attach an xorg log, that would allow me to check if
things are as i expect them to be.

Maarten.


More information about the Nouveau mailing list