Hey Guys the thing is when i launch the game it uses 100% of 2 cores of my dual core processor , do not really know why is that happening its using 100% everywhere no matters where i am menu or in game, tryed to set up in task manager that the game will use only 1 core, but that was not a good plan, the game started to use 1st core on 100% and doesnt uses the second core its 1-2% do not really know what is wrong, maybe you can help.
Please use the latest build of the SH2 Enhancement module, which fixes this issue. It's related to a Windows Update that affects Windows 7, 8, and 10 users:
d3d8.zip: https://github.com/elishacloud/Silent-Hill-2-Enhancements/releases/tag/v1.3.1365.0

that doesnt help with the issue=( the game is using 100% now but only on single core and it was usind dual core 100%
here are my laptop specs: intel pentium dual core b950 2ghz
4gb ram
radeon hd6470m
Can you attach a copy of your d3d8.log file?
yep why not
but where can i find it?
It'll be in the game's main directory:
http://enhanced.townofsilenthill.com/SH2/#directorytree
This might be normal. The game uses roughly 50% of my CPU (i5-7600k 4GHz) when using all cores. When using only one core (which is necessary, unfortunately) I'm at a constant 100% usage at the main menu. This was tested without Silent Hill 2 Enhancement module.
Unless that was the problem that Elisha was supposed to fix, then I don't know what else he could do besides getting a better CPU. The game has always been high in CPU usage for some reason, which is what causes a lot of the stutters.
Good observation. I guess I never gave it much attention. On mine, I set the game to run on Core 2:

I think 100% CPU usage for this game is normal. It has nothing to do with processor speed, but rather with the way it was coded. They coded a loop that is waiting for other tasks to complete but continually checks if it is complete. The faster the CPU the more cycles it will use until your CPU is maxed out.
Example: (this will cause 100% CPU while waiting for the thread)
CWinThread *pThread = AfxBeginThread(pfnThreadProc, pParam);
do {
Sleep(0);
} while (pThread->m_hThread);
A better way would be something like this: (this will cause virtually no CPU time while waiting for the thread)
CWinThread *pThread = AfxBeginThread(pfnThreadProc, pParam);
WaitForSingleObject(pThread->m_hThread, INFINITE);
The reason why all CPUs are using 100% when the game first starts is because in the latest build SingleCoreAffinity waits 5 seconds after the game starts up before it takes effect. So for the first 5 seconds of the game all CPUs are maxed out. There were several issues reported before when setting SingleCoreAffinity at launch time would cause issues (like game freezes or sound loops), whereas manually setting single core after the game launched would resolve the issues. The new SingleCoreAffinity simulates the functionality of manually setting single core. This should resolve those issues.
Note: there is a hidden option you can add called SingleCoreAffinityTimer that controls when the module sets single core affinity. So for example changing it to 10000 would make it set SingleCoreAffinity 10 seconds after the game launches. Whereas setting this to 0 would make it set SingleCoreAffinity immediately when the game launches.
So I do not need to attach d3d8 anymore?
So I do not need to attach d3d8 anymore?
No. 100% CPU is normal. Unless you are having any other issues you should be good.
At some point I want to spend some time and fix some of these thread issues. But for now we have to live with them.
Closing this out.
Most helpful comment
I think 100% CPU usage for this game is normal. It has nothing to do with processor speed, but rather with the way it was coded. They coded a loop that is waiting for other tasks to complete but continually checks if it is complete. The faster the CPU the more cycles it will use until your CPU is maxed out.
Example: (this will cause 100% CPU while waiting for the thread)
A better way would be something like this: (this will cause virtually no CPU time while waiting for the thread)
The reason why all CPUs are using 100% when the game first starts is because in the latest build
SingleCoreAffinitywaits 5 seconds after the game starts up before it takes effect. So for the first 5 seconds of the game all CPUs are maxed out. There were several issues reported before when settingSingleCoreAffinityat launch time would cause issues (like game freezes or sound loops), whereas manually setting single core after the game launched would resolve the issues. The newSingleCoreAffinitysimulates the functionality of manually setting single core. This should resolve those issues.Note: there is a hidden option you can add called
SingleCoreAffinityTimerthat controls when the module sets single core affinity. So for example changing it to10000would make it setSingleCoreAffinity10 seconds after the game launches. Whereas setting this to0would make it setSingleCoreAffinityimmediately when the game launches.