This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#5432 - Ipod video lcd speed increase
Attached to Project:
Rockbox
Opened by Thomas Paul Diffenbach (tpdiffenbach) - Friday, 26 May 2006, 07:54 GMT+2
Opened by Thomas Paul Diffenbach (tpdiffenbach) - Friday, 26 May 2006, 07:54 GMT+2
|
DetailsPatch to increase lcd speed on the ipod video.
Decreases runtime of lcd_update_rect by an average of 0.1 ticks per call, or 1 millisecond; and up to three milliseconds max. This increases the maximum frame rate by about one to one-and-one-half frames per second. Using the test_fps plugin, the results for the unmodified code, on my ipod, are: 1/1 21.5 fps, 1/4 44.5 fps, with CPU at 30MHz 1/1 37.0 fps, 1/4 57.0 fps, with CPU at 75MHz With this patch, my results are: 1/1 22.5 fps, 1/4 46.0 fps, with CPU at 30MHz 1/1 38.5 fps, 1/4 58.0 fps, with CPU at 75 MHz The patch uses Duff's Device to unroll a loop. |
This task depends upon
I didn't know DD before and it's cool.
I don't have an ipod, but I implemented this for iaudio x5 as well, and got about the same speedups (CPU at 45MHz) --
Original: 1/1 41.5 fps, 1/4 164.5 fps
Duff: 1/1 42.5 fps, 1/4 166.5 fps
Given that the x5 LCD's size is 1/4 of the ipod's, there's obviously room for improvement...
Notes:
I didn't submit a patch because
1. I could only unroll the loop once (=2 iters) because the IRAM is not big enough for twice (=4 iters) :)
2. There's no use to submitting X5 specific patches until codefreeze is over;
3. And when it's over, there'll be lots of changes to CVS, so I'll have to repatch anyway.
4. But the real reason is that my lcd-x5.c is already full of patches (contrast, brightness, ...) that have to be uploaded in a different patch.