PDA

View Full Version : A Problem of Portable PC Performance


quangdx
01-30-2007, 09:05 PM
don't you just love alliteration.

I've been doing my development directly on the PC,
and there's been no problems with speed, when testing directly on it, seeing as it's a P4 2.4GHz machine.

then I've been testing my games on my Pocket PC, which is a T-Mobile Vario II,
# Samsung SC32442A-400MHz stacked CPU
# Microsoft® Windows Mobile® 5.0 with Messaging and Security Feature Pack
# 128MB flash ROM and 64MB RAM
# 2.8-inch QVGA (240x320) display

And I've been hard pushed to get more than 50fps. Usually it fluctuates at around 40fps.
At first I thought maybe it was just the way I was coding, being new to it all, I may very well have been programming badly.
But then I tested some of the demo files,
Bounce.ppl Scroll.ppl and StarField.ppl
All with the same results around 40-50fps.

The only program of mine that would run at a constant 60fps was my WaitVBL-Test2.ppl (see my Simulated VBL post)

So this means, either my PocketPC that supposedly runs at 400Mhz is actually really slow, maybe the cpu or video hardware.
Or PPL is not up to the speed I thought it was.

What Pocket PC's (CPU, Screen type) are people using, and are they getting the full 60fps in the PPL demos, Scroll.ppl and Starfield.ppl

zehlein
01-30-2007, 09:17 PM
My ASUS machine with Intel XScale 412 MHZ CPU
works at
>60 fps for scroll.ppl
>70fps for starfield.ppl

Edit: ScreenRes 240x320

zehlein
01-30-2007, 09:20 PM
So this means, either my PocketPC that supposedly runs at 400Mhz is actually really slow, maybe the cpu or video hardware.



Did you switch off any power saving mode that might slow down your CPU?

quangdx
01-30-2007, 09:50 PM
had a look around the Vario II, and the only power settings I can find, are for tunring the backlight off, and one for the WLAN strength.
also can't find anything on power saving on the Vario II using google.

maybe it is samsung 400mhz cpu that's letting me down. some other people's PPC test results would be great.

kornalius
01-30-2007, 10:51 PM
What is your InitGameAPI line contains?

Some of the demos are limited to 60 fps max in their settings.

quangdx
01-31-2007, 04:01 AM
for my own programs I am currently using
InitGameAPIEx(h$, &GameProc, 240, 320, false,16,60);

But my point is, my poor Vario II isn't reaching the 60fps of the demo programs, Starfield.ppl and Scroll.ppl. So I'm concluding the Vario II just isn't that powerful. It would be nice what sort of speeds other people get on their devices. maybe something with a 200MHz or 300Mhz CPU.

kornalius
01-31-2007, 04:04 PM
I have an Asus A620 and an Axim X51v, here is what I am getting on my Asus A620 @ 400Mhz.

Starfield : 42 FPS max.
Scroll: 62 FPS max.

quangdx
01-31-2007, 06:48 PM
hmmm...
with your Starfield FPS score of 42,
does this mean a PocketPC with a cpu of 400mhz or lower is going to have problems running games made with PPL. Seeing as neither of these demos are actually full games.

I've re-run Starfield and Scroll to double check the speeds, but I made sure I soft reset my Vario II first.

Starfield: 52 FPS min, 57 FPS max (pretty ocnstant FPS)
Scroll: 35 FPS min, 54 FPS max (Lots of fluctuation in FPS)

Maybe my Vario II is under performing as it is a phone as well as a Pocket PC.
Also I read that WM5 os devices run slower than an equivalent machine with an earlier OS counterparts.

more test results would be a great help.

DirectDance
01-31-2007, 10:33 PM
Hi quangdx,

I have developed 2 games using PPL. Those games are using a lot of sprites, sounds and also music. Both of those games performed very well on my old MDA Compact wich I owned before. That device, also from T-Mobile, is (or was) also shipped with a 400 MHz CPU.

My next device was a MDA Pro. That device was shipped with a 5xx (I have forgotten the exactly cpu speed but was above 500 MHz), and those games were absolutly not playable on that device. I first thought, it was because of the VGA screen. But I was wrong.

I now own a MDA Vario II, too and I can tell you, my games are running slow. It is because of the WM5.0. The MDA Compact was shipped with WM2003se.

Are you a german? If so, there is a german PPC board wich is discussing those speed issues on WM5.0 devices. It seems, that even Micro... is knowing that and is working on solutions (AKKU V. ???).

.. and not to forget, in my game FlyingCAB, I set up a speed button in the "Option" screen of the game because some other PPC´s are faster or slower than the device on wich you are developing. I multiplied that "speed factor" in diffrent PPL commands like movesprite, setspriteanimspeed, etc.

With that option, games written in PPL are compatible to almost every device.

Cheers,
DirectDance

quangdx
01-31-2007, 11:25 PM
hey DirectDance, thanks a lot for your input.
I had a sneaky suspicion it might be the OS, I think I found topics on the speed decrease of WM5 on the forums of xda-developers and 4winmobile, I live in England, UK.

I like the idea of you having a speed button in the "option" screen, that changes the actual movement of sprites and things to compensate for slower speed.

so you're saying if normally the sprite in the game moves 2 pixel per frame, and the game is being run on a machine that is half the speed, you change it so the sprite moves 4 pixels per frame to compensate

I think I can write something, that maybe tests how long it takes for an animated sprite to get from one side of the screen to the other, and then automatically adjust the speed according to that.

on a side note: how are sales of FlyingCAB going? and are you working on any other PPL based games?

Kornalius: do you think there is anything you can do with PPL itself, to make it run faster on a WM5 device. Or is it more likely everything runs slower on WM5 devices not just PPL programs.

thanks Quang DX.

kornalius
02-01-2007, 03:08 PM
PPL uses an engine called PocketFrog which is on top of PocketHAL. I don't have control on the graphic engine.

I have a Asus A620 which runs PPL games quite comfortably, then I have an Axim x51v which has a faster processor, WM5 and VGA, and it has a hard time with games in general not optimized for it.

As for speed dependant movement based on the speed of the device, PPL has that all integrated. You have to play with the g_speed() function. It will move all sprites (automatic movements only) at the right speed, faster on slower devices and slower on faster devices to keep the movement relative to the fps. If you choose to move your sprites manually using MoveSprite(), then you will have to use a speed value manually.

quangdx
06-25-2007, 02:50 AM
so after all this time wondering about speed.
i find it's actually my device, the T-Mobile Vario II aka HTC Hermes/Tytn that is the culprit of things running slow.
it seems even though it has a 400mhz processor,
the graphics performance is slower than slow.
my games run at a perfect speed on my brother's new XDA Orbit, which has only a 200mhz processor and also runs Windows Mobile 5.

So in conclusion, if you're looking for a PocketPC with decent games performance, stay away from the Vario II.

kornalius
06-25-2007, 02:13 PM
Thanks for the info Quangdx.

mmtbb
06-26-2007, 05:52 PM
Something important to point out.

I have an Axim x50v with Win CE 2003 SE. It is VGA. Most VGA devices have a specific hight performance video chip in them. The problem is most games aren't writen to use such power.

I get a 42 fps without the Axim Tweak
http://www.aximsite.com/boards/x50-x51-forums/97009-new-release-enhanced-gapi-tweak-2-0-alpha-beta.html

However, with the optimized tweak for my 624mhz device I get
158 fps on all demos!!!!

ps. 30+ fps is still very good though

quangdx
06-27-2007, 03:11 AM
that's quite the difference. good to know.