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

Pocket Quake capabilities


Pocket Quake capabilities

Postby Lokas » Apr 22, 2002 @ 12:34pm

Hi,

I'm pretty new to the whole Pocket PC scene (although not to PC's and programming in general!) and I have only just come across Pocket Quake now. I must note that I was very impressed, it is certainly an accomplishment! I have a question though for anyone who is familiar with the source code and its development: I noticed that there seems to be a number of comments posted on the issue of fixed point conversions which would obviously greatly increase performance. Had Pocket Quake been written from the start with Pocket PCs in mind, i.e floating point calculus kept to a minimum and so on, roughly what kind of performance difference would there be?
I'm hoping to start developing for the platform soon and am trying to get an idea of the capabilities of the devices (only PocketPC 2002 machines really), especially with regards to 3D applications written especially for them. I've looked through the board but I couldn't really find a relevant answer so I thought I'd better post. I'd appreciate hearing any opinions on the subject.
(Great site, by the way! I hope to be coming here more frequently soon!)

Thanks in advance.
Lokas
 


Postby Dan East » Apr 22, 2002 @ 1:14pm

It's very difficult to estimate, but my feeling is that if all floating point operations could be replaced with integer operations, one would see 20-30 FPS on a 206 mhz Pocket PC.

Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby refractor » Apr 22, 2002 @ 2:38pm

Talking more generally here, on the PocketPC platforms without FPUs (AFAIK, that's all of them), carefully planned fixed-point operations will be several orders of magnitude faster than "floating point" operations.

The fixed point operations (except divide) all complete within a 5 or 6 cycles - an add/sub/multiply followed by a shift back to the correct position (or shifts in the case of a 64-bit intermediate result).

A floating point operation will likely mean at the very least a branch into an FP library, and at worst a processor exception and a branch to the FPU emulation code... not nice, and expensive computationally, cache-wise, etc.

Obviously for things like Pocket Quake it has to be retro-fitted quite carefully to avoid under and over-flow, but if you're designing a new graphics library I wouldn't (and don't) do anything but fixed point (on these FPU-less devices).

One "problem" with Quake is that the Intel processors of the time (and more recent AMD and Intels, of course) could do floating point operations in parallel (i.e. for free) with the integer operations, so some of Quake's "fast" Intel-specific code runs quite poorly on other processors (IIRC).

Cheers,

Refractor
User avatar
refractor
pm Insider
 
Posts: 2304
Joined: Feb 5, 2002 @ 1:12pm
Location: Luxembourg


Fixed point status

Postby schmiddie » May 11, 2002 @ 1:31pm

User avatar
schmiddie
pm Member
 
Posts: 2
Joined: May 11, 2002 @ 12:55pm


Floating point emulation

Postby schmiddie » May 11, 2002 @ 1:55pm

User avatar
schmiddie
pm Member
 
Posts: 2
Joined: May 11, 2002 @ 12:55pm


Postby Dan East » May 11, 2002 @ 3:55pm

User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Return to Pocket Quake 1 and 2


Sort


Forum Description

Discuss Pocket Quake 1 and 2 by Dan East

Moderators:

Dan East, sponge, James S

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