Questions about experimental Spice compositor rebase

Yury Shvedov shved at lvk.cs.msu.su
Tue Mar 22 06:58:17 UTC 2016


Hi, Fabio.

Unfortunately, I haven't time for this at all.

On 03/21/2016 12:59 AM, Fabio Fantoni wrote:
> I unfortunately had short time also this weekend.
> I tried to search a more efficient way to limit fps send to spice 
> (instead of adding another buffer like xspice) and probably I found 
> something about increase delay with "wl_event_source_timer_update", I 
> tried to increased delay set to time_start in 
> spice_output_start_repaint_loop function but the fps are still up near 
> 1000.
> I checked in rdp compositor and seems that delay is in 
> rdp_output_repaint instead of rdp_output_start_repaint_loop:
> "wl_event_source_timer_update(output->finish_frame_timer, 16);"
> I suppose that now in spice compositor there a delay only at the loop 
> starts and/or "b->core->timer_start (output->wakeup_timer, 1);" in 
> "on_wakeup" (if is this the 1 ms delay will explain the actual fps 
> near to 1000)
The reason of such behavior is next. The weston always sends to spice 
renderer the damage equivalent to full screen. It always thinks that 
screen updates fully and on each tick. Adding 
pixman_region32_subtract(&ec->primary_plane.damage, 
&ec->primary_plane.damage, damage);
to the end of repaint function will resolve this issue, but also there 
no output to spice client. And now I don't know why.

> Can someone tell me if my assumptions are right and if right what is 
> the better way to add a delay, using it for limit fps and make it 
> settable (for example max fps minimum to 10, maximum to 100 and 
> default to 30) without negative effects please?
>
> I also tried to enable a weston debug to understand something faster 
> and use it as help in some fast tests, I tried with a fast google 
> search founding only WAYLAND_DEBUG=1 but seems that weston debug 
> output is partial or missed, is there another way?
> I also found a "#define DEBUG 2" in compositor-spice-conf.h, this I 
> suppose should force weston debug level using spice compositor (with 
> COMPOSITOR_SPICE_CONF_H) but I did a grep without finding something 
> using it, can someone help me to understand please?
> is the file compositor-spice-conf.h needed or can be removed? (seem 
> used only for change debug and set spice compositor version but with a 
> grep version seems unused and I suppose if will be needed can be 
> setted always and in compositor-spice.c instead)
This is another piece of crap, left from my old code. I think, it can be 
removed in case the success build.
>
> For any developer reading this thread for the first time, here the 
> spice compositor repository: https://github.com/ein-shved/compositor-spice
> And here latest patch to make faster see the spice compositor 
> additions/changes rebased on recently weston upstream: 
> https://github.com/Fantu/compositor-spice/commit/3a75bb84da4650dd186f3f025c3640a65600bc6d 
> - https://github.com/Fantu/compositor-spice/commits/rebase/spice-master
>
>
>
> Thanks for any reply and sorry for my bad english.
>
I will let you know then I learn or do something new.

-- 
Kind Regards,
Yury Shvedov



More information about the wayland-devel mailing list