[GRASS-dev] [GRASS GIS] #2033: Moving g.pnmcomp to lib/display to improve render performance of wxGUI

GRASS GIS trac at osgeo.org
Thu Jul 25 08:07:31 PDT 2013


#2033: Moving g.pnmcomp to lib/display to improve render performance of wxGUI
----------------------------------------------+-----------------------------
 Reporter:  huhabla                           |       Owner:  grass-dev@…              
     Type:  enhancement                       |      Status:  new                      
 Priority:  major                             |   Milestone:  7.0.0                    
Component:  wxGUI                             |     Version:  svn-trunk                
 Keywords:  display, Python, multiprocessing  |    Platform:  All                      
      Cpu:  All                               |  
----------------------------------------------+-----------------------------

Comment(by glynn):

 Replying to [comment:8 huhabla]:

 What I take away from this:

  * PNG has noticeable overhead even for reading, and substantial overhead
 for writing.

  * BMP versus PPM makes no difference in terms of I/O.

  * When using the cairo driver, un-multiplying the alpha for PPM has a
 noticeable overhead. As the script doesn't handle cairodriver's BMP files
 correctly, the figures for cairo/BMP aren't meaningful.

  * g.pnmcomp has higher throughput but also a higher constant overhead, so
 it's faster than PIL for larger images and slower for smaller images. And
 the PIL version ignores the PGM file containing the alpha channel.

  * The amount of noise in the timings is noticeable but not all that
 significant. In theory, the composite timings for a given size and format
 shouldn't depend upon pngdriver versus cairodriver or mmap'd BMP versus
 non-mmap'd BMP (although the difference between pngdriver and cairodriver
 PNGs may indicate differences in options, e.g. compression).

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/2033#comment:9>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list