Game Development Community

64Bit Torque or TSE

by superdeformed · in General Discussion · 06/20/2004 (11:19 am) · 7 replies

Hey

is there any support for 64bit cpu's in the torque engine's at the momment or will it be implemented when Windows XP 64 finally comes out ?

cheers

#1
06/20/2004 (1:39 pm)
Torque runs on 64 bit CPUs although it won't explicitly take advantage of them. If you send us some nice 64 bit machines we can see about adding support. ;)
#2
06/20/2004 (2:04 pm)
Ben you may want to retract that statement, or add a disclaimer, as someone in this community may send you a 64 bit machine! Then you will have even less time as you re-write TGE to take full advantage of the 64-bit architecture :) and what not!
#3
06/20/2004 (2:47 pm)
*Pays the
#4
06/20/2004 (3:00 pm)
@Ben:

Quote:Torque runs on 64 bit CPUs although it won't explicitly take advantage of them. If you send us some nice 64 bit machines we can see about adding support. ;)

Actually, not out of the box.

Torque can be compiled on a 64 bit machine (AMD at least), if:
--You replace the inline ASM code with 64 bit compatible assembly code,
--you use a full set of 32 bit compiled libs,
--you compile under a 32 bit arch.

To be fully out of the box 64 bit ready, as far as we have noted, TGE needs:
--a new ASM compiler. NASM (which many of the TGE files expect) does not currently have a target platform for 64 bit code, and therefore won't provide AMD-64 bit ready code. YASM supposedly has 64 bit AMD support, but we couldn't even get it to compile in a 64 bit environment, so much for that.
--a review/rework of the inline ASM code.
--link options and documentation to build a 32 bit lib environment, or 64 bit environment options for the various support libs.

This is a not to imply that it can't be done--it can. Took us about a week or so of part-time effort to get things fully running on a 64-bit AMD platform with not a lot of expertise in 64 bit environments (although my Dev Team Lead is pretty extensively experienced in platform/environment stuff!), and we're happily churning away with our dedicated server and our primary compilation environment building 32 bit exe's on our 64 bit platform!
#5
06/20/2004 (5:36 pm)
Glad to see you got it working! :)

I'd love to see the code changes you did to get it working.
#6
06/21/2004 (4:43 am)
I have a question on your port and kind of 64-bit computing in general, it's actually something I've wondered about for a while with torque. Usually, the idea is to use a native data type for loop iterators and such so that they are as fast as can be, or at least that's what I've been told. What kind of performance hit is incured by running a 32-bit Torque in a 64-bit environment? Can you compile Torque 64-bit? Is a 32-bit float still faster than a 64-bit float? I'm just wondering these things because it may be something to put on the 'To-Do' list for Torque. (which already covers a wall and a half at the GG offices, and more pages are getting stapled to it every day)
#7
06/21/2004 (5:33 am)
More specific information is in This (SDK Owners) Thread.

AFAIK, (I didn't do the builds personally), the primary issues were the inline Assembler code, and then all of the nasm files. We weren't able to find a version of NASM that would provide 64 bit output, so were stuck with the 32 bit environment--and that unfortunately is probably something GG can't do a whole lot about right now.

We're nowhere near being able to provide sufficient load on the server yet to really tell any major runtime performance (other than it's fast), but a make clean;make dedicated is less than 3 mins, and the linking is a blink.