GP2X Dosbox Render Problem


Pickle

Mega GP Mania
Joined
May 30, 2006
Messages
5,518
Location
Detroit, Michigan
Website
Visit site
Dosbox renders the screen by partial update. Meaning it only changes the pixels that change at any given frame.

This causes issues for any OSD surfaces that are blitted to the screen. You will see flickering and ghost graphics even if the OSD surfaces were turned off.

One way im considering to remove this problem is having a buffer surface.
1. dosbox updates buffer
2. blit buffer to screen
3. blit any additional osd surfaces to the screen

The question I have is the performace cost of the additional full blit negible since our SDL uses the hardware blitter?
Im open to any other ideas to fix this.
 
How about a slight tweak to your idea?

If no OSD present -> Blit normally.

If OSD will be present on next VBlank, copy current screen to temporary buffer, then blit that buffer to screen, followed by OSD.

When OSD disappears, simply don't bother to blit OSD surface any more.

Therefore DB will only be slowed down if OSD is visible.
 
Squidge said:
How about a slight tweak to your idea?

If no OSD present -> Blit normally.

If OSD will be present on next VBlank, copy current screen to temporary buffer, then blit that buffer to screen, followed by OSD.

When OSD disappears, simply don't bother to blit OSD surface any more.

Therefore DB will only be slowed down if OSD is visible.
Yes that is a good idea, i was thinking along the same lines after posting. The OSD shouldnt be on all the time anyways.
 
Last edited by a moderator:
Just out of curiosity, would this clear up 320x200 (not 240) games, non-scaled with garbage on the bottom of the screen?

I think Project Space Station's loading screen causes some sort of weirdness to happen in those bottom 320x40 pixels.

(I know I keep going on about this ancient CGA game, but it's one of my favourites!)

The new DosBOX rocks guys! Keep it up!
 
Trevor Bradley said:
Just out of curiosity, would this clear up 320x200 (not 240) games, non-scaled with garbage on the bottom of the screen?

I think Project Space Station's loading screen causes some sort of weirdness to happen in those bottom 320x40 pixels.

(I know I keep going on about this ancient CGA game, but it's one of my favourites!)

The new DosBOX rocks guys! Keep it up!
I fixed a problem with the requirement that 320x200 games should be scaled full screen for the touchscreen to work, and fixing this fixed this garbage at bottom problem.

The problem is, solving this I got another problem, zooming in in this resolution, don't use the bottom part of the screen anymore, so we need to fix this first.
 
Last edited by a moderator:
I used the built in blit surface and it seems to the job, ive also left it on all the time. Doesnt seem to slow down at all.
Some more in depth testing is needed to determine if it should stay this way. But I like what i see so far.
 
Back
Top