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 43 and Version 44 of Encodings


Ignore:
Timestamp:
05/17/14 05:57:11 (7 years ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Encodings

    v43 v44  
    4040The other encodings are somewhat less useful:
    4141* [/wiki/Encodings/vpx vpx : VP8] is similar to {{{h264}}} but it does not support all speed and quality tuning, it also subsamples colours which leads to visual degradation. {{{VP9}}} is so slow it is unusable.
     42* just like {{{VP9}}}, {{{h265}}} is far too slow to encode
    4243* {{{jpeg}}} gives lower size/quality than other lossy encodings, use this if the video encodings are not available and you need better compression than {{{png}}} or {{{webp}}} can give you
    4344* [/wiki/Encodings/webp webp] (lossy mode) is a single image subset of {{{vpx}}}, and therefore lacks [http://en.wikipedia.org/wiki/Intra-frame intra-frame] compression - but latency is decent
     
    6162
    6263
     64
     65{{{#!div class="box"
     66== Statistics ==
     67
     68As part of encoding improvements (mostly in #419), we have collected encoding performance statistics for 4 still test pictures using the current crop of codec code (pre-release version 0.13):
     69|||||||||| Mode ||||=Desktop 2560x1600=||||=Browser 1920x1080=||||=Diagram 640x800||||=Small Alpha 64x48||
     70||Encoding||Compressor||Preset||Quality||Speed||MPixels/s||comp||MPixels/s||comp||MPixels/s||comp||MPixels/s||comp||
     71||png||PIL (old)||optimized|| || 0|| 1.6|| 8.1||
     72||png||PIL (old)|| || || 100|| 6.5|| 8.5||
     73||png||PIL|| || || 100|| 11.6|| 10.0|| 16.1|| 3.1|| 14.6|| 5.0|| 6.0|| 30.1||
     74||png/P||PIL|| || || 100|| 21.8|| 4.7|| 17.2|| 9.0|| 23.9|| 3.9|| 2.2|| 14.0||
     75||png/L||PIL|| || || 100|| 24.3|| 3.8|| 31.1|| 1.4|| 29.7|| 2.6|| 7.6|| 4.7||
     76||webp||PIL|| || 0|| || 5.5|| 0.5|| 6.3|| 0.5|| 5.9|| 0.7|| 0.4|| 13.4||
     77||webp||PIL|| || 50|| || 5.1|| 2.1|| 6.0|| 1.1|| 5.6|| 1.6|| 0.4|| 16.7||
     78||webp||PIL|| || 100|| || 4.3|| 6.2|| 5.9|| 3.1|| 5.3|| 4.3|| 0.4|| 28.8||
     79||jpeg||PIL||optimized|| 0|| || 71.0|| 0.5|| 68.5|| 0.4|| 80.6|| 0.5|| 16.6|| 3.2||
     80||jpeg||PIL|| || 50|| || 86.0|| 3.1|| 68.1|| 1.9|| 68.2|| 2.5|| 12.7|| 8.8||
     81||jpeg||PIL||optimized|| 100|| || 48.0|| 10.8|| 56.8|| 5.7|| 56.0|| 7.7|| 9.5|| 26.1||
     82||jpeg||PIL|| || 100|| || 72.0|| 13.0|| 58.4|| 5.7|| 56.5|| 7.7|| 8.4|| 26.1||
     83||rgb||lz4|| || || 100|| 224.0|| 15.0|| 497.0|| 4.3|| 526.0|| 6.9|| 76.7|| 56.0||
     84||rgb||zlib|| || || 50|| 21.0|| 9.1|| 30.2|| 2.5|| 27.8|| 3.1|| 11.3|| 39.4||
     85||webp||python-webm|| || 0|| || 6.0|| 0.8|| 6.7|| 0.5|| 6.2|| 0.7|| 0.5|| 13.4||
     86||webp||python-webm|| || 50|| || 5.3|| 2.1|| 6.5|| 1.1|| 5.7|| 1.6|| 0.6|| 16.7||
     87||webp||python-webm|| || 100|| || 0.3|| 4.8|| 1.0|| 0.7|| 0.7|| 1.6|| 0.1|| 25.0||
     88||webp||Cython||TEXT|| 0|| 100|| 18.6|| 0.6|| 19.4|| 0.4|| 18.9|| 0.6|| 1.5|| 2.9||
     89||webp||Cython||TEXT|| 50|| 100|| 15.5|| 2.7|| 17.7|| 1.5|| 16.6|| 2.2|| 1.2|| 11.9||
     90||webp||Cython||TEXT|| 99|| 100|| 12.6|| 6.7|| 15.2|| 3.3|| 13.9|| 4.6|| 0.8|| 29.7||
     91||webp||Cython||TEXT + lossless|| 100|| 0|| 0.1|| 4.9|| 0.6|| 0.7|| 0.3|| 1.6|| 0.0|| 24.7||
     92||webp||Cython||TEXT + lossless|| 100|| 100|| 2.3|| 5.9|| 27.8|| 1.3|| 27.2|| 1.9|| 1.5|| 26.9||
     93
     94Notes:
     95* all tests were performed on an AMD FX-8150 (octa-core 3GHz AMD CPU)
     96* this shows both speed in mega pixels per second (higher is better), and compression ratio (lower is better)
     97* Low quality at low speed doesn't really make much sense, so some values have been omitted
     98* changing the {{{webp}}} preset does not affect speed or output size much, it probably does affect the perceived picture quality (seems best to stick with TEXT to ensure that text remains readable)
     99* The new {{{webp}}} encoder seems to perform about the same with speeds >50%, only low speed is really slow, and lossless is unbearably slow (it can take more than 30 seconds to encode a single frame using lossless + low speed!)
     100* quality is not the same for each encoder, some have lossless modes others not, etc..
     101* for data showing the differences between the various {{{png}}} compression types ({{{HUFFMAN_ONLY}}}, {{{FIXED}}}, {{{RLE}}}, {{{FILTERED}}}, {{{DEFAULT}}}), see ticket:419#comment:6
     102}}}
     103
     104
     105
    63106=== Notes ===
    64107When comparing performance, make sure that you use the right metrics... The number of updates per second is not always a good one (if there are more small regions, this can be a good or a bad thing), more examples here: [/wiki/Testing#MisleadingStatistics Misleading Statistics]