OESF Portables Forum
General Forums => General Discussion => Topic started by: sigmaX on December 06, 2004, 09:48:52 pm
-
Hey people
I always wondered why are i386 emulators so scarse, difficult and SLOW (particularly for our zaurus) ...
I mean, 400MHZ for a C860 (which can be forced to 471 with no such big deal) ... and the processor is "INTEL" actually (maybe that helps a little ) anyway, I would LOVE to see a windoze boot up in my zaurus, to make some friends go crazy ... call me lame but it would be cool for me ...
What happens with our little PXA255 processors ? if You where to place them in a scale head to head with "pentium" processors ... where should you place them ?
Why is it so difficult to decode DIVX ? computing intensive work is a "nono" for these small processors ?
I would love to read some clear text no nonsense discussion about all these questions
-
It puzzles me too. Some ROM's can play Quake with a comfortable 20~ Frames Per Second but cannot decode DIVX in realtime, but others are the exact opposite.
You'd think we'd have a ROM that could do everything by now
-
Hi,
AFAIK, emulating an i386-class processor is a nasty business, and in any event the PXA series lack floating point units (remember the days of maths co-processors?). The architectures are completely different (CISC vs. RISC) so it's not just the instruction set that needs emulating, it is also the hardware that makes a PC... a PC.
Guessing, I would imagine a 400MHz PXA could emulate a 486SX33. With JIT compilation, that might get faster, but there is still an OS to get in the way.
And we know what it's like running Windoze on a 486SX
Arnie
-
As for decoding DIVX, without floating point in hardware, it has to be either emulated (v slow) or the decoding routing rewritten for integer operation, if possible. Processors with MMX-type instructions (PXA263?) can be much faster for the same clock speed.
Perhaps the difference between OS's is down to how well the maths routines are written.
-
Before discovering the zaurus I've had a winCE device running a PXA255 and it was able to read divx and to play quake and even playstation games ... I've tested it with sandra 2004 and seen it can compare to a pentium 200 (except for the FPU part wich was more about a pentium 100 or so)
Btw since I have my zaurus things are getting better and better ... now we can run quake, warcraftII, we're close to read divx (let's hope problems with xvidix drivers will be fixed soon) and fpse should compile if some code guru out there would like to take a look at it as I've ran into problem compiling the gpu part but my coding knowledge is near from zero
What puzzles me actually is the fact I've recently seen a post from mickeyl telling there's still one only coder who bother porting the 2.6.x kernel to our beloved Z's when there must be a lot of good coder out there ... I hope one day I'll improve my coding skill enough to help him (actually learning...)
-
You play Warcraft II on your Zaurus? That's awesome! Please do tell how.. I love that game.
On second thought, I have a lot of work I need to do. Nevermind, don't tell me how until after January!
-
LOL okay so I won't tell ya ... btw you could find it easily searching in the forum as it have been discused here many times
Processors with MMX-type instructions (PXA263?) can be much faster for the same clock speed.
btw I dont think they are /will be supported in kernel prior to 2.6.x (sl-c3000 use such a processor and no noticeable performance increase have been detected while playing divx or whatever...) and it don't even seem to motivate sharp in porting their kernel patches to 2.6.x ...too bad ... btw let's hope it will gather more developper in the movement of porting the 2.6.x kernels to Z
-
A major stumbling block wih DIVX seems to be the audio decoding. The Zaurus seems to like 48khz encoded audio. Making sure you use 48khz rates seems to mean less work and better sync rates. I use 600kbps Divx encoding with 160kbps mp3 stereo audio at 320x200, 24fps without issue. Haven't tried 29.97 fps or larger resolutions yet. 320x200 seems to work pretty well, especially if you re-encode from a 640x480 source with a good filter. I have no problems reading subtitles on the Z.
The Z couldn't keep up with the same file encoded the same file at half the bitrate and framerate with 44khz or 22khz audio at all. Change nothing but the audio bitrate - *Bam* Smooth as butter.
I'm using Kino2 with the ATI w100 extensions, so YMMV.
-
I was able to run wine on top of qemu. It was capable of running some simple applications (calc, notepad, etc.). They ran quite slow on SL5500. Actually, I've no idea if there's any use for that.
-
Never forget that Intel is in bed with Microsoft: Windows CE will always run better in those sort of obscure places, such as DIVX decoding.
To solve the integer issues, do not use the GLIB/GNU compiler. Get a specialized XScale (not necessarily PCA) ARM compiler. I have read in these forums of compilers that automatically optomize for the lack of floating point units, and produce great results.
-
Never forget that Intel is in bed with Microsoft: Windows CE will always run better in those sort of obscure places, such as DIVX decoding.
Nonsense!
It's all down to decent compilers/libraries.
See how Microsoft are pissing Intell off with their support of Opteron ahead of Itanium. Intel's interest is to get their CPUs in as many places as possible, including areas that Micro$oft can't or won't dominate.
Micro$oft's goal is to get their shiteware running on as much hardwarae as possible, whoever makes it.
If anything, the incentive is to get people upgrading continuously, not making the most efficient use of what has already been sold.
-
Micro$oft's goal is to get their shiteware running on as much hardwarae as possible, whoever makes it.
I doubt it's Microsoft's goal to get ther shiteware running on as much hardware as possible. Ever since they stop the support for Alpha, have you see them releasing OS for platform other than x86 and arm?
Just like any other business, making as much money as possible is their goal.
-
Micro$oft's goal is to get their shiteware running on as much hardwarae as possible, whoever makes it.
I doubt it's Microsoft's goal to get ther shiteware running on as much hardware as possible. Ever since they stop the support for Alpha, have you see them releasing OS for platform other than x86 and arm?
Just like any other business, making as much money as possible is their goal.
You're right there!
however, I meant as many types of product i.e. phones, pcs, set top boxes etc. Remembers "Windows Everywhere"?
-
"Before discovering the zaurus I've had a winCE device running a PXA255 and it was able to read divx and to play quake and even playstation games ... I've tested it with sandra 2004 and seen it can compare to a pentium 200 (except for the FPU part wich was more about a pentium 100 or so) [...]"
What device with a PXA255 and WinCE where you using? Why do you switched to the Z?
-
Just to go into a different direction ... if we cannot succesfuly emulate I386 .... with our zauriis....
COULD IT BE EASY ENOUGH TO DO A WRAPPER SO WE CAN ALSO HAVE SOME LAUGHS RUNNING WINCE SOFTWARE ?
I feel that such a thing could certainly be done ! but ... is there a LEGAL problem ?
It could prove fun to have a couple of libraries providing winCE base to execute wince software ...
-
@xatax : I was using an ASUS MYPAL A620 which was on of the most powerfull of it's generation according to the tests i've read about it before buying... I switched to the Z for the swiveling screen, the 640x480 resolution, the choice of programs (you can run virtually any opensource program you want to), the multithreaded environment (x11) ,being able to learn c++ during my transport times etc ...
I didn't meant winCE devices are superior in any way ... just being surprised by the lack of optimisations in a few usages where PDAs can be quite good...
@sigmaX : right, some kind of "wineCE" could be fun hope we'll see it one day