Forgotten Hope Public Forum
Forgotten Hope 2 => FH2 Help / Support => Topic started by: Alubat on 31-03-2020, 20:03:39
-
How to setup Affinities for FH2 + Mouse & GPU
So basicly drivers and other stuff wants to run on the first cpu core (core 0) if possible. The trick is to seperate at least mouse and GPU away to other cores to gain more stable system response time if cpu has enough cores. I havent tried this on a 2core system
You may not experience or feel any difference after doing these suggestions. Maybe more is needed to improve performance or stability. I want to keep things as simple as pc tweaking is a never ending story:-)
Determine the Number of Cores in Your CPU
https://helpdeskgeek.com/how-to/determine-number-cores-cpu/
HOW TO - Interrupt Affinity Policy Tool (how to set mouse and gpu affinity)
https://www.youtube.com/watch?v=LeBp3a5WIzE
If GPU or USB driver gets updated, affinity tool settings may need to be re-applied
In FR33THY "HOW TO - Interrupt Affinity Policy Tool" youtube video - Process Hacker (great taskmgr alternative) is used to set program affinites.
I think most people maybe just want an easy simple shortcut sollution on desktop.
The easiest way before making shortcut is to alt+tab when gaming/recording and mess around with the affinities. If causing instability then alt+f4 programs and retry
(https://i.imgur.com/Nc0Zs9T.jpg)
CPU Affinity Shortcut for a Program - Create in Windows
https://www.eightforums.com/threads/cpu-affinity-shortcut-for-a-program-create-in-windows.40339/
ex Shortcut target for running FH2 on core 2,3 on a 6core 6thread cpu (FH2 located on G drive)
C:\Windows\System32\cmd.exe c/ start "FH2" /affinity C "G:\EA GAMES\Battlefield 2\Forgottenhope2.exe" +restart +menu 1 +fullproc +fullscreen 1 +widescreen 1 +modPath mods/fh2 +playerName XXXXXX +playerPassword XXXXX
6 cores 6 threads /affinity C = 001100 = core 2,3 (run 2cores No Hyperthread & SMT )
6 cores 12threads /affinity 5 = 000000000101 = core 0,2 (Run on 2cores with Hyperthread & SMT On)
4 cores 4 threads /affinity 3 = 0011 = core 0,1 (run 2cores No Hyperthread & SMT ) (pic. example above)
4 cores 8 threads /affinity 5 = 00000101 = core 0,2 (Run on 2cores with Hyperthread & SMT On)
4 cores 8 threads /affinity 55 = 01010101 = core 0,2,4,6 (Run 4cores Hyperthread & SMT On)
Some people maybe want to set FH2 to only run on 1core, but Its my experinece that 1core causes ingame stutter. FH2 runs better on 2 cores. Tried on 3diff intel systems.
BF2 engine is old and runs better on real cores, so avoid threaded smt cores. Running game on 2-3 cores should be better ingame experience, but longer mapload time the less cores
If recording gameplay with OBS then try out making affinity shortcut for OBS on other cores than the ones FH2 are using.
Make 2 shortcuts one for FH2 and one for OBS Ex. 6core 6thread system (Nvench Nvidia card) leave cpu0 (for windows background stuff) , FH2 on core 1-2, OBS on core3,4,5
C:\Windows\System32\cmd.exe c/ start "FH2" /affinity 6 "G:\EA GAMES\Battlefield 2\Forgottenhope2.exe" +restart +menu 1 +fullproc +fullscreen 1 +widescreen 1 +modPath mods/fh2 +playerName XXXXXX +playerPassword XXXXX
C:\Windows\System32\cmd.exe /c start "OBS" /affinity 38 "C:\Program Files\obs-studio\bin\64bit\obs64.exe"
If hyperthreaded or smt enabled, maybe try OBS with more threads
Benchmark fps
CapFrameX
https://github.com/DevTechProfile/CapFrameX/releases/tag/v1.5.0beta
[DE] CapFrameX 1.4.0 Beta Overlay Tutorial
https://www.youtube.com/watch?v=2ghwV57y6Do&t=
Guru3D RTSS Rivatuner Statistics Server Download
https://www.guru3d.com/files-details/rtss-rivatuner-statistics-server-download.html
Interrupt affinity tool
https://download.microsoft.com/download/9/2/0/9200a84d-6c21-4226-9922-57ef1dae939e/interrupt_affinity_policy_tool.msi
LatencyMon
https://www.techspot.com/downloads/6944-latencymon.html
MouseTester_v1.2
https://www.overclock.net/forum/375-mice/1535687-mousetester-software.html
Process Hacker
https://wj32.org/processhacker/nightly.php
(https://i.imgur.com/lh346fk.jpg)
My settings may not be good for your system (diff hardware,diff OS etc.), so try out different cores and do some testing :-)
If you want to know more about tweaking/optimizing/debloating windows for gaming I highly recommend FR33THY videos A to Z series https://www.youtube.com/watch?v=PYNlVUyaW0U&list=PLykpkrQ1xVu1jTFCju1cmY9UAHw99aGWW
Cheers
-
Very interesting, the affinity trick was very common back in BF2's days, as it made the game much more stable. Afaik BF2 is only capable to run on one core, thus setting its affinity to a different core from 0 gives better stability and fps.
Good the video uses BF2 as demo.
I'm trying to reduce input lag as much as possible lately, I could reduce from 20-30ms to ~10ms and I've experienced a much more fuent game experience, too bad I had to reduce graphics quality...
-
Afaik BF2 is only capable to run on one core.
No. please show some evidence of this. did you test it ?
FH2 runs much better on at least 2 cores. Maybe its ok with one core when playing small numbers 16-64 players or lowend portato 60Hz 60fps setup that does not stress bf2 engine. BF2 plays on smaller maps and with lower player numbers than FH2
On full 100p server or 254bots server I get instant stutter and lower fps if game only runs on 1core
-
Did a very quick test of 2vs1 cpu core
https://youtu.be/OY1RuKJeCAc
-
(https://i.imgur.com/ukmKrxk.png)
Did some more testing. Hyper-Threading turned OFF on Intel cpu in Bios gives more power to the engine :-)
-
+70 fps looks quite a lot. I wonder if turning Hyperthreading off has some impact on non-gaming use performance
-
+70 fps looks quite a lot. I wonder if turning Hyperthreading off has some impact on non-gaming use performance
Not much I think, depending on what system runs ofc. Its only some games that benefit like CSGO, bf2 fortnite. If I could I would make a test with 100 players (much lower boost than +70fps in a one player scene) . But I cannot recreate the same scene twice on a full server and no public battlerecorderfile with guided cam. is available