[Spice-devel] Delay in Gimp when using qxl driver
Dominique Rodrigues
dominique.rodrigues at nanocloud.com
Sun Jan 22 10:39:39 PST 2012
Le 22/01/2012 15:52, Dominique Rodrigues a écrit :
> Le 22/01/2012 15:46, Alon Levy a écrit :
>> On Sun, Jan 22, 2012 at 03:18:14PM +0100, Dominique Rodrigues wrote:
>>> Le 20/01/2012 20:04, Yaniv Kaul a écrit :
>>>> ----- Original Message -----
>>>>>> samples pcnt function DSO
>>>>>>
>>>>>> 3796.00 60.4% hashlittle
>>>>> This sucks, unfortunately I don't have any quick fix for it. It's the
>>>>> hash computation done on each image. Needless to say it needs to be
>>>>> optimized - either made more efficient or reduce the number of calls.
>>>>>
>>>>> Soren, FYI.
>>>> You could move to murmur2, like Windows' QXL driver
>>>> (https://bugs.freedesktop.org/show_bug.cgi?id=37465) or murmur3 or
>>>> other faster ones
>>>> (https://bugs.freedesktop.org/show_bug.cgi?id=35775).
>>>> At least it's not hashed twice
>>>> now(https://bugs.freedesktop.org/show_bug.cgi?id=37977 - worth
>>>> updating bug status?!), but I'm not sure it should be hashed at
>>>> all, if it's not cached.
>>>> Y.
>>> That's true : when you draw in Gimp in a Windows Seven (64 bits)
>>> guest, you have absolutely no delay, at any speed.
>>>
>>> Soren has recently improved a lot the qxl driver for Linux, but if
>>> you accelerate the mouvement of your mouse, the drawing can't still
>>> follow your mouse in Gimp.
>>>
>>> I don't know why different functions have been choosen into the qxl
>>> drivers for Windows and Linux, but it could be interesting to
>> because it was done by different people at different times.
>>
>
> That's clear. I also thought that this was the main reason.
>
> However, since the qxl driver is the key to benefit from the best user
> experience in SPICE, my opinion is that it is important to optimize it
> as far as possible. Every effort for that goal is welcome.
>
> Dominique
>
>>> benefit from the best of these different versions.
>>>
>>>
>>> Dominique Rodrigues
By the way, since last improvements from Soren on the qxl driver, the
new consuming function is "qxl_update_area".
Output of perf top (during rapid drawing in Gimp) :
PerfTop: 930 irqs/sec kernel:39.8% exact: 0.0% [1000Hz
cpu-clock], (all, 1 CPU)
----------------------------------------------------------------------------------------------------------------------------------
samples pcnt function DSO
_______ _____ _____________________________
__________________________________________
1313.00 49.6% qxl_update_area
/usr/lib64/xorg/modules/drivers/qxl_drv.so
294.00 11.1% retint_careful [kernel.kallsyms]
122.00 4.6% qxl_ring_push
/usr/lib64/xorg/modules/drivers/qxl_drv.so
92.00 3.5% finish_task_switch [kernel.kallsyms]
75.00 2.8% _spin_unlock_irqrestore [kernel.kallsyms]
33.00 1.2% g_type_check_instance_cast
/lib64/libgobject-2.0.so.0.2200.5
33.00 1.2% pixman_blt_sse2
/usr/lib64/libpixman-1.so.0.18.4
31.00 1.2% _int_malloc
/lib64/libc-2.12.so
30.00 1.1% __pthread_mutex_lock_internal
/lib64/libpthread-2.12.so
30.00 1.1% g_type_check_instance_is_a
/lib64/libgobject-2.0.so.0.2200.5
28.00 1.1% g_hash_table_lookup
/lib64/libglib-2.0.so.0.2200.5
23.00 0.9% g_slice_alloc
/lib64/libglib-2.0.so.0.2200.5
21.00 0.8% __pthread_mutex_unlock
/lib64/libpthread-2.12.so
21.00 0.8% unix_poll [kernel.kallsyms]
19.00 0.7% native_flush_tlb [kernel.kallsyms]
16.00 0.6% __do_page_fault [kernel.kallsyms]
15.00 0.6% _int_free
/lib64/libc-2.12.so
15.00 0.6% __memcpy_ssse3
/lib64/libc-2.12.so
14.00 0.5% __strstr_sse2
/lib64/libc-2.12.so
14.00 0.5% clear_page_c [kernel.kallsyms]
11.00 0.4% do_select [kernel.kallsyms]
9.00 0.3% qxl_surface_create
/usr/lib64/xorg/modules/drivers/qxl_drv.so
8.00 0.3% g_atomic_int_exchange_and_add
/lib64/libglib-2.0.so.0.2200.5
8.00 0.3% g_param_spec_pool_lookup
/lib64/libgobject-2.0.so.0.2200.5
8.00 0.3% __GI___strcmp_ssse3
/lib64/libc-2.12.so
7.00 0.3% __GI_vfprintf
/lib64/libc-2.12.so
7.00 0.3% g_slice_free1
/lib64/libglib-2.0.so.0.2200.5
7.00 0.3% sock_poll [kernel.kallsyms]
7.00 0.3% __GI___libc_malloc
/lib64/libc-2.12.so
Dominique
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dominique_rodrigues.vcf
Type: text/x-vcard
Size: 296 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120122/e2c44a0a/attachment.vcf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3710 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120122/e2c44a0a/attachment.bin>
More information about the Spice-devel
mailing list