[Tilt, TyTN II, MDA Vario III General] dpduser:
My two cents, too

I'd also like to give my opinions regarding this driver issues. And I guess most people will also hate them.

I fully agree with you in that any driver developed will not provide any enhancement to the video playback rate of the Kaiser. Nor any driver will give any benefit to most existing applications.

What I have found in my experiences (I develop custom hardware based on Windows CE) is that most times is the hardware platform the reason of under-performance. For instance, if you pick a processor with an LCD controller that does not support hardware screen rotation (and I'm afraid it's not a trivial issue), you will end up with a device that only performs properly when running in it's default, "direct" mode. If you want a rotated screen you will have to rotate every single GDI API call or draw "straight" on an offscreen buffer and then rotate & copy it. It is great if the controller provides "bit-blitting hardware acceleration", but if you can NOT use it on a rotated screen, you will end up emulating those in software.

Other examples include LCD controllers that only support a single frame buffer (can't do page-flipping in software so expensive memory copies are required), or NAND memory controllers that provide error correction in hardware BUT have to use a pre-configured spare area format - you end up rewriting that component in software to implement the Flash Abstraction Layer that CE uses to address NAND memories.

Another thing I've noticed regarding all this "driver affair" is that the Kaiser is ALWAYS compared to platforms using Intel's XScale processors. I already own a Magician, a Hermes and a Kaiser (among Motorola MPX200 & 220 and others), and in many cases these devices run Windows Mobile 2003. Two notes:

- Intel XScale is not even and ARM processor. Is a completely different platform, intended for binary compatibility to existing ARM processors, and it's extremely fast - even faster than most modern ARM processors.

- When comparing filesystem performance, keep in mind that those devices have RAM based filesystems, while WM2005 and later OSes use a Flash based filesystem. Any I/O operation on WM2003 will be extremelly faster than on the new devices - is being performed on local RAM instead of slow, NAND flash memory.

- Has any one bothered to benchmark the MicroSD card speed on our Kaisers? Maybe the problem is not display based... but has to do with slow memory card implementation.

And finally, a thing that I guess almost everyone is missing... Software is written for hundreds of different devices, not just for our Kaisers. So software can not rely on acceleration. Even more, software developers can't build targeting "extended" ARM architectures, but have to keep building for older, "standard" ARMV4 targets. So, even if you have an ARM11 core, most software will NEVER use the extended instructions, just because the very same software has to run on a lot more devices that simply do not have them. Windows Mobile is designed for ARMV4, and so must the applications we build. Google's Android, for instance, is targeted to ARMV5 platforms, so ARMV5 instruction set is available by default. (The funny thing is that, under Platform Builder, if you build for an XScale platform, the compiler is different and indeed will produce XScale optimized code - another benefit for XScale based devices).

If Kaiser would implement a true, hardware based Direct3D layer, how many applications do you think currently will make use of it? I guess that very, very, very few... if any. Applications will use GAPI instead, simply because it runs on 99,9% of the devices around.

These were my two cents.