xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Initial Version and Version 1 of Encodings/Debugging


Ignore:
Timestamp:
01/12/17 12:10:12 (4 years ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Encodings/Debugging

    v1 v1  
     1[[Image(http://xpra.org/icons/encoding.png)]]
     2= Picture Encodings Debugging =
     3
     4See [/wiki/Encodings encodings].
     5
     6
     7{{{#!div class="box"
     8== Initial Checks ==
     9The first thing to check is the codec availability and version.
     10On MS Windows, run the {{{Encoding_Info.exe}}} utility, or the [/wiki/ReportingBugs bug report tool].
     11On other platforms, run the {{{xpra/codecs/loader.py}}} script, and for debugging video the {{{xpra/codecs/video_helper.py}}} script. (both support a {{{--verbose}}} option).
     12}}}
     13
     14
     15{{{#!div class="box"
     16== Encodings Actually Used ==
     17When selecting a non-video encoding explicitly, the encoding used for sending the pixels to the client will be the one which has been selected.
     18
     19The only exception to this rule is when the number of pixels is so small that trying to compress them would be pointless, and they are then usually sent as plain {{{rgb}}}.
     20
     21----
     22
     23With video encodings, things are more complicated: if there is a video region, the non-video areas will use other encodings.
     24Even the video region (which may be the whole window) will get automatically refreshed with a lossless encoding when it stops refreshing rapidly enough to warrant the use of a video encoder.
     25}}}
     26
     27
     28{{{#!div class="box"
     29== Debug Encoding Used ==
     30To debug encoding selection:
     31* the actual encoding used is logged with {{{-d compress}}} in the form:
     32{{{
     33make_data_packet: image=XShmImageWrapper(BGRX: 149, 2, 6, 13), damage data: (1, 149, 2, 6, 13, 'rgb24')
     34compress:   0.9ms for  499x316  pixels using  mmap with ratio   0.0% (  615KB to     0KB), delta=-1, client_options={'rgb_format': 'BGRX'}
     35}}}
     36* the current encoding set is best seen with: {{{xpra info | grep encoding=}}}
     37* to see statistics about which encodings are actually used: {{{xpra info | egrep "last_used|total_frames|total_pixels"}}}
     38* video region detection can be seen with {{{xpra info | grep region}}}, and its debug logging can be enabled with {{{-d regiondetect}}}
     39}}}
     40
     41
     42{{{#!div class="box"
     43== Debug Video Encoder Selection ==
     44
     45Xpra supports multiple video encoders and multiple CSC modules.
     46The exact compression pipeline used will vary and it may get re-evaluated up to 1 time per second. Each encoder and CSC option will be scored, taking into account the speed and quality requirements as well as the current network and CPU / GPU conditions.
     47To show the details of those calculations, use the "score" debug flag:
     48{{{
     49xpra start -d score
     50}}}
     51}}}
     52
     53{{{#!div class="box"
     54== Debug Auto-Refresh ==
     55
     56When screen updates are sent using a lossless encoding (usually for performance reasons), the system will keep track of those regions and send a lossless auto-refresh packet later.
     57To debug the auto-refresh logic, use the "-d refresh" logging option.
     58
     59A similar mechanism applies to video regions, which uses the "-d regionrefresh" flag.
     60}}}