Changes between Version 23 and Version 24 of WindowRefresh
- Timestamp:
- 12/11/13 10:08:39 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WindowRefresh
v23 v24 1 {{{#!div class="box" 1 2 = Window Refresh = 2 3 … … 9 10 * the "video quality": mainly for the x264 video encoder, but also jpeg and webp 10 11 * the "video speed": mainly for the x264 video encoder, but also used for png/jpeg (at very low speed, we "optimize" the compression) 12 }}} 11 13 12 [[BR]] 13 14 {{{#!div class="box" 14 15 == X11 Composite == 15 16 * [http://en.wikipedia.org/wiki/Compositing_window_manager Compositing window manager] (wikipedia) 16 17 * [http://www.x.org/releases/X11R7.5/doc/compositeproto/compositeproto.txt Composite Proto Spec] 17 18 * [http://www.talisman.org/~erlkonig/misc/x11-composite-tutorial/ x11 composite tutorial] 19 }}} 18 20 21 {{{#!div class="box" 19 22 == Code Pointers == 20 23 Since this is an area that receives constant tuning and improvements, the most reliable source of current information is the code itself: … … 30 33 31 34 Note 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 }}} 32 36 33 [[BR]]34 37 38 {{{#!div class="box" 35 39 == Background on damage request processing == 36 40 Step by step (and oversimplified - so check the code for details) of the critical damage code path: … … 59 63 * mmap 60 64 * video encoding: choosing a pipeline (many factors..), window dimensions restrictions, etc.. 65 }}} 61 66 62 [[BR]]63 67 68 {{{#!div class="box" 64 69 == The Batch Delay Factors == 65 70 Again, this is a simplified explanation, and the actual values used will make use of heuristics, weighted averages, etc. Recent vs average values, trends, etc. … … 95 100 * with a weight of 0.0, the factor is irrelevant as it won't be counted 96 101 * with a high enough weight, a factor can overrule others 102 }}} 97 103 98 [[BR]]99 104 105 {{{#!div class="box" 100 106 == Speed and Quality auto tuning == 101 107 Please refer to the code for accurate information. … … 106 112 * 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 107 113 * 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 }}} 108 115 109 116 110 [[BR]] 111 117 {{{#!div class="box" 112 118 == Debugging == 113 119 "{{{xpra info}}}" provides a lot of details on the current values used for batch delay and encoding speed/quality calculations. … … 118 124 }}} 119 125 You should narrow down to the individual window you are interested in. 126 }}}