• 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
Attached to Project: Rockbox
Opened by thomasjfox - 2010-12-24
Last edited by kugel. - 2010-12-27

FS#11834 - Increase speed of SDL screen updates


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,

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

r28914. Thanks

The #if statement in lcd-sdl.c should be like this:

#if LCD_DEPTH >= 8 && (LCD_PIXELFORMAT == RGB565) \

  && !defined(LCD_STRIDEFORMAT) && !defined(HAVE_LCD_SPLIT)

The previous version had a bug so it took the slow path on the N900.


Available keyboard shortcuts


Task Details

Task Editing