[winswitch] xpra 0.6.1 -- feedback

Antoine Martin antoine at nagafix.co.uk
Sun Sep 16 13:20:47 BST 2012


(snip)
>>> First of all I think changing default encoding from PNG wasn't such a
>>> good idea. By default visual quality is now degraded comparing to
>>> previous versions.
>>
>> It shouldn't be. x264 (and to a lesser extent vpx) offer almost lossless
>> visual quality, with much higher compression.
> 
> Well my eyes are not lying. :)  Perhaps "almost" is not good enough for me.
What you are seeing is a bug, when tuned properly (automagically and on
a fast enough connection) x264 is indistinguishable from lossless encodings.

>>> (I know I can override in config but I would prefer high quality
>>> defaults). Personally I feel very uncomfortable with new defaults.
>>
>> Can you specify the application, and link characteristics?
>> How do I get this lower visual quality you experienced?
> 
> Any application, but most notably it can be seen with text. I use iceweasel 
> (a.k.a. Firefox) or kmail or any text application -- text looks blurry in all 
> of them, like if I have a dirty monitor. There are artefacts similar to low-
> qiality jpeg compression around letters. Looks like sometimes when window is 
> not refreshed for some time (no scrolling or other activity) text quality 
> improves a little for some time until I select text or scroll etc.
> 
> This is very noticeable on thin black lines on white background. 
> I'm surprised you didn't see it. I attached a screenshot do demonstrate the 
> problem.
> 
> Connection is local 1GB Ethernet.
Thanks, will take a look.
I am currently re-working the latency and quality knobs, aiming to make
it choose suitable delays and quality in all cases, but it may be that
we end up having to give the user control over the quality vs latency
tradeoff, as a simple spinner in Firefox is often enough to skew the
statistics..

(snip)
>>> Reconnecting to server wasn't possible. Server log had only one error:
>>> 	[swscaler @ 0x3eca5e0] 1x1 -> 1x1 is invalid scaling dimension
>>
>> Hah, there is some code to avoid windows that small with x264 (it only
>> handles even dimensions), looks like vpx needs a similar workaround for
>> a different reason (YUV to RGB conversion with swscale seems to not
>> support very small dimensions), so here is the fix:
>> https://www.xpra.org/trac/changeset/1543
>> I cannot find the minimum dimensions specified anywhere, so I've used
>> the same restrictions as x264: avoid 1 pixel wide or high dimensions.
>> (will backport to old branches too)
>  
> Thank you for the patch. I applied to both server and client but server 
> crashed in exactly the same way with the same error logged.
> Anything else I can do to help?
Hmm, I don't see how it is possible to get a 1x1 area with the patch
applied, have you got a specific app that creates those 1x1 windows?
(I can always cook one up, but would rather make sure I use the same one)

Cheers
Antoine


> 
> 
> Regards,
> Dmitry.
> 
> ##############
> 2012-09-15 21:37:21,286 video encoder speed factors: min_damage_latency=0.05, 
> target_damage_latency=0.06, batch.delay=7.46, dam_lat=0.39, dec_lat=0.02, 
> target=39, new_speed=34
> 2012-09-15 21:37:21,286 video encoder quality factors: packets_bl=1.0, 
> batch_q=2.68, latency_q=0.77, target=77, new_quality=66
> 2012-09-15 21:37:21,286 update_batch_delay: wid=0, last updated 170.75 ms ago, 
> decay=1.0, change factor=-4.9%, delay min=5.7, avg=7.2, max=10.7, cur=7.4, w. 
> average=6.4, tot wgt=16.2, hist_w=8.1, new delay=7.0
>  ('damage processing latency: avg=0.039, recent=0.105, target=0.052, aim=0.8, 
> aimed avg factor=2.285, div=1.0, s=<built-in function sqrt>', 1.51, 0.71)
>  ('damage send latency: avg=0.044, recent=0.113, target=0.076, aim=0.8, aimed 
> avg factor=1.944, div=1.0, s=<built-in function sqrt>', 1.39, 0.62)
>  ('network send speed: avg=195351, recent=120187 (KBytes/s), 
> div=9.87646281417', 1.39, 0.14)
>  ('client decode speed: avg=34.8, recent=34.5 (MPixels/s)', 1.0, 0.0)
>  ('delay not updated for 169.4 ms (skipped 4 times - highest latency is 
> 113.4)', 0.0, 0.0)
>  ('client latency: avg=0.037, recent=0.039, target=0.005, aim=0.8, aimed avg 
> factor=1.559, div=1.0, s=<built-in function sqrt>', 1.24, 1.99)
>  ('damage packet queue size: avg=0.109, recent=0.011, target=1.0, aim=0.25, 
> aimed avg factor=0.007, div=1.0, s=<built-in function sqrt>', 0.08, 0.95)
>  ('damage packet queue pixels: avg=0.0, recent=0.0, target=1.0, aim=0.25, 
> aimed avg factor=0.0, div=894720, s=<built-in function sqrt>', 0.0, 1.0)
>  ('damage data queue: avg=0.063, recent=0.006, target=1.0, aim=0.25, aimed avg 
> factor=0.003, div=1.0, s=<function logp at 0x7f3923d05578>', 0.0, 0.99)
> 2012-09-15 21:37:21,286 video encoder speed factors: min_damage_latency=0.05, 
> target_damage_latency=0.05, batch.delay=7.08, dam_lat=0.65, dec_lat=0.02, 
> target=65, new_speed=43
> 2012-09-15 21:37:21,286 video encoder quality factors: packets_bl=1.0, 
> batch_q=2.82, latency_q=0.5, target=50, new_quality=65
> 2012-09-15 21:37:21,286 update_batch_delay: wid=0, last updated 64.0 ms ago, 
> decay=1.0, change factor=-2.5%, delay min=5.7, avg=7.1, max=10.7, cur=7.0, w. 
> average=6.6, tot wgt=19.5, hist_w=9.7, new delay=6.9
>  ('damage processing latency: avg=0.043, recent=0.108, target=0.052, aim=0.8, 
> aimed avg factor=2.173, div=1.0, s=<built-in function sqrt>', 1.47, 0.68)
>  ('damage send latency: avg=0.047, recent=0.114, target=0.076, aim=0.8, aimed 
> avg factor=1.851, div=1.0, s=<built-in function sqrt>', 1.36, 0.6)
>  ('network send speed: avg=163578, recent=94808 (KBytes/s), 
> div=9.53467132886', 1.44, 0.15)
>  ('client decode speed: avg=34.9, recent=34.8 (MPixels/s)', 1.0, 0.0)
>  ('delay not updated for 62.7 ms (skipped 1 times - highest latency is 
> 114.6)', 0.0, 0.0)
>  ('client latency: avg=0.036, recent=0.037, target=0.005, aim=0.8, aimed avg 
> factor=1.453, div=1.0, s=<built-in function sqrt>', 1.2, 1.81)
>  ('damage packet queue size: avg=0.107, recent=0.01, target=1.0, aim=0.25, 
> aimed avg factor=0.006, div=1.0, s=<built-in function sqrt>', 0.07, 0.96)
>  ('damage packet queue pixels: avg=0.0, recent=0.0, target=1.0, aim=0.25, 
> aimed avg factor=0.0, div=894720, s=<built-in function sqrt>', 0.0, 1.0)
>  ('damage data queue: avg=0.06, recent=0.004, target=1.0, aim=0.25, aimed avg 
> factor=0.002, div=1.0, s=<function logp at 0x7f3923d05578>', 0.0, 0.99)
> 2012-09-15 21:37:21,286 video encoder speed factors: min_damage_latency=0.05, 
> target_damage_latency=0.05, batch.delay=6.91, dam_lat=0.72, dec_lat=0.02, 
> target=72, new_speed=51
> 2012-09-15 21:37:21,286 video encoder quality factors: packets_bl=1.0, 
> batch_q=2.89, latency_q=0.53, target=53, new_quality=64
> 2012-09-15 21:37:21,286 update_batch_delay: wid=0, last updated 1531.75 ms 
> ago, decay=1.0, change factor=6.6%, delay min=5.7, avg=7.0, max=10.7, cur=5.8, 
> w. average=6.6, tot wgt=20.7, hist_w=10.3, new delay=6.1
>  ('damage processing latency: avg=0.015, recent=0.028, target=0.065, aim=0.8, 
> aimed avg factor=1.201, div=1.0, s=<built-in function sqrt>', 1.09, 0.31)
>  ('damage send latency: avg=0.017, recent=0.03, target=0.091, aim=0.8, aimed 
> avg factor=0.947, div=1.0, s=<built-in function sqrt>', 0.97, 0.16)
>  ('network send speed: avg=219612, recent=149175 (KBytes/s), 
> div=10.1878876417', 1.3, 0.12)
>  ('client decode speed: avg=17.2, recent=12.5 (MPixels/s)', 1.24, 0.24)
>  ('delay not updated for 1530.3 ms (skipped 38 times - highest latency is 
> 30.1)', 0.0, 0.0)
>  ('client latency: avg=0.036, recent=0.033, target=0.005, aim=0.8, aimed avg 
> factor=1.313, div=1.0, s=<built-in function sqrt>', 1.14, 1.52)
>  ('damage packet queue size: avg=0.099, recent=0.006, target=1.0, aim=0.25, 
> aimed avg factor=0.003, div=1.0, s=<built-in function sqrt>', 0.06, 0.96)
>  ('damage packet queue pixels: avg=0.0, recent=0.0, target=1.0, aim=0.25, 
> aimed avg factor=0.0, div=1160488, s=<built-in function sqrt>', 0.0, 1.0)
>  ('damage data queue: avg=0.059, recent=0.004, target=1.0, aim=0.25, aimed avg 
> factor=0.002, div=1.0, s=<function logp at 0x7f3923d05578>', 0.0, 0.99)
> 2012-09-15 21:37:21,286 video encoder speed factors: min_damage_latency=0.06, 
> target_damage_latency=0.07, batch.delay=6.18, dam_lat=0.21, dec_lat=0.05, 
> target=21, new_speed=20
> 2012-09-15 21:37:21,286 video encoder quality factors: packets_bl=1.0, 
> batch_q=3.23, latency_q=0.6, target=60, new_quality=84
> 2012-09-15 21:37:21,287 update_batch_delay: wid=0, last updated 63.64 ms ago, 
> decay=1.0, change factor=-2.4%, delay min=5.7, avg=6.9, max=10.7, cur=6.1, w. 
> average=6.5, tot wgt=22.0, hist_w=11.0, new delay=6.0
>  ('damage processing latency: avg=0.014, recent=0.006, target=0.065, aim=0.8, 
> aimed avg factor=0.272, div=1.0, s=<built-in function sqrt>', 0.52, 0.69)
>  ('damage send latency: avg=0.015, recent=0.006, target=0.091, aim=0.8, aimed 
> avg factor=0.22, div=1.0, s=<built-in function sqrt>', 0.46, 0.72)
>  ('network send speed: avg=220731, recent=149838 (KBytes/s), 
> div=10.1942764793', 1.3, 0.12)
>  ('client decode speed: avg=17.2, recent=12.6 (MPixels/s)', 1.24, 0.24)
>  ('delay not updated for 62.6 ms (skipped 1 times - highest latency is 15.8)', 
> 0.0, 0.0)
>  ('client latency: avg=0.035, recent=0.028, target=0.005, aim=0.8, aimed avg 
> factor=1.146, div=1.0, s=<built-in function sqrt>', 1.07, 1.06)
>  ('damage packet queue size: avg=0.098, recent=0.006, target=1.0, aim=0.25, 
> aimed avg factor=0.003, div=1.0, s=<built-in function sqrt>', 0.06, 0.96)
>  ('damage packet queue pixels: avg=0.0, recent=0.0, target=1.0, aim=0.25, 
> aimed avg factor=0.0, div=1160488, s=<built-in function sqrt>', 0.0, 1.0)
>  ('damage data queue: avg=0.058, recent=0.003, target=1.0, aim=0.25, aimed avg 
> factor=0.002, div=1.0, s=<function logp at 0x7f3923d05578>', 0.0, 0.99)
> 2012-09-15 21:37:21,287 video encoder speed factors: min_damage_latency=0.06, 
> target_damage_latency=0.07, batch.delay=6.03, dam_lat=0.19, dec_lat=0.05, 
> target=19, new_speed=20
> 2012-09-15 21:37:21,287 video encoder quality factors: packets_bl=1.0, 
> batch_q=3.31, latency_q=0.69, target=69, new_quality=82
> 2012-09-15 21:37:21,287 update_batch_delay: wid=0, last updated 160.24 ms ago, 
> decay=1.0, change factor=-11.0%, delay min=5.7, avg=6.8, max=10.7, cur=6.9, w. 
> average=6.4, tot wgt=25.6, hist_w=12.8, new delay=6.1
>  ('damage processing latency: avg=0.039, recent=0.068, target=0.052, aim=0.8, 
> aimed avg factor=1.473, div=1.0, s=<built-in function sqrt>', 1.21, 0.46)
>  ('damage send latency: avg=0.043, recent=0.072, target=0.076, aim=0.8, aimed 
> avg factor=1.252, div=1.0, s=<built-in function sqrt>', 1.11, 0.34)
>  ('network send speed: avg=257766, recent=245588 (KBytes/s), 
> div=10.906633034', 1.03, 0.09)
>  ('client decode speed: avg=34.9, recent=34.8 (MPixels/s)', 1.0, 0.0)
>  ('delay not updated for 158.9 ms (skipped 3 times - highest latency is 
> 72.7)', 0.0, 0.0)
>  ('client latency: avg=0.034, recent=0.025, target=0.005, aim=0.8, aimed avg 
> factor=1.015, div=1.0, s=<built-in function sqrt>', 1.0, 0.35)
>  ('damage packet queue size: avg=0.093, recent=0.004, target=1.0, aim=0.25, 
> aimed avg factor=0.002, div=1.0, s=<built-in function sqrt>', 0.05, 0.97)
>  ('damage packet queue pixels: avg=0.0, recent=0.0, target=1.0, aim=0.25, 
> aimed avg factor=0.0, div=894720, s=<built-in function sqrt>', 0.0, 1.0)
>  ('damage data queue: avg=0.055, recent=0.002, target=1.0, aim=0.25, aimed avg 
> factor=0.001, div=1.0, s=<function logp at 0x7f3923d05578>', 0.0, 0.99)
> 2012-09-15 21:37:21,287 video encoder speed factors: min_damage_latency=0.05, 
> target_damage_latency=0.05, batch.delay=6.15, dam_lat=0.67, dec_lat=0.02, 
> target=67, new_speed=56
> 2012-09-15 21:37:21,287 video encoder quality factors: packets_bl=1.0, 
> batch_q=3.25, latency_q=0.79, target=79, new_quality=65
> 2012-09-15 21:37:21,287 update_batch_delay: wid=0, last updated 49.03 ms ago, 
> decay=1.0, change factor=-3.1%, delay min=5.7, avg=6.7, max=10.2, cur=6.0, w. 
> average=6.4, tot wgt=29.2, hist_w=14.6, new delay=5.8
>  ('damage processing latency: avg=0.012, recent=0.002, target=0.065, aim=0.8, 
> aimed avg factor=0.134, div=1.0, s=<built-in function sqrt>', 0.36, 0.79)
>  ('damage send latency: avg=0.013, recent=0.004, target=0.091, aim=0.8, aimed 
> avg factor=0.148, div=1.0, s=<built-in function sqrt>', 0.38, 0.78)
>  ('network send speed: avg=221556, recent=150346 (KBytes/s), 
> div=10.1991576671', 1.3, 0.12)
>  ('client decode speed: avg=17.3, recent=12.7 (MPixels/s)', 1.23, 0.23)
>  ('delay not updated for 47.4 ms (skipped 1 times - highest latency is 13.9)', 
> 0.0, 0.0)
>  ('client latency: avg=0.033, recent=0.02, target=0.005, aim=0.8, aimed avg 
> factor=0.83, div=1.0, s=<built-in function sqrt>', 0.91, 1.19)
>  ('damage packet queue size: avg=0.091, recent=0.004, target=1.0, aim=0.25, 
> aimed avg factor=0.002, div=1.0, s=<built-in function sqrt>', 0.05, 0.97)
>  ('damage packet queue pixels: avg=0.0, recent=0.0, target=1.0, aim=0.25, 
> aimed avg factor=0.0, div=1160488, s=<built-in function sqrt>', 0.0, 1.0)
>  ('damage data queue: avg=0.053, recent=0.002, target=1.0, aim=0.25, aimed avg 
> factor=0.001, div=1.0, s=<function logp at 0x7f3923d05578>', 0.0, 0.99)
> 
> 
> 
> _______________________________________________
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
> http://lists.devloop.org.uk/mailman/listinfo/shifter-users
> 




More information about the shifter-users mailing list