Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Splinter Cell Conviction] Force CPU Affinity for All Processors At All Times #1614

Closed
LethalPlacebo opened this issue Sep 1, 2024 · 9 comments

Comments

@LethalPlacebo
Copy link

LethalPlacebo commented Sep 1, 2024

The game stutters massively on modern CPUs regardless of settings. This seems to be because of poor CPU core utilization. If you open up Task Manager and set the CPU Affinity of the game's process to use "All Cores" this immediately solves the stuttering issues and improves performance, the game hits its 120 FPS cap easily.

The problem is that not only does this need to be done every time the game is launched, but the setting resets between any type of load screen, including cutscenes. Would it be possible to add a fix that would force the game's CPU affinity to use all cores at all times?

@ThirteenAG
Copy link
Owner

This is likely controlled by threadconfig.ini file, which you can put inside update folder and try to configure differently. If you have some luck with that, post the modified file here and I'll include it in the mod.

threadconfig.zip

@ThirteenAG
Copy link
Owner

Alternatively can be done with a hook, but it seems like performance is worse that way.
SplinterCellConviction.FusionMod.zip

@LethalPlacebo
Copy link
Author

Alright, I gave both options a go.

I tried several different configurations with threadconfig.ini, but no matter what I would set the options to, the result would either be no effect on performance or breaking in-game physics, resulting in bodies, weapons, and magazines floating in the air, as well as broken camera patterns.

Using the hook instead seemed to resolve the problem instantly. When it comes to performance, I did a direct comparison between manually setting the CPU affinity for the game in the task manager without the hook versus just using the hook itself. Performance is only very slightly worse, and not really noticeable. It's usually a difference of 1-2 frames when you first enter an area or menu, but as you go on it levels out and the game pretty much stays at a rock solid 120 FPS.

@ThirteenAG
Copy link
Owner

Can you check a dev build, I added an ini option for this. Is it safe to have enabled by default?

@LethalPlacebo
Copy link
Author

Can you check a dev build, I added an ini option for this. Is it safe to have enabled by default?

Hi, I just checked the dev build, but I don't see the ini option in any of the included ini files. Running the game with the dev build results in the same performance as the current release build (which is the same as running the game without the mod, it stutters and drops frames a lot).

As for having it enabled by default, I do believe it to be safe. There are threads going back years now that mention that the game has poor CPU utilization, this would probably alleviate the issue for most.

@ThirteenAG
Copy link
Owner

Ah, sorry, it's still compiling on appveyor.
SplinterCellConviction.FusionMod.zip

@LethalPlacebo
Copy link
Author

Ah, sorry, it's still compiling on appveyor. SplinterCellConviction.FusionMod.zip

No worries, can confirm that this build works great, stutter and performance issues are gone and the ini option is present.

@ThirteenAG
Copy link
Owner

Alright, will reupload on github then.

@LethalPlacebo
Copy link
Author

Alright, will reupload on github then.

Thanks a lot for your work in keeping this game playable!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants