Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Moving to OpenXray engine can give some improvements, but the porting project is still in alpha stage.
Open Task Manager, select the Options tab and ensure there is a tick next to 'Always On Top'.
Click on the Details tab of Task Manager.
You can now launch the game and after a few seconds you will see xrEngine.exe appear in the list in the Task Manager Details window.
Right click xrEngine and hopefully you will see a tab called ' set affinity'. Select this and you will see all of your cores listed. Uncheck the box next to core 0 and then re-check the same box. You don't even need to close it in-between, Just uncheck, recheck and the game will start running on all cores from that moment onwards.
That's all there is to it. Remove the tick next to core 0 and then add the tick again.
I'm testing it now and it works but the only downside is having to manually do it every time. If I can find a way to automate it I'll post it here.
*Remember you need to right click exEngine.exe in the Details tab NOT the processes tab of Task Manager*
There should also be a tab called 'Priority' when you right click xrEngine.exe and it's probably set to 'Normal'. You can set it to 'High' to give more priority to running the game compared to other system tasks.
https://steamcommunity.com/sharedfiles/filedetails/?id=3338491437
Just complementing with this, which solves the quoted issue:
https://answers.microsoft.com/en-us/windows/forum/all/how-to-permanently-set-priority-affinity-with/4e83fd39-34a7-49fe-a54a-ee891c38b737
It's due to older games only using one CPU core even when multiple cores are installed but the permanent fix in that guide works. It took a while to work out the hex code for utilising cores 0,1,2 and 3 but I worked out the code is F0.
Right click on Stalker-Cop.exe in the main stalker folder and create a shortcut. Then right click on the shortcut and select properties.
Paste the below in to the target box, save it and when you launch the game using that shortcut it will always use all four CPU cores with a high priority:
%ComSpec% /C Start /High /affinity F0 Stalker-COP.exe
Recently, more and more developers are taking into account the multiple number of cores.
it's not a "mystery". It's just easier to make a game for a single core.
Thanks for the info. Strange how it's got that in the code and this is listed in the CoP readme file:
----
Dual Core and Performance
S.T.A.L.K.E.R.: Call of Pripyat should utilize your dual and quad core processor natively and automatically. Running a dual or quad core processor is one of the best ways to improve performance.
----
I've been reading about when SetThreadAffinityMask would be useful and it seems like something a game should leave well alone. I've noticed the shortcut I created isn't working as I thought it was and it's probably because that SetThreadAffinityMask is overriding what I set in the shortcut. It seems the only reliable way is via Task Manager because it's after the xrEngine.exe has launched so SetThreadAffinityMask can no longer override changes.
I'll see if I can decompile xrEngine.exe to remove that line and re-compile it again although I'm sure if it was that easy someone would have done it by now. I can read it in Notepad++ and see the line 'SetThreadAffinityMask' but editing it there would break it and I've never decompiled an .exe before so will need to find a utility to use.
Thanks very much for the advice. I've created a duplicate xrEngine.exe to test with and opened it with HxD. When I go to offset 9135 I see something different so am not sure how to proceed.
AE 46 F7 27 2D 9A 9C A2 31 BE 50
https://steamcommunity.com/sharedfiles/filedetails/?id=3346563620
Do a search for a hex value FF 15 D4 F0 46 00, there should be only one result.
Sorry I should have mentioned I've tried searching for FF 15 D4 F0 46 00 but not finding anything listed. I'll keep looking because I've not used HxD before so still getting used to it. Is there a modified file I can download? I'm using the retail disk version of CoP and the xrEngine.exe file from the bin folder.
Here you can grab patched exe, based on the GOG version: https://drive.google.com/file/d/14KH5X07d4fNPncysQSOsJ2QXByKXtZ-k