Log in

View Full Version : Performance issues with Pocket PC 2003 Second Edition with VGA


The PocketTV Team
08-06-2004, 12:50 PM
One of the problem that we found is the poor performances of some basic GDI routines, such as BitBlt and BitStretch, used to copy images to the display.

For example, on the Toshiba e800 series with the Pocket PC 2003 Second Edition upgrade, those routine are very slow when called from a non-VGA-aware application (we have not yet run tests with hires-aware applications). You can actually see the image getting drawn!

Apparently those GDI routines are doing the bitstream copy (including the necessary pixel doubling when the application is not hires-aware) completely in software, and they don't take advantage of the ATI Imageon 3200 video processor. This is a driver issue. If the graphic driver was taking advantage of the acceleration provided by the video hardware, performances could be improved dramatically.

The same problem probably explains the inferior performances of the Asus a730 (observed with pre-production units).

On the Toshiba e800 series with the Pocket PC 2003 Second Edition upgrade, PocketTV and BetaPlayer both take full advantage of the ATI hardware processor, which allows those video players to have amazing performances. But for most applications that rely on basic graphic libraries, performances on VGA devices can be a real issues when the drivers are not well optimized.

With VGA-resolution Pocket PC's, the number of pixels to be drawn is 4 times more than with QVGA devices. Therefore, without special optimizations, graphics will be about 4 times slower. This is only partially compensated by the increased processor speed of the new devices (at around 600 MHz, i.e. 1.5 times faster than the 400 MHz devices of last yesr).

So yes, the new Pocket PC 2003 Second Edition with VGA display look better, and the fonts are nicer and more readable (especially when small), but the performances of some graphic-oriented applications and game may also be lower.

Arqentus
08-06-2004, 02:43 PM
Don't the PocketPC makers do control's on there Products?

It seems to me like they almost fall out of the sky with the performence problems of the new generation if asked about it. Asus has now been woken up, but what about HP, Toshiba etc ...

Those fuctions need to be nativly use the graphic accelerator, and they don't seem to do it like they need to.

It's almost like some thing: "lets add a ATI Imageon 3200, and it will run everything faster all by itself", but they forget the software side.

Doesent ATI need to bring out drivers or new dll's to fix this?

picard
08-06-2004, 05:28 PM
I fully agree that GDI could be optimized alot, especially on SE VGA devices. Primarly this would be MS's job: to give an optimized non accelerated template driver using only framebuffer. To the best of my knowledge only E800 has graphic chip, all the other new VGA devices will use the PXA270 internal LCD controller without any acceleration.

But i think the situtation is not that bad. Most games will still use QVGA mode and i believe/hope this will be possible without software pixel doubling. Ofcoz there will be programs using real VGA resolution, but they will adapt and use their own drawing routines. Example this would mean that PocketTV would have to substitute GDI stretching, which means lots of additional work (but with own stretching it can utilize wmmx :) )

The PocketTV Team
08-07-2004, 12:02 AM
> all the other new VGA devices will use the PXA270 internal LCD controller without any acceleration.

But the PXA270 has the new Wireless MMX instruction set, which can be used to optimize graphic routines significantly, too.

> But i think the situtation is not that bad. Most games will still use QVGA mode and i believe/hope this will be possible without software pixel doubling.

Well, when using QVGA on VGA devices, you always need some sort of pixel doubling. It can be done by the GAPI emulation, or it can be done by the application itself, it if does not use the GAPI emulation. GAPI emulation may be very optimized for fast pixel doubling, but using GAPI emulation forces the entire update of the full video buffer, which is not always a good solution for games.

> Ofcoz there will be programs using real VGA resolution, but they will adopt and use their own drawing routines. Example this would mean that PocketTV would have to substitute GDI stretching, which means lots of additional work (but with own stretching it can utilize wmmx :)

Yes, of course, that's exactly what we are planning to do.

picard
08-07-2004, 12:10 AM
In this case it would be Intel's job to make the display driver wmmx optimized. it's unlikely an OEM would do that.

What if GAPI would switch into QVGA mode? This would mean a standard non DRAMBuffered mode with one problem: no GDI. Do you think it would cause problems? It would with BetaPlayer :) but probably most fullscreen games would be fine (and fast).

The PocketTV Team
08-08-2004, 11:19 PM
> What if GAPI would switch into QVGA mode? This would mean a standard non DRAMBuffered mode with one problem: no GDI.

That's exactly what you get when you use GETRAWFRAMEBUFFER.

By the way, GAPI is quite broken on WM2003SE, especially if you don't use GAPI in fullscreen mode (i.e. if you mix GAPI and GDI). That's why BetaPlayer display gets totally screwed-up when you select GAPI and rotate the display to Landscape :)