• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
No, they don't want to exclude the majority of players; the ones with a computer more than 10 years old...
 
  • 9
  • 4
Reactions:
Or it might be that professional programmers understand what the difference between 32 and 64 bit actually means. Unless the engine needs the features which are unique to 64 bit then it's not necessarily worth doing. You have to remember that 32 bit computing has been around a lot longer and a lot more time has been spent optimising the processors, compilers and libraries. To further this point it's not unusual for a 64 bit version of code to be slower than its 32 bit alternative. The gap is closing and soon that won't be valid anymore.

Treating 64 bit computing as a panacea for speed doesn't always make sense when you start looking at it critically.
 
  • 11
  • 4
  • 1
Reactions:
Unless the engine needs the features which are unique to 64 bit
In ways it does; 32 bit means your 64 bit processor can't use it's full capacity. The question is whether the difference in performance is worth missing out on the 2% (source) steam players that actually use a 32 bit computer...
 
  • 6
  • 1
Reactions:
In ways it does; 32 bit means your 64 bit processor can't use it's full capacity.
There barely is any game that uses 64 bits numbers(floating point or not it it's irrelevant), because if you have a number larger than 1.000.000 in a game it means you have done something wrong. I'm not really sure but I think I've heard doom dark or jhoan saying that there is no point in having something larger than 1k in any situation.

This apply especially for graphics cards, since 90%of the times vertexes will be rappresented by 3 float coordinates.

All of this while assuming that x86 operations on doubles are executed slower on x64 machines than x64 doubles operations, which is probably false.

On the other hand you are sure about 2 things, x64 has 8 byte long adresses, which means that when compiling an old program for x64 one has to check that everyone working whit graphics has written sizeof(void*) instead of 4, because the latter will generate hilarious errors when trying to load stuff on the graphic card. On top of that larger pointer is the equivalent of smaller cache and larger time of cache sicronization across threads.

Yeah, sure, if paradox had a special compiler written by them that is able to use extremely well all the new operations that exist in x64 maybe it will run better, but the reality is that they probably use gcc or clang and those kind of compilers produce faster code for x86 since it has been around for a longer period of time.

X64 solves the problem of having a 4 gigs memory limit, but it that is pretty much the end of that. True increment of speed are achieved by using specialised compilers, but games are a unspecialized task by design, so one can't really do that either.
 
Last edited:
  • 3
Reactions:
Yeah, sure, if paradox had a special compiler written by them that is able to use extremely well all the new operations that exist in x64 maybe it will run better, but the reality is that they probably use gcc or clang and those kind of compilers produce faster code for x86 since it has been around for a longer period of time.

X64 solves the problem of having a 4 gigs memory limit, but it that is pretty much the end of that. True increment of speed are achieved by using specialised compilers, but games are a unspecialized task by design, so one can't really do that either.
I have to respond to this: clang and GCC (as well as MSVC) are all very well optimized for x64. Besides that, x64 guarantees at least twice as many registers as x86, so depending on the code, you can get a mostly "free" performance win. There's no producing "faster code for x86" as all optimizations you can make on 32-bit code work just as well for 64-bit code. x64 is a superset of x86: it has all of x86s' features and then some. There's pretty much no case today where 32-bit code runs faster than 64-bit code on a 64-bit processor.

Whether it's worth porting the current Clausewitz engine to 64-bit is another question entirely -- and the answer is almost certainly no. But PDS would have to be very foolish indeed if their next engine rewrite/upgrade doesn't include 64-bit support. Over 90% of Steam users use 64-bit OSes. Certainly some of the "chunkier" CK2/EU4 mods could benefit from the RAM limits being lifted, too. I'll be very disappointed if the next PDS game doesn't have native 64-bit support.
 
  • 6
Reactions:
Or it might be that professional programmers understand what the difference between 32 and 64 bit actually means. Unless the engine needs the features which are unique to 64 bit then it's not necessarily worth doing. You have to remember that 32 bit computing has been around a lot longer and a lot more time has been spent optimising the processors, compilers and libraries. To further this point it's not unusual for a 64 bit version of code to be slower than its 32 bit alternative. The gap is closing and soon that won't be valid anymore.

Treating 64 bit computing as a panacea for speed doesn't always make sense when you start looking at it critically.
Sure, so x64 is not a superset of commands on x86...? A game that is at most a huge spreadsheet with graphics would not benefit by a larger memory address mapping ?

afaik, most major programming or scripting languages (and their respective toolsets) have long been optimized for x64 and only some long forgotten or abandoned libraries are still fairing better in x86. I've yet to see any recently written code be slower in x64... on a x64 processor, so I wonder if the time has not caught us with our pants down this time as I beg to differ i see no gap left anymore.

Furthermore what I would agree on is that yes 64bit is not a panacea for anything, but it does give you some advantages, as I hardly think having bigger floats available is useful but having access to more of them is surely a useful thing.

There are other things to address here though, the engine does not only have memory limits which that would be the main gain in going to 64bit but has very poor multi-threading capabilities which is more of an issue it seems combined with messy scripting (hint lags) and calculation intensive orientation... So using ~1.5 cores, is more of a problem in my mind than 64 bit .

But I digress as it seems that a significant percentage of cpu time is spent pushing data around between memory and file, so use of a x64 command set is not panacea but it would help.

edit @blallo , I'm pretty sure that both gcc and clang work very very nicely with x64 for some years now.
 
Last edited:
  • 3
Reactions:
In ways it does; 32 bit means your 64 bit processor can't use it's full capacity. The question is whether the difference in performance is worth missing out on the 2% (source) steam players that actually use a 32 bit computer...

That source actually only says that many people are using a 32-bit OS. You can technically run a 32-bit OS on a 64-bit processor. I'm just not sure why you would ever want to.
 
  • 2
Reactions:
That source actually only says that many people are using a 32-bit OS. You can technically run a 32-bit OS on a 64-bit processor. I'm just not sure why you would ever want to.
Yes, but if you do so you can't play the game if it's x64 so I counted them with the people who actually have a 32-bit. I mean if you do such a thing you're not the best with computers anyways so you'll probably won't understand that you have to switch your OS in such a case...
 
You can technically run a 32-bit OS on a 64-bit processor. I'm just not sure why you would ever want to.
I think most who do this didn't choose to; they bought computers with 4 GB RAM so the vendors defaulted to 32-bit Windows and the buyers didn't know they could/should get 64-bit at the same cost.
 
Actually when helping people out in support during release I've seen more than I would suspect of DXDIAG logs with 32 bits windows on 64 bits CPU's. Mostly its been laptops as well I think.
 
Last edited:
  • 1
  • 1
Reactions:
I think some laptop manufacturers scam people with regard to 32 bit and 64 bit---or at least did in the past. Because I know of cases where they advertised it having 64 bit CPU, but when you bought it it actually was just 32 bit OS... Though that was 7 or 8 years ago; hopefully such low tactics aren't used anymore.
 
  • 1
Reactions:
Actually when helping people out in support during release I've seen more than I would suspect of DXDIAG logs with 32 bits windows on 64 bits CPU's. Mostly its been laptops as well I think.

Groogy, is there at least any plans to multi-thread the process to allow the autosaves maybe to get off-loaded? The autosaves take way, way too long for a game of this era.