dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Possible optimizations for coldfire

Possible optimizations for coldfire

From: RaeNye <>
Date: 2006-04-20

Hi list,

1. Currently each PutPixel costs 2 mem reads, 4 mem writes and some shifts
(all because of the 18-bit thingy).
Would double-buffering help?
i.e., keep another LCD buffer (in DRAM) representing the state of the LCD
whenever lcd_update() is called, we compare the 16-bit (32-bit?) pixel value
and only update it and the hardware if necessary.
Obvious con: memory.
How can this be profiled, btw?

2. I might be terribly wrong, but can we shut down all GUI code when the
backlight is off?
Yes, this means WPS refreshes, scrolling, etc.

3. GNU's memcpy() and memset() are not using all possible registers
(i.e. movem.l does only 16 bytes writes instead of the possible 48).
It also spends so much time on alignment (which is not necessary for
movem.l, IIRC).

The iAudio firmware contains smaller and faster versions, which *I* cannot
contribute to Rockbox -- as that would be considered code theft -- but you
can write as you only heard the general idea :)

Received on Thu Apr 20 00:17:41 2006

Page was last modified "Jan 10 2012" The Rockbox Crew