URL:
  <http://savannah.gnu.org/patch/?8781>

                 Summary: [back] Faster bitmap drawing on Cairo
                 Project: GNUstep
            Submitted by: tedge
            Submitted on: Sun 25 Oct 2015 12:13:30 AM GMT
                Category: AppKit
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

The attached patch speeds up -[CairoGState DPSimage:::::::::::] &
-[CairoGState GSReadRect:] for faster bitmap drawing to & from graphics
contexts. This makes PikoPixel's interactive tools more responsive on slow
hardware, such as a Raspberry Pi.

- Bitmap data is reformatted using uint32s instead of uchars, reducing the
number of memory operations

- Invariant objects returned in GSReadRect:'s dictionary are stored in a
static dictionary instead of being reallocated each time

A speed check program is also attached; On a Raspberry Pi 2B with the current
trunk, the {512,512}x500 speed checks take ~11 seconds for drawing & reading.
Using the patch, the speed checks take ~8 seconds for drawing (~27% speedup) &
~10 seconds for reading (~9% speedup).



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sun 25 Oct 2015 12:13:30 AM GMT  Name: CairoGState_BitmapSpeedup.patch 
Size: 8kB   By: tedge

<http://savannah.gnu.org/patch/download.php?file_id=35281>
-------------------------------------------------------
Date: Sun 25 Oct 2015 12:13:30 AM GMT  Name: TestBitmapDrawSpeed.m  Size: 4kB 
 By: tedge

<http://savannah.gnu.org/patch/download.php?file_id=35282>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/patch/?8781>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-gnustep mailing list
Bug-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to