• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

PCSX2 goes 64 bit only, adds optimal settings

Teslerum

Member


All future builds and versions are now 64bit only. Opens the door to some optimizations and brings maintenance down again.

In addition they added several settings to use in their GameDB, so users have to fiddle less when using the emulator. This is especially important on pcsx2 when it comes to upscaling as some fundamental differences between the PS2's Graphic Unit (GS) and modern GPU's make it possibly the worst console to upscale when emulating. Texture offsets have not been added, since those values can differ depending on the internal resolution you've chosen.

Note: The GameDB is also the easiest thing to contribute to on PCSX2, since it's just editing a text file. So, if you have almost no programming experience, but do know the needed settings of a certain game, that might interest you.

The new UI is also trucking along and gets more feature complete as it goes on. Per-Game and DEV9 (Which is important for Netplay) Settings have been added recently, still a few parts missing though.
 
Last edited:

Black_Stride

do not tempt fate do not contrain Wonder Woman's thighs do not do not
What gpu do you need to play ps2 in 4k?
 

01011001

Member
What gpu do you need to play ps2 in 4k?

emulating these systems is mostly a CPU issue not a GPU one. since what actually needs to be rendered is ridiculously simple (we are talking about PS2 games here after all) any modern GPU can do that at 4K no issue (unless any game specific stuff that bugs out or anything)

an example for GameCube emulation I can give you is that SSX 3 and Luigi's Mansion ran at full speed and ~4K on my old Laptop when I connected it to my 4K TV. that old Laptop of mine has a Geforce 820m... that shit is worse than almost any integrated graphics solution from AMD or Intel of any desktop CPU you can currently buy.
and remember that the GameCube has ~1.5x the GPU power of the PS2, so PS2 should be even simpler for any modern GPU
 
Last edited:

Teslerum

Member
Is it in their compatibility page? Can you give a link?
?

I may have worded that wrong / explained it poorly. The GameDB is an internal document PCSX2 has which lists settings PCSX2 automatically applies when a certain game is booted up. In the past this has been mostly used to apply certain fixes to games that solve issues regarding timing (notoriously difficult for PS2 emulation) and floating point math rounding (Floating point math works fundamentally different on a PS2 than it does on a modern CPU, a problem not easily solved).

Anyway, with the update, pcsx2 contributors can now apply (nearly) all possible fixes PCSX2 offers via the GameDB. For me and you this means that in the future you can just start a game on pcsx2 and then all necessary fixes will be automatically applied. So no more hunting game fixes down on the PCSX2 wiki for example.

There's still a long road ahead before the GameDB is *full* of course, but quite a few popular titles (and some not so popular ones) have already been filled with the correct settings.

You can have a look at the file here:

 
Last edited:

ethomaz

Banned
Sweet! 32-bit should be left in the dust. Not just for PCSX2, but for everything (including Operating Systems). This isn't the 1990's anymore. :messenger_sunglasses:
Why exactly?

32bits apps uses less memory.
Unless you need more than 4GB of RAM you don’t need 64bits.

In fact a lot of apps I use in 32bits due the lesser requirement in RAM.

For example Google Chrome in 64bits uses double the RAM but has little to no gain in performance… so why use it?
 
Last edited:

ethomaz

Banned
Is there anything that even uses 32 bit anymore?
Almost all apps have 32bits version… including Windows and Office.

Some cases the 32bits is the default option and you need to choose to download the 64bits versions instead.

64bits extension instructions were unique and exclusively to let apps allocate more than 4GB RAM without use tricks… there is no gain in performance and as result the app uses way more RAM than 32bits version.
 
Last edited:

adamsapple

Gold Member
DX12 is apparently now also getting added (Mainly because of Intel GPU's).


I mean as long as they support it, I don't see any reason to switch from Open GL any time soon lol.

Works like a charm and almost every game runs at ~4K on my meager 1060 based PC.
 

ethomaz

Banned
DX12 is apparently now also getting added (Mainly because of Intel GPU's).

It won’t be their focus so fix and optimizations won’t come fast because their main focus is OpenGL now with the MacOS version and future ARM64.

DX12 support will probably be a bandaid.
 
Last edited:

IFireflyl

Gold Member
Why exactly?

32bits apps uses less memory.
Unless you need more than 4GB of RAM you don’t need 64bits.

In fact a lot of apps I use in 32bits due the lesser requirement in RAM.

For example Google Chrome in 64bits uses double the RAM but has little to no gain in performance… so why use it?

Even if an app doesn't need more than 4GB of RAM it can still be developed as a 64-bit app. 64-bit apps can use more than 4GB of RAM, but that doesn't mean that they have to use more than 4GB of RAM. The only way that a 32-bit app is using less RAM than a 64-bit app is if the two versions are designed differently, which is part of the reason that 32-bit should die.

If we move solely to 64-bit then developers don't have to maintain two different versions of the same program, or code the program around the least common denominator (32-bit) if they don't want to maintain two separate executables for the same app. It's the same reason developers should drop last generation consoles once enough people have migrated to the new generation consoles.

At least with that console example developers can say, "There's too much money left on the table by not supporting last generation consoles." If we move entirely to 64-bit apps and operating systems then we don't have to worry about that anymore, and developers can maintain a single development rail which is better for everyone. And again, just because it's 64-bit doesn't mean it has to chew up RAM.

P.S. Moving to 64-bit only operating systems and apps means that there will be less resources taken up by the operating system as well. This is because an operating system that only supports 64-bit apps won't have DLL files and resources for 32-bit apps to use. So it's also a storage saver, although the storage savings is likely not much. But still, it's another reason to move away from 32-bit apps and operating systems.
 
Last edited:

ethomaz

Banned
Even if an app doesn't need more than 4GB of RAM it can still be developed as a 64-bit app. 64-bit apps can use more than 4GB of RAM, but that doesn't mean that they have to use more than 4GB of RAM. The only way that a 32-bit app is using less RAM than a 64-bit app is if the two versions are designed differently, which is part of the reason that 32-bit should die.

If we move solely to 64-bit then developers don't have to maintain two different versions of the same program, or code the program around the least common denominator (32-bit) if they don't want to maintain two separate executables for the same app. It's the same reason developers should drop last generation consoles once enough people have migrated to the new generation consoles.

At least with that console example developers can say, "There's too much money left on the table by not supporting last generation consoles." If we move entirely to 64-bit apps and operating systems then we don't have to worry about that anymore, and developers can maintain a single development rail which is better for everyone. And again, just because it's 64-bit doesn't mean it has to chew up RAM.

P.S. Moving to 64-bit only operating systems and apps means that there will be less resources taken up by the operating system as well. This is because an operating system that only supports 64-bit apps won't have DLL files and resources for 32-bit apps to use. So it's also a storage saver, although the storage savings is likely not much. But still, it's another reason to move away from 32-bit apps and operating systems.
X86 will never be 64bits only… 64bits is an extension over 32bits like SSE for example.

This alone will guarantee that X86 32bits will never go away unless you move to another type of CPU architecture that is exclusive 64bits.

I can understand your others points like less maintenance/optimizations to be done in code or even less storage used with 32bits libraries but OS won’t stop to ship with 32bits because at the core x86 is 32bits and that will never change.

I move to 64bits apps when there is some reason to do it… like MS Office that allows more rows in Excel (probably due the memory limitation in 32bits) but it doesn’t add anything in terms of performance over 32bits… and the apps I tested in 32bits vs 64bits showed the memory consumption increase a lot in 64bits app.

BTW in Virtual Machines I use only OSs in 32bits due the lower memory footprint… it uses less memory so I can setup my VM using less RAM from the host.

IMO I don’t see real advantage in that choose by PCSX2 to go 64bits only… in fact I believe a lot of old machines that can run PS2 games via emulation will be left behind… that include some lower specs machines only used for emulation.

I read a lot of dev post and I could not find a reasonable reason for the change at all (in fact they don’t expect any advantage in performance and some even a lose in performance at beguiling and in long term to catch the 32bits version).
But hey it doesn’t affect me so I’m fine… I just find weird because the 32bits is not a issue at all.

When you will choose a new App ask yourself? Why you need 64bits? If you have a reason or don’t know then choose 32bits… you will be better served.

PS. The console compression is not really accurate… we have a new hardware each generation in console… PC doesn’t have generation… you don’t have a point where everybody has the same exactly machine hardware wise (fixed config).

PS2. The decision seems more political than technical to be fair reading stuffs.
 
Last edited:

Dream-Knife

Member
Almost all apps have 32bits version… including Windows and Office.

Some cases the 32bits is the default option and you need to choose to download the 64bits versions instead.

64bits extension instructions were unique and exclusively to let apps allocate more than 4GB RAM without use tricks… there is no gain in performance and as result the app uses way more RAM than 32bits version.
Windows 11 is 64 bit only. I had thought 10 was too, but apparently it uses 32 as well.

Allocating and using is two different things.

Memory is only really an issue in mobile platforms anymore. Pretty much everything has 16 for daily use or gaming, or 32+ for productivity.
 

ethomaz

Banned
Windows 11 is 64 bit only. I had thought 10 was too, but apparently it uses 32 as well.

Allocating and using is two different things.

Memory is only really an issue in mobile platforms anymore. Pretty much everything has 16 for daily use or gaming, or 32+ for productivity.
Windows 10 has installer for both 32bits and 64bits but remember all the 32bits OS is in 64bits version… it uses two different folder in Windows directory… let’s explain better:

Windows 10 32bits
System32 folder holds the 32bits OS core.

Windows 10 64bits
System32 folder holds the 64bits OS core.
SysWOW64 folder holds the 32bits OS core.

I need to check Windows 11 but I know it has full support to 32bits apps so that means it is basically like Windows 10 64bits… it has both 32bits and 64bits OS core libraries… it is not 64bits only.

Edit - I just confirmed here… Windows 11 is exactly like Windows 10… it has both 64bits and 32bits core OS… so it is hybrid… the difference is that MS is not releasing 32bits only installer… the actual installer install both 32bits and 64bits like Windows 10 64bits installer.
 
Last edited:

IFireflyl

Gold Member
X86 will never be 64bits only… 64bits is an extension over 32bits like SSE for example.

This alone will guarantee that X86 32bits will never go away unless you move to another type of CPU architecture that is exclusive 64bits.

I'm not talking about CPU architecture at all. I'm only talking about using 64-bit apps and no longer making 32-bit apps. That can 100% be done.
 

ethomaz

Banned
I'm not talking about CPU architecture at all. I'm only talking about using 64-bit apps and no longer making 32-bit apps. That can 100% be done.
Well I don’t think that will ever happen with x86 imo.
There is Apps that just don’t need 64bits.

Edit - There is no advantage like I said if your app doesn’t need the additional registers of 64bits… in fact even not using it in 64bits you allowed all so the app turns out using double the RAM.

If you are App doesn’t need 64bits register the best you can do is to only release a 32bits version… now if your app do heavy things and needs 64bits then it is all good.

I will let a quote why 32bits will always be an option for a lot of Apps over 64bits:

“take also into consideration that when you use a CPU register even if you don't use the the whole address space for a value, it will still take up as much space ( = 64bits).. therefore writing a small application in 64 bit aiming for getting a optimized code will just not work.. that app will take up twice the RAM than if it would be developed under 32 bit and it may be even slower. Programming in 64 bit makes sense for applications using heavy algorithms or that need to allocate huge pieces of memory (4Gb is the limit for a 32bit app).”

The performance will be the same… and when you don’t use the 64bits registers your App will end still using double the RAM it could use in 32bits.

Go 100% 64bits won’t be optional for a lot os Apps… in fact it could end being worst than 32bits version.

You code a 64bits app when you need 64bits because technically there is advantage or reason to create a 64bits app if you don’t need 64bits…you could end having disadvantage instead.
 
Last edited:

IFireflyl

Gold Member
Edit - There is no advantage like I said if your app doesn’t need the additional registers of 64bits...

The advantage is consistency in how all applications and operating systems run. It might not be an advantage for the specific program, but the only disadvantage is a small increase in RAM. And that disadvantage is dwindling as more people are increasing the amount of RAM that they have. 8GB is a basic starting point now for low-end devices. Heck, even cellphones are vastly improving how much RAM is included.

… in fact even not using it in 64bits you allowed all so the app turns out using double the RAM.

If you are App doesn’t need 64bits register the best you can do is to only release a 32bits version… now if your app do heavy things and needs 64bits then it is all good.

I will let a quote why 32bits will always be an option for a lot of Apps over 64bits:

“take also into consideration that when you use a CPU register even if you don't use the the whole address space for a value, it will still take up as much space ( = 64bits).. therefore writing a small application in 64 bit aiming for getting a optimized code will just not work.. that app will take up twice the RAM than if it would be developed under 32 bit and it may be even slower. Programming in 64 bit makes sense for applications using heavy algorithms or that need to allocate huge pieces of memory (4Gb is the limit for a 32bit app).”

The performance will be the same… and when you don’t use the 64bits registers your App will end still using double the RAM it could use in 32bits.

Go 100% 64bits won’t be optional for a lot os Apps… in fact it could end being worst than 32bits version.

You code a 64bits app when you need 64bits because technically there is advantage or reason to create a 64bits app if you don’t need 64bits…you could end having disadvantage instead.

I don't know where you're getting your information, but that's not how it works. Moving from 32-bit to 64-bit registers doesn't automatically double the RAM. How the program is coded and the size of pointers/integer registers is what determines the memory footprint. The RAM usage you're talking about is 100% application-specific, which is what I said previously. Either way, I have explained why I want to move to 64-bit across all applications. Feel free to disagree with that, but almost every process running on my PC is currently 64-bit anyway. It would make it easier for everyone to simply code for 64-bit only and not have to worry about 32-bit libraries or Windows running WoW64 (which is essentially emulating a 32-bit Windows environment) in order for the 32-bit applications to work.
 

Teslerum

Member
It won’t be their focus so fix and optimizations won’t come fast because their main focus is OpenGL now with the MacOS version and future ARM64.

DX12 support will probably be a bandaid.
Vulkan is more or less up to par with OpenGL by now. I also wouldn't say DX isn't a focus (there have been improvements), but there's only so much you can do in regards to Blending, so compatibility is lower (Speed is higher though of course). Technically, as the pull request mentions DX12 can be improved in terms of accuracy in comparison, but that's for the future.

Regarding MacOS a Metal renderer is on its way, which will be the standard for the Mac Version.
 

Black_Stride

do not tempt fate do not contrain Wonder Woman's thighs do not do not
Depdending game.

Some game need more CPU power, other need more GPU power...

GPU wise a potato will run pretty much anything at 4K.

A GTX 1060 - 1660S will easily work any game at 4K.
Hell id say beyond the heavy 60fps games even a GTX 970 from 2014 would handle 4K.
On the CPU side youd have to go back to like 2010 to find a CPU that couldnt handle PCSX2 (Note Intel only, i anti AMD since they increased their prices)
 

Teslerum

Member
GPU wise a potato will run pretty much anything at 4K.

A GTX 1060 - 1660S will easily work any game at 4K.
Hell id say beyond the heavy 60fps games even a GTX 970 from 2014 would handle 4K.
On the CPU side youd have to go back to like 2010 to find a CPU that couldnt handle PCSX2 (Note Intel only, i anti AMD since they increased their prices)
With my GTX980 I run Jak 2 at around 32fps at 4k (drops down to 5-6 fps in a few moments). In the intro. 1060 is not anywhere near enough to get consistent 60fps at 4k.

Your argument is good as a general rule of thumb, but so is his. It depends on the game. And there are strong outliners.
 
Last edited:

Black_Stride

do not tempt fate do not contrain Wonder Woman's thighs do not do not
With my GTX980 I run Jak 2 at around 32fps at 4k (drops down to 5-6 fps in a few moments). In the intro. 1060 is not anywhere near enough to get consistent 60fps at 4k.

Your argument is good as a general rule of thumb, but so is his. It depends on the game. And there are strong outliners.
Yo what?
30fps in Jak 2?
A 1060 will 4K60 God of War 2 and I dont think Jak 2 is harder to run than God of War 2 (havent tested Jak 2)
You sure you aint doing something wrong?

Anyway I pointed out between 1060 and 1660S will be enough for 4K in most games. I also pointed out that yes the heavy 4K60 games might stress the lowerbound I listed *1060, but 4K60 is still doable in many many many games.

Even God of War 2 the 1060 will hit 4K60 in the DX11.
As with all emulators settings matter but between 1060 - 1660S is 4K territory, beyond that and your GPU is barely being stressed and you could probably even inject more settings.

FYI: A 1660S will absolutely walk a GTX980.

And while GPU prices are "surprising" the GTX1660 isnt exactly an upperbound GPU, dare I say in the Turing generation it was the potato with only the 1650 being a worse GPU......which even the 1650 will trade blows if not outright beat a GTX980.

I hate to say this but your GTX980 is currently a potato class card.
 

Teslerum

Member
Yo what?
30fps in Jak 2?
A 1060 will 4K60 God of War 2 and I dont think Jak 2 is harder to run than God of War 2 (havent tested Jak 2)
You sure you aint doing something wrong?
God of War 2 is way easier to run than Jak 2 (and quite a few games actually). It's not ranking among the hardest.

Some effects (or rather the way they are programmed) are way harder to emulate than others. It depends on what the game does under the hood, not how it looks. The PS2 isn't a PC and the PS2's GS is quite a bit different in how GPU's have evolved. Jak 2 for example needs autoflush (which is quite an expensive operation) to render some effects correctly.

And yeah, even a 1660S won't be enough.
 
Last edited:

Allandor

Member
X86 will never be 64bits only… 64bits is an extension over 32bits like SSE for example.

This alone will guarantee that X86 32bits will never go away unless you move to another type of CPU architecture that is exclusive 64bits.

I can understand your others points like less maintenance/optimizations to be done in code or even less storage used with 32bits libraries but OS won’t stop to ship with 32bits because at the core x86 is 32bits and that will never change.
That is basically wrong. Intel/AMD could easily remove 32-bit compatibility, but the problem is like always "old" software.
E.g. in the 64-bit mode it is no longer possible to execute 16-bit applications (natively). Removing 32-bit support is possible but won't be made for the next few years.
Currently it is not even necessary for most applications to move to 64 bit as most of them never use the resources that are provided. E.g. service-based architectures try to use as low memory as possible. They can run with 64-bit enabled, but .. why ... there is no point in doing so, as long as it is compatible. It is not really a problem to switch but also it is not necessary so many services/tools won't. Don't get me wrong, there is also no point of creating a new tool/app/service that is not 64-bit compatible. The additional memory footprint is really small. But the problem is most times existing software/tools/services other programs rely on.
The only thing that might change this if MS wants to remove 32 bit compatibility. But this is really years away. I'm glad that they just no longer provide a 32-bit only OS and went with 64-bit OS only (with 32-bit compatibility). They wanted to do that since Vista ... well just needed 15 more years.


Windows 10 has installer for both 32bits and 64bits but remember all the 32bits OS is in 64bits version… it uses two different folder in Windows directory… let’s explain better:

Windows 10 32bits
System32 folder holds the 32bits OS core.

Windows 10 64bits
System32 folder holds the 64bits OS core.
SysWOW64 folder holds the 32bits OS core.

I need to check Windows 11 but I know it has full support to 32bits apps so that means it is basically like Windows 10 64bits… it has both 32bits and 64bits OS core libraries… it is not 64bits only.

Edit - I just confirmed here… Windows 11 is exactly like Windows 10… it has both 64bits and 32bits core OS… so it is hybrid… the difference is that MS is not releasing 32bits only installer… the actual installer install both 32bits and 64bits like Windows 10 64bits installer.
Big difference is, they no longer provide a 32-bit only OS. It was still possible to install Windows 10 on a 32-bit computer. This shouldn't be the case for windows 11. After all those years, they finally made the cut to no longer support 32-bit processors. If you look at how long they needed to remove 16-bit compatibility, just double that time to really remove 32-bit compatibility.
 
Last edited:
Top Bottom