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

WM 3D graphics: current state


WM 3D graphics: current state

Postby Kak » Aug 20, 2009 @ 11:08pm

Hi!!

Long time no see :)
I don't know if somebody is still reading this forum, as it's filled with spam :(

I just wanted to ask if somebody is aware of current state for 3D graphics in windows mobile: The iPhone really rocks, but what's better imho is that they managed to get openGL ES running as standar.

Last time I tried hw accelerated 3D I had to include a DLL for each device and despite it was usable from a "test" standpoint (I had some things running on the 2700g) it was a mess because you had to supply different installers and different DLLs, and anyways you had to include too software rendering DLLs as most devices had no HW acceleration.

Have things changed? How many ppc/smartphone devices are out there with 3D acceleration? Is there a good openGL ES support, or at least Direct3D support for current devices?

TIA!
Kak
User avatar
Kak
pm Member
 
Posts: 291
Joined: Jul 26, 2003 @ 12:24pm
Location: Zannarkand, Spira


Postby j.edwards » Oct 28, 2009 @ 6:49am

Hi Kak,

In my opinion it's not great. Most of the devices from HTC over the past two years or so like the Diamond, Pro, X1 etc have some 3D support, plus there are other random devices that have 3D drivers or you can download something off XDA for instance to make them work. It sounds like there should be a lot of capable devices but there is a lot of inconsistency. I have two Diamonds - a CDMA and a GSM one - the GSM one runs at half the framerate of the other and has terrible screen tearing. No idea why. I could mess with drivers but can't be bothered all that much at the moment. Actually, just on screen tearing, it looks like none of the devices actually have vsync support, so no matter what framerate you get it looks awful - I hate tearing.

Even if you were to assume consistency across devices, the actual capability of them is terrible. If you already have expectations from the iPhone then the WM devices don't come close to that. I tried recently to build a UI based on OpenGL for use on these devices and it was immediately after investigating the iPhone so I had expectations of 60fps, and all the goodies it offers.

The reality ... unfortunately some bright spark thought it would be a good idea to provide HW 3D capabilities but with no video mem to store textures, vertex data etc. All of it has to be stored in system memory and transferred every frame because there actually isn't any physical HW mem available.

From memory on the X1 (800x480) it started around 90fps just clearing the bg with a solid color using glClear(). A simple colored rectangle that only took about an eighth of the screen in pixels and it was around 60fps, a few more of those and it was down to 30 fps. If you render the entire screen with pixels it would be lucky to make 30fps, and if you have e.g. 50 colored rects each taking about half the screen in pixels then it would be under 10fps. That was with zbuffer.

Anyhow, don't quote me on those numbers - do your own tests to be sure, but basically I found very rapid decline in framerate, and when I put a scene together with the type of complexity I required for the UI I was attempting to build it was between 8-12fps. I could have almost got away with it using enough fades, but it just was such a disappointment, so stuck with 2D for the moment.

Let us know how you go though.

WM7 no doubt will have much better support from the start. I really hope they take control of that aspect and don't leave it up to the manufacturers like HTC to do though, otherwise it will be the same mess it is now, and there is no way WM could survive if they stuff something like that up.
User avatar
j.edwards
pm Member
 
Posts: 240
Joined: Oct 29, 2003 @ 11:09am
Location: Australia


Postby Dan East » Nov 2, 2009 @ 3:15pm

Thanks for the info. I've been giving some thought to bringing my latest game engine (iPhone / Windows PC) back over to WM but have absolutely no idea where the hardware stands. Or the software sales market, for that matter. The engine is OpenGL based, however, I made an early design decision to switch away from integer / fixed point math and use floating point for maximum performance on the iPhone. Based on what you've said about GPU implementation inconsistencies, I would be surprised if any WM devices have floating point hardware capability yet.

Microsoft's only chance is to do like they did when they created "Pocket PC", which is define a rigid set of minimum hardware standards that the OEM must adhere to in order to use that trademark. For example, the Casio BE-300 was a weird piece of sub-standard hardware, and it used Casio's own shell, etc on top of Windows CE, but it was not a "Pocket PC". It used the core OS, but none of the Pocket PC libraries, branding, etc.

So Microsoft needs to create a new brand, require iPhone-like hardware specs that are uniform across all OEMs and models, and do quality control to ensure that the devices exceed minimum performance benchmarks. That is their only hope in attracting devs over to the platform. If the hardware was on par with the iPhone, I'm sure a fair number of devs would port their applications over, especially games which are less dependent on the underlying OS.
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

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