- Status Closed
- Percent Complete
- Task Type Patches
- Category User Interface → Simulator
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version Release 3.7.1
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#11834 - Increase speed of SDL screen updates
Hello,
attached is a patch to greatly speed up SDL screen updates
used by the simulator and RaaA (f.e. on the Nokia N900 ;)).
The current code calls SDL_FillRectangle() for every pixel, which is very slow.
We can speed things up greatly by using SDL_BlitSurface()
if the LCD_DEPTH is >= 8 and the pixel format is normal RGB.
Also don’t call SDL_LockSurface() in the pixel-by-pixel code
as it’s only needed if we are manipulating pixels directly.
Things to note:
- Right now it only works for LCD_DEPTH >= 8 and LCD_PIXELFORMAT == RGB565
- LCD_SoftStretch used for zooming is marked as unstable in the SDL API.
Best regards,
Thomas
Closed by kugel.
2010-12-27 22:09
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
2010-12-27 22:09
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
r28914. Thanks
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
The #if statement in lcd-sdl.c should be like this:
#if LCD_DEPTH >= 8 && (LCD_PIXELFORMAT == RGB565) \
The previous version had a bug so it took the slow path on the N900.