FCEUltra + SDL runs slowly on GTA02

Carsten Haitzler (The Rasterman) raster at openmoko.org
Wed May 14 02:29:50 CEST 2008


On Tue, 13 May 2008 15:36:25 -0400 Andre Devitt <andredevitt at gmail.com> babbled:

> New to development on GTA02/openmoko and have a performance testing 
> question-
> 
> I built SDL libraries and FCEUltra [nes emulator] and it runs on the 
> GTA02 but very slowly [on actual hardware, not VM].
> 
> Any advice on tools/approaches to use to figure out where my cycles are 
> going?
> 
> I've used mplayer on the phone before and achieved reasonable fullscreen 
> performance watching videos, and I find it hard to believe that fceu 
> shouldn't be able to run at full speed on the phone.
> 
> Thanks for any help. If i'm missing something obvious feel free to just 
> send me a link to a webpage/documentation that I've somehow missed... 
> and then slap me.

dig through the archives about the glamo and bus bandwidth. the gfx chip is on
the end of a very slow bus - so writes of data to it are limited to 7mb/sec (or
therabouts). sdl is a software drawing infrastructure that will draw in system
ram and write the result to the screen/video card (via x) when done, and so you
end up suffering from this bandwidth problem. also remember while the data is
being written the cpu is stalled waiting on the glamo bus, so it can't do
anything else. so as such you get a double-whammy. 1. your writes have a
limited throughput (7m/s is really slow for graphics - even at vga res or even
imho qvga), and at the same time as waiting for these writes, you can't go
render the next frame while the previous one is being copied up to video ram as
the cpu is stuck doing that. yes we have tried everything we can. dma was an
abysmal failure and the bus won't get faster. your only choice is to reduce
the number of pixels you update and copy to the screen.


-- 
Carsten Haitzler (The Rasterman) <raster at openmoko.org>



More information about the openmoko-devel mailing list