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 Version 16 and Version 17 of WindowRefresh


Ignore:
Timestamp:
06/21/13 13:34:49 (8 years ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WindowRefresh

    v16 v17  
    1919== Code Pointers ==
    2020Since this is an area that receives constant tuning and improvements, the most reliable source of current information is the code itself:
    21 * [/browser/trunk/src/xpra/server_source.py server_source.py]: this class is instantiated for each client connection. In particular:
    22   * {{{GlobalPerformanceStatistics}}}: collects various statistics about this client's connection speed, the various work queues, etc. The {{{get_factors}}} method returns a guesstimate of how the batch delay should be adjusted for the given parameters ("target latency" and "pixel count")
     21* [/browser/xpra/trunk/src/xpra/server/batch_config.py xpra/server/batch_config.py] stores the dynamically updated batch delay configuration data and also historical values and the last set of factors used to derive the delay
     22* [/browser/xpra/trunk/src/xpra/server/source.py xpra/server/server_source.py]: a {{{ServerSource}}} is instantiated for each client connection.
    2323  * {{{calculate_delay_thread}}} which runs at most 4 times a second to tune the batch delay, both the global default one ({{{default_batch_config}}} which is a {{{DamageBatchConfig}}}) and the one specific to each window (see below for details)
    24 * [/browser/trunk/src/xpra/window_source.py window_source.py]: this class is instantiated for each window and for each client, it deals with sending the window's pixels to the client. In particular:
    25   * {{{DamageBatchConfig}}}: the structure which encapsulates all the configuration and historical values related to a batch delay.
    26   * {{{WindowPerformanceStatistics}}}: per-window statistics: performance of the encoding/decoding, amount of frames and pixels in flight, etc. Again, the {{{get_factors}}} method rreturns a guesstimate of how the batch delay should ne agjusted for the given parameters ("pixel_count" and current "batch delay")
    27 * [/browser/trunk/src/xpra/batch_delay_calculator.py batch_delay_calculator.py]: this class is where we used the factors obtained by {{{get_factors}}} above to tune the various attributes.
     24* [/browser/xpra/trunk/src/xpra/server/source_stats.py xpra/server/source_stats.py]: {{{GlobalPerformanceStatistics}}}: collects various statistics about this client's connection speed, the various work queues, etc. The {{{get_factors}}} method returns a guesstimate of how the batch delay should be adjusted for the given parameters ("target latency" and "pixel count")
     25* [/browser/xpra/trunk/src/xpra/server/window_source.py window_source.py]: this class is instantiated for each window and for each client, it deals with sending the window's pixels to the client. In particular:
     26* [/browser/xpra/trunk/src/xpra/server/window_stats.py xpra/server/window_stats.py]: {{{WindowPerformanceStatistics}}}: per-window statistics: performance of the encoding/decoding, amount of frames and pixels in flight, etc. Again, the {{{get_factors}}} method rreturns a guesstimate of how the batch delay should ne agjusted for the given parameters ("pixel_count" and current "batch delay")
     27* [/browser/trunk/src/xpra/batch_delay_calculator.py batch_delay_calculator.py]: this class is where we use the factors obtained by {{{get_factors}}} above to tune the various attributes.
    2828
    2929[[BR]]