xpra icon
Bug tracker and wiki

Changes between Version 23 and Version 24 of WindowRefresh


Ignore:
Timestamp:
12/11/13 10:08:39 (6 years ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WindowRefresh

    v23 v24  
     1{{{#!div class="box"
    12= Window Refresh =
    23
     
    910* the "video quality": mainly for the x264 video encoder, but also jpeg and webp
    1011* the "video speed": mainly for the x264 video encoder, but also used for png/jpeg (at very low speed, we "optimize" the compression)
     12}}}
    1113
    12 [[BR]]
    13 
     14{{{#!div class="box"
    1415== X11 Composite ==
    1516* [http://en.wikipedia.org/wiki/Compositing_window_manager Compositing window manager] (wikipedia)
    1617* [http://www.x.org/releases/X11R7.5/doc/compositeproto/compositeproto.txt Composite Proto Spec]
    1718* [http://www.talisman.org/~erlkonig/misc/x11-composite-tutorial/ x11 composite tutorial]
     19}}}
    1820
     21{{{#!div class="box"
    1922== Code Pointers ==
    2023Since this is an area that receives constant tuning and improvements, the most reliable source of current information is the code itself:
     
    3033
    3134Note also that many of these classes have a {{{add_stats}}} method which is used by {{{xpra info}}} to provide detailed statistics from the command line and is a good first step for debugging.
     35}}}
    3236
    33 [[BR]]
    3437
     38{{{#!div class="box"
    3539== Background on damage request processing ==
    3640Step by step (and oversimplified - so check the code for details) of the critical damage code path:
     
    5963* mmap
    6064* video encoding: choosing a pipeline (many factors..), window dimensions restrictions, etc..
     65}}}
    6166
    62 [[BR]]
    6367
     68{{{#!div class="box"
    6469== The Batch Delay Factors ==
    6570Again, this is a simplified explanation, and the actual values used will make use of heuristics, weighted averages, etc. Recent vs average values, trends, etc.
     
    95100* with a weight of 0.0, the factor is irrelevant as it won't be counted
    96101* with a high enough weight, a factor can overrule others
     102}}}
    97103
    98 [[BR]]
    99104
     105{{{#!div class="box"
    100106== Speed and Quality auto tuning ==
    101107Please refer to the code for accurate information.
     
    106112* client speed: if the client is struggling to decode frames, then we use a higher speed (which means less effort in decompressing the stream) - the target client decoding speed is 8 MPixels/s
    107113* quality: we try to lower the quality if we find that the client has a backlog of frames to draw/acknowledge (usually a sign of network congestion), or if the measure client latency is higher than normal (also a sign of congestion)
     114}}}
    108115
    109116
    110 [[BR]]
    111 
     117{{{#!div class="box"
    112118== Debugging ==
    113119"{{{xpra info}}}" provides a lot of details on the current values used for batch delay and encoding speed/quality calculations.
     
    118124}}}
    119125You should narrow down to the individual window you are interested in.
     126}}}