Jump to content


Will Colin McRae support 64 bit on Mac?


  • Please log in to reply
17 replies to this topic

#1 Steephill

Steephill

    Fan

  • Members
  • Pip
  • 45 posts
  • Location:Sweden

Posted 21 October 2005 - 02:22 PM

Hi

I noticed Codemaster released a patch to allow users to run CMR 2005 on Windows 64-bit edition. http://www.codemaste...ownloadid=20835 Does anyone know if this will be in the Mac-version?

Have anyone seen/heard req for the Mac-version?

Have anyone seen/heard how far the game is from release?








Running F1, 4x4, MTX and Nascar 2003 while waiting :)

#2 MacProject

MacProject

    Legendary

  • Members
  • PipPipPipPipPip
  • 1320 posts
  • Location:usa

Posted 21 October 2005 - 02:46 PM

Very little news has been heard regarding the Mac port since its announcement.
Hang in there.

#3 Eric5h5

Eric5h5

    Minion Tormentor

  • Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 7160 posts

Posted 21 October 2005 - 08:17 PM

Steephill, on October 21st 2005, 03:22 PM, said:

I noticed Codemaster released a patch to allow users to run CMR 2005 on Windows 64-bit edition. http://www.codemaste...ownloadid=20835 Does anyone know if this will be in the Mac-version?

It won't be.  The patch is just what you said: "a patch to allow users to run CMR 2005 on Windows 64-bit edition."  That's all.  If you're thinking it's a patch that makes the game faster or better somehow, it's not.  Pretty much the only thing 64 bit is good for is accessing vast amounts of memory, and I kinda doubt CMR 2005 needs more than 4GB of RAM.  Well, I hope.  :)

--Eric

#4 bismilah

bismilah

    Fanatic

  • Members
  • PipPip
  • 105 posts

Posted 22 October 2005 - 04:19 AM

I dont think Feral will make a 64 bit version. Is there any game for Mac that is ?

#5 Tesseract

Tesseract

    Unmanageable Megaweight

  • Members
  • PipPipPipPipPipPipPipPip
  • 3512 posts
  • Pro Member:Yes

Posted 22 October 2005 - 01:55 PM

64-bit apps on OS X can't use Carbon or Cocoa, which limits their popularity somewhat. You can get around that by having a 32-bit program doing the Carbon/Cocoa stuff and talking to a 64-bit back end through pipes or sockets, but that's usually way more trouble than it's worth.

#6 edddeduck

edddeduck

    Feral Interactive

  • Developer
  • PipPipPipPipPip
  • 1229 posts
  • Location:London, England, UK

Posted 24 October 2005 - 03:49 AM

On Windows the 32 bit version of an application will not just work on Windows 64 so you need to test the OS as if it was a separate OS including adding code to make sure it stays compatible on both variants of the OS. Sometime this causes you to need to create separate binaries for the OS's.

On the Mac this is not an issue (they just work), so you don't need two executables, the 64 bit version just adds compatibility with Windows 64 and does not offer any performance advantages over the 32 bit version. Also OS X Tiger is not a fully 64 bit OS as all the major frameworks are still 32 bit. Only Darwin has full 64 bit support.

Edwin

#7 flargh

flargh

    Macworld Magazine

  • Members
  • PipPipPipPip
  • 468 posts
  • Location:Mashpee, MA

Posted 24 October 2005 - 02:42 PM

bismilah, on October 22nd 2005, 05:19 AM, said:

Is there any game for Mac that is ?

View Post


I think the more pertinent question is, does any game for Mac need to be? And the answer is no. There's nothing to be gained by 64-bit support, except additional memory addressing. And that's hardly a problem for any game on the market today, or, conceivably, for many years.
Peter Cohen, pcohen@macworld.com
Senior Editor, Macworld.com News
Columnist, Macworld "Game Room"

#8 Batcat

Batcat

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 2907 posts
  • Location:In Flux

Posted 24 October 2005 - 05:37 PM

It's probably a bit more vexed question than that, and I have to take a bit of issue with that last part, Peter.

Mac data being virtually nonexistent, the fallback case for practical examples is WinXP, 32 and 64 bit versions, and Linux. While the increased memory/ no performance gain argument has been standard, it's really a bit more complex.

Developers have been moving somewhat to take advantage of 64 bit OS operation, and some have put extra detail and features into 64 bit versions with no performance degradation- degradation claimed to happen under 32 bit. (Naturally much of this centers on AMD, with their 18 month+ lead time over Intel in 64 bit consumer CPUs [Intel had for years asserted that consumers would not need 64 bit operation for many years yet, concentrating their 64 bit efforts on Itanium for the server space; without Chipzilla behind it MS was rather slow on XP/64. Without AMD it's doubtful Intel would've brought along their 64 bit efforts beyond the 48-bit memory addressability they've had for some time, hence the unlikeliness of MacIntels in the near future... while suitable for notebooks, it seems unlikely Apple would've switched CPU vendors, at least to Intel, with Powermacs/ XServes in mind]). Some aspects of that have been evident for some time- U2004 demo:

Quote

As you will notice in the following screen shots, Windows has the best performance, Linux 32 bit is in second, and 64 bit comes in last. This is due to driver development and the porting of the game from Windows to Linux. There is however one huge advantage with 64 bit and that is load time. 64 bit loads much faster, almost instant.
04/29/04, 2GBs RAM. http://www.amdzone.c...artid=19&page=3

(Perhaps the load time advantage is why Ryan Gordon recently released a 64-bit Win .exe for for the UT2004 dedicated server. At 9 MB it adds very little to the install, and '04 loads maps rather slowly. A 64 bit client was released also). It's probably relevant to mention Tim Sweeney, Mr. Unreal, is bullish on 64 bit, and gave a keynote speech at the Sep. '03 intro of AMD's 64 bit Opteron.

Six months later, "Shadow Ops: Red Mercury - A Look At The First 64 Bit Windows Game," performance and screens under XP/64 beta, build 3790 (10/07/04):

Quote

If you have been paying attention you may have read an article that accuses AMD and Atari of using lower quality game settings with 32 bit to try and give a false sense of visual enhancements provided by the 64 bit executable. To get to the bottom of this I did what others didn't. I went to the developer instead of the publisher. With one simple phone call I contacted the Technical Director at Zombie, Inc. Bill Wright. Mr. Wright informed me that the advantages with 64 bit are purely object oriented. The 64 bit executable allows more polygons to be rendered each cycle allowing more objects to be placed into the game while still maintaining optimum performance.
http://www.amdzone.c...artid=68&page=2 and following.

AMD maintains a list of games with 64 as well as 32 bit support under Linux, Solaris (currently none) and Windows- current or planned- including

Dreadnought (demo)
Far Cry
Half-Life 2
Prey
Chronicles of Riddick
Shadow Ops: Red Mercury
S.T.A.L.K.E.R.: Shadow of Chernobyl
Unreal Tournament 2004
WWII Tank Commader

http://www.amd.com/u...2_11967,00.html

The Dreadnought demo is especially interesting, as it shows a new for-license game engine planned for next year (sorry, the Instinct Engine uses Havok. So what else is new).

Quote

The AMD64 64-bit enhanced mode of the Dreadnought demo takes advantage of the performance benefits of 64-bit by greatly extending the richness of the game content and effects, including:

*uncompressed normal maps allowing for higher texture quality and greater detail
*significantly higher number of particle effects (e.g. more flames, more steam, more smoke, etc.)
*persistent decals (e.g. bullet holes stay on walls and don't fade away over time as in 32-bit)
*post-processing effects (e.g. screen glows)
*more pixel shader instructions (the adrenaline vision mode is built upon and replaces the base lighting shader to produce the effect)
It also has the highest system requirements I can remember seeing:

Quote

Minimum Specifications for 32-bit Play
--------------------------------------------------------
Processor: 2.5 Ghz or better
OS: Windows® 2000
RAM: 1 Gigabyte
Graphics: Radeon 9700 and above or Geforce FX and above
Sound: Any 32 bit Sound Card

Recommended Specifications for 64-bit Enhanced Play
--------------------------------------------------------
Processor: AMD Athlon™ 64 FX processor
OS: Windows 64
RAM: 2 Gigabyte
Graphics: Radeon 9800 256MB card or GeForce 6800
Sound: Soundblaster Audigy and Above
The first link has a goodly number of comparative screens. Also worth mentioning, Win XP/32 has no trouble supporting the recommended 2GBs RAM (in contrast to, say, '98).

http://amd64download...dreadnought.asp

http://www.torcinteractive.com/

Apparently AMD should update their page, as the recent Bet On Soldier also has a 64-bit .exe available.

http://amd64download...oud.com/bos.asp

However, and getting back to the original question[s], there's no data to suggest a real need, and no way to test, desirability of Mac 64 bit gaming, so the theoreticians can argue this one 'til the cows come home, or OSX gets fully 64-bit. And this is enough time invested on my part. :)

#9 Tesseract

Tesseract

    Unmanageable Megaweight

  • Members
  • PipPipPipPipPipPipPipPip
  • 3512 posts
  • Pro Member:Yes

Posted 25 October 2005 - 09:15 AM

The x86-64 ISA has more registers than IA32, so on the x86 side of things it is often well worth making a 64-bit version of a program. Because 64-bit doesn't just mean 64-bit there, it also means "runs faster" in a lot of cases. (Specifically, if the reduced numbers of load/stores due to having more registers overcomes the cache blowout due to all the pointers being twice as big, it's a win.)

But yeah, ppc32 already has loads of registers and the only ones ppc64 adds are used for memory management, so there's no reason for games to go 64-bit on PowerPC Macs unless they start using a whole lot of RAM real soon now.

#10 bobbob

bobbob

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 3367 posts

Posted 25 October 2005 - 02:04 PM

edddeduck, on October 24th 2005, 02:49 AM, said:

On Windows the 32 bit version of an application will not just work on Windows 64

Uhhh... what? Unless you know of any specific incompatibilities, that is absolute BS. I think Photoshop's swap manager/pointer mangler is one that they had to patch, cuz it's just that ugly. Drivers are another since they run in kernel space and need to be 64-bit clean. Other than that, Win64 has been worked on for far longer and supports far more than OSX's 64b extensions, and Wow64 is pretty much complete.

#11 bobbob

bobbob

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 3367 posts

Posted 25 October 2005 - 02:06 PM

Batcat, on October 24th 2005, 04:37 PM, said:

no way to test, desirability of Mac 64 bit gaming

Do your games use more than 4 GB of RAM? Since they couldn't use Carbon, Cocoa, or OpenGL if they did, that obviously means they don't and it's not worth it.

#12 dj phat 2000

dj phat 2000

    Heroic

  • Members
  • PipPipPipPip
  • 256 posts

Posted 25 October 2005 - 08:21 PM

So, why don't our games "look" better by default?  All the "extra" power we had lying around all this time, Mac games should be drop dead gorgeous.

#13 Tesseract

Tesseract

    Unmanageable Megaweight

  • Members
  • PipPipPipPipPipPipPipPip
  • 3512 posts
  • Pro Member:Yes

Posted 26 October 2005 - 12:45 PM

dj phat 2000, on October 26th 2005, 12:21 PM, said:

So, why don't our games "look" better by default?  All the "extra" power we had lying around all this time, Mac games should be drop dead gorgeous.

View Post

"I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."
-- Charles Babbage

#14 edddeduck

edddeduck

    Feral Interactive

  • Developer
  • PipPipPipPipPip
  • 1229 posts
  • Location:London, England, UK

Posted 27 October 2005 - 10:27 AM

bobbob, on October 25th 2005, 01:04 PM, said:

Uhhh... what? Unless you know of any specific incompatibilities, that is absolute BS. I think Photoshop's swap manager/pointer mangler is one that they had to patch, cuz it's just that ugly. Drivers are another since they run in kernel space and need to be 64-bit clean. Other than that, Win64 has been worked on for far longer and supports far more than OSX's 64b extensions, and Wow64 is pretty much complete.

View Post


Granted the changes needed are not always major but you still need to clean and check you code for anything that touches the kernel or any 32 bit library. Yes as you say most things work but when you start to spend time accessing hardware and or the kernel space you can hit trouble. For example here is a snippet from Microsoft on the subject of 64 bit compatibility.

" ....applications won't work in XP x64 because they access the system's kernel, which is 32-bit code in XP 32-bit but 64-bits in x64...."

You would be amazed now many games run on code that is 16 bit or 32 bit. For example the issue with Colin McRae it installs, but does not launch, this is due to the StarForce copy protection technology being incompatible with x64 as it is not 64 bit clean.

The problem is not the Microsoft libraries (as mentioned by bob-bob they are upto date) it is all the legacy libraries the 3rd party developers have been using for years (like the copy protection library) need rewriting/ making 64 bit clean. This is what can take time.  

Also as a quick explanation on performance and 64 bit, I have the following interesting snippets from Windows gamers doing performance benchmarks and tests.

Game Performance Evaluation Comparison:

The focus of this article is to determine if upgrading to Windows XP Professional x64 Edition with an AMD Athlon64 would give us a better gaming experience in current games. We used eight games for our evaluation including one that supported Win64 AMD64 specifically.

What we found isn’t too shocking really, but rather reassuring. In all the 32-bit games tested, we saw overall static performance using Windows XP Pro x64 Edition. The only game in our lineup that had a specific Win64 AMD64 instruction path, The Chronicles of Riddick, actually performed worse in 64-bit than it did in 32-bit Windows.

Conclusions

We were happy to see our “flat” results in most games and that most ran without compatibility issues. To recap, there are four solid needs for 64-bit gaming to show advantages. 1.) You need to have a 64-bit capable CPU such as the AMD Athlon64. 2.) You need to have a 64-bit capable OS such as Windows XP Pro x64. 3.) You need to have 64-bit drivers for your components. 4.) You need an application that is written to take advantage of a 64-bit OS.

Number 4 is the key here. The application or game itself must be written to take advantage of what your 64-bit CPU has to offer. Without this, there isn’t going to be any benefit in game performance on an x64 platform. There is a difference between just being compatible with WinXP Pro x64 Edition and actually utilizing what the 64-bit CPU can do for a game. Therefore, we are still waiting for a game that can fully take advantage of a 64-bit CPU. It seems as if the main problem for Windows XP Pro x64 Edition is the availability of 64-bit drivers, applications, and games.

That said, it looks as though many gamers wanting to put those seasoned Athlon AMD 64 processors to use on a new Windows XP Professional x64 Edition, can do so without much fear. I would caution you to visit the forums and make sure your “must have” game or application is x64 friendly first though.

Chronicles of Riddick-Escape from Butcher's Bay

THE RESULTS

32bit

1024x768 Average: 18.66, Min: 7.39, Max: 97.66
1280x1024 Average: 12.00, Min: 4.68, Max: 96.42

64 bit

1024x768 Average: 16.56, Min: 8.23, Max: 28.22
1280x1024 Average: 11.23, Min: 6.42, Max: 20.54

So the conclusion even on the PC is we have yet to see any game that takes advantage of the additional accuracy and power of the 64 bit processor over it's 32 bit ancestors. In fact for some games that have not been well optimised for 64 bit they can run slower.

When G4 chips came out they were not faster than the G3 chips unless you used the new part of the chip, the "Altivec" unit. When you wrote code that could use this extra feature you could get big gains in speed over the G3. For example when encoding an MP3. This is a similar situation to 32 v.s 64 bit. You need to use the new features to get the most out of the new processor.

A bit is short for “binary digit.” It is basically how a computer stores and makes references to data, memory, etc. A bit can have a value of 1 or 0, that’s it. So binary code is streams of 1’s and 0’s, such as this random sequence 100100100111. These bits are also how your processor does calculations. By using 32 bits your processor can represent numbers from 0 to 4,294,967,295 while a 64-bit machine can represent numbers from 0 to 18,446,744,073,709,551,615.

Obviously this means your computer can do math with larger numbers, and be more efficient with smaller numbers. So for example in a game you can have more accuracy with no performance hit as the increased accuracy takes no more time than before. The largest benefit will go to academic institutions and private companies, where large calculations are being performed, huge databases are being accessed, and complex problems are being solved.

For example here are quotes from the Far Cry and UT developers.

Quote

He then went on to say that they were focusing on enhancing the visuals for the 64-bit version of Far Cry rather than performance: “Well you will have a better experience, not necessarily “the look”; well you will have more environmental objects. If you consider that a better “look”, then yes, but the experience will be better because more things will be happening on screen.”

Epic was just as forthcoming about their 64-bit port of Unreal Tournament. In our interview with Tim Sweeney on the topic, Tim stated “Our goal in porting UT2003 to 64-bit was to show that it can be done without much work, that the platform is stable, and that it's ready for gaming. We're not doing anything that really takes advantage of over 4 gigs of RAM or the large virtual address space.

Anyway I hope these snips help explain the differences between 64 bit 32 bit and what issues you can come across when writing for both platforms. As you can see to get the advantages from 64 bit you have to design a game that uses the advantages of 64 bit if you don't it will not magically run faster just because the chip has 64 bit precision.

There might be a few holes in the benchmarks and quotes as technology advances and some of the issues might have already been solved. Any mistakes made in this post are my own.

Edwin

#15 Eric5h5

Eric5h5

    Minion Tormentor

  • Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 7160 posts

Posted 27 October 2005 - 03:52 PM

How about the DISadvantage of 64 bit...namely, that if your instructions are now taking up 64 bits (8 bytes) instead of 32 bits (4 bytes), you're filling your CPU caches faster, and will have to fetch from main memory more often, thus running more slowly.

--Eric

#16 bobbob

bobbob

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 3367 posts

Posted 27 October 2005 - 06:04 PM

Eric5h5, on October 27th 2005, 02:52 PM, said:

if your instructions are now taking up 64 bits (8 bytes) instead of 32 bits (4 bytes), you're filling your CPU caches faster, and will have to fetch from main memory more often, thus running more slowly.

Addresses, not instructions, change size, yes. 32b applications get a benefit, though, since they still have 32b addresses but less space is taken by the kernel. Windows has a huge win, here, since Win32 reserves at least 1GB for kernel stuff. Even with 64b addresses, X86-64 is a net gain with more registers, according to AMD's tests with common apps. 64b PPC does lose, though, but Brad Oliver always brings up the fact that addresses aren't used very often in common PPC code, so if 64b addresses are actually needed then there'll still be a performance gain.

Don't confuse 64b CPUs with data or register sizes, though. Some people talk about math with larger numbers which doesn't make much sense. Your current CPU can do all the same math as a 64b CPU. Floating point numbers are the same in both, and 64b integers can be (are!) emulated on 32b processors. While 64b integers will be faster on X86-64, they're hardly used - especially not by games- and they aren't even the default size.

So, what does this mean? 64b gives you bupkiss unless you use >4GB of RAM or recompile for X86-64. You could have read any number of previous posts about this instead of asking it.

#17 Tesseract

Tesseract

    Unmanageable Megaweight

  • Members
  • PipPipPipPipPipPipPipPip
  • 3512 posts
  • Pro Member:Yes

Posted 27 October 2005 - 06:07 PM

The instruction length is the same between ppc32 & ppc64 and also between IA32 & x86-64. (IA64 aka Itanium is another story.) Pointers are twice as wide on 64-bit architectures. Also if you choose to use 64-bit integers it takes twice as many instructions to load or store them compared to 32-bit integers.

[Darn, bobbob beat me to the punch. :P]

#18 bobbob

bobbob

    Uberspewer

  • Members
  • PipPipPipPipPipPipPip
  • 3367 posts

Posted 27 October 2005 - 06:10 PM

edddeduck, on October 27th 2005, 09:27 AM, said:

The problem is not the Microsoft libraries (as mentioned by bob-bob they are upto date) it is all the legacy libraries the 3rd party developers have been using for years (like the copy protection library) need rewriting/ making 64 bit clean. This is what can take time.

You DO NOT have to recompile them to be 64b. Any 32b app can continue to load 32b libraries. You brought up one example of a 32b driver (some copy protection shim) that won't work, which isn't related.