This site is no longer active and is available for archival purposes only. Registration and login is disabled.

X-Scale?


X-Scale?

Postby BrandG » Jul 10, 2002 @ 3:50pm

So I got one of the nifty-cool Toshiba e740s. Yeah, I know all about the love-hate problems with it. I was just a starry-eyed dreamer, hoping for the faster handheld.

For most stuff, this was a lot faster than the IPaq 3650 I'd been working on. However, the project I'd been building in PocketFrog is actually a lot slower on the X-Scale processor (from 30 fps to 7 fps).

IBM is apparently ignoring the problem, saying that programmers have to make their own optimizations to make X-Scale work. Microsoft is apparently ignoring the problem, because they don't like IBM or anyone who buys from them. :(

What I'm wondering is, does anyone know how to optimize for the X-Scale? Or are there any plans for it in PocketFrog, GAPI, etc. ?
BrandG
 


Postby Kzinti » Jul 11, 2002 @ 1:40am

PocketFrog is written in C++. As such, it will compile on any conforming compiler. Unfortunately, there is no XSCALE compiler available for the PocketPC. Until then, we are stuck with the ARM compiler.
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Digby » Jul 11, 2002 @ 2:15am

The performance difference that you see is not a compiler problem. There is a memory read bandwidth issue with this (and perhaps all) new XScale-based device. I've done extensive tests on the e740 and with some type of memory reads it is 3x slower than the same test running on a StrongARM-based iPaq.

There are some things that you could do in your app's code to get it to run faster on an XScale but I'm not at liberty to discuss them right now. In the meantime, if you're a developer I'd suggest you start profiling your code running on an XScale device and on a StrongARM and look for places where it's slower on the XScale.

Some guy posted an e-mail of mine describing the results from some of my tests (without asking me first, I might add) on sprinklerhead.com. You might want to read that post for more info.
Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Cannot find relevant post

Postby Conan » Jul 11, 2002 @ 10:15am

What is Best in Life ?
User avatar
Conan
pm Member
 
Posts: 1309
Joined: Dec 24, 2001 @ 5:16am
Location: the Shades, Ankh-Morpock


Postby Digby » Jul 11, 2002 @ 10:57am

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby Kzinti » Jul 11, 2002 @ 6:23pm

Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


finally found it

Postby Conan » Jul 12, 2002 @ 3:04pm

What is Best in Life ?
User avatar
Conan
pm Member
 
Posts: 1309
Joined: Dec 24, 2001 @ 5:16am
Location: the Shades, Ankh-Morpock


Link To SprinklerHead Post

Postby Ken_McCaw » Jul 12, 2002 @ 9:35pm

FYI:


Great sleuthing by Digby! I bought the Casio E-200 instead, and spent the $250+ I saved on a wireless network card - XScale will have to wait until next year ( sigh ).

Ken
User avatar
Ken_McCaw
pm Member
 
Posts: 13
Joined: Jul 12, 2002 @ 9:01pm
Location: Redmond, WA USA


Another Datum

Postby Brand_G » Jul 14, 2002 @ 6:36am

Just FYI, my game ran at 30-32 fps on a IPaq 36xx; but on the Toshiba e740, I was seeing 3-5 fps. Well, the biggest culprit was my FrameCounter. :oops: I was just doing the basic GDI GetDC, DrawText, ReleaseDC stuff with PocketFrog surfaces, but that was sucking up a huge amount of the framerate.

Digby says that the GDI should work at acceptable speeds, so I think the problem was interaction between PocketFrog surfaces, and the GDI itself. (anyone, please correct me if I'm wrong). Anyway, after taking out the FrameCounter (now it just dumps framedata to a file at the end of the game), the game runs at about 14-16 fps.

Blitting does take up some of the remaining speed (if I don't blit, I can get 25fps), and I'm working on changing my local copy of the blit function to try to wrench some more frames out of it. And that's where I am now.

Digby has been extremely helpful. Thanks!

If anybody else has had similar experiences, or has tips on how to improve e740 performance, gimmie a shout. I'm hoping to use this as my standard programming platform, since I really do think x-scale chips will start to dominate the industry soon.
Brand_G
 


Postby Kzinti » Jul 16, 2002 @ 7:22pm

Using GDI during the main loop of your game is pretty much a bad idea. Here is what you should do for your frame counter:

Render the nuemric characters to a surface using GDI (ie: create a surface and write "0123456789" to it).

During the main loop, display the frame counter by blittinh the appropriate characters (ie: display->Blit( numsurface, Rect(...) ))

A GetDC/ReleadeDC pair on a surface is usually even slower then a Lock/Unlock pair. Don't do it when you need FPS.
Kzinti
pm Member
 
Posts: 3238
Joined: Jan 13, 2002 @ 5:23am


Postby Digby » Jul 23, 2002 @ 5:57pm

Digby
pm Insider
 
Posts: 1011
Joined: Apr 29, 2001 @ 1:53pm


Postby Friggin Joe » Jan 15, 2003 @ 1:23am

Friggin Joe
pm Member
 
Posts: 9
Joined: Jan 13, 2003 @ 12:12pm
Location: Long Island


Postby Presto » Jan 24, 2003 @ 11:13pm

Though this thread started in July, I thought I'd share my experience so far...

My Dell Axim, which uses the 300MHz XScale, runs my Pod game at near 30FPS consistently, and I think it does some pretty extensive calculating too.

One example is my distance function, which is called <U>a lot</U>:
int distance(int x1, int y1, int x2, int y2)
{
return ((int) sqrt(pow(x2-x1,2)+pow(y2-y1,2)));
}

BrandG, you might want to try the game out and see if it performs the same/worse/better than the Toshiba.

Personally, I'm quite happy with my Dell, but I can't help wondering if there's a way to make it perform even better, or if there's a flaw in the technology that's keeping it below its potential.

The specs for my Axim are:
300MHz XScale, 32MB SDRAM, 32MB StrataFlash ROM, Pocket PC 2002 OS

The Pod Demo can be downloaded <A HREF="http://www.john-till.net/personal/pod.asp">here</A>.

-John
User avatar
Presto
pm Insider
 
Posts: 763
Joined: Jan 20, 2003 @ 5:51am
Location: Kalesian Archipelago


Postby Friggin Joe » Jan 28, 2003 @ 9:10pm

Friggin Joe
pm Member
 
Posts: 9
Joined: Jan 13, 2003 @ 12:12pm
Location: Long Island


..

Postby masCh » Jan 29, 2003 @ 6:24am

I cannot seem to find that benchmark article. Is there an archive anywhere?

I'm trying to figure out why my pocketfrog app sometimes produce errors on x-scale based ipaqs.
masCh
pm Member
 
Posts: 38
Joined: Oct 14, 2002 @ 6:43pm


Next

Return to PocketFrog & PocketHAL


Sort


Forum Description

SDKs for fast and robust device-independent access to Pocket PC display hardware.

Moderators:

sponge, Kzinti

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron