Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Possible optimizations for coldfire

Possible optimizations for coldfire

From: RaeNye <raenye_at_netvision.net.il>
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
/now/;
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 :)

Best,
R.
Received on Thu Apr 20 00:17:41 2006


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