As told in my last post, here it is a detailed explanation about my discovery and the procedure to use for fixing this terrible bug
.
Starting from the assumption that something was related to a missing response from the OSI application or the SH5 main game i first started looking inside the OSI executable but with no result. From my knowledge it looked all right and with no apparent problem at all
. I excluded the game files since they were the same as ever and the only changes occurred were part of the UPlay updates frequently released (with no apparent communications with the users, it seems... changes to more important games were followed by news or changelogs, for Silent Hunter 5 no informations were given
).
Second important element was that not all users were experimenting this issue, thus leading me to a problem related to single computers with problems on Handling threads or processes flow. The OSI is at all effects an emulator of the old DRM system (or part of it at all, i don't know) and it send pings to the main game every few seconds before releasing further data to the game prior a game response. This timed procedure pointed me at looking at the running processes of my PC and there it came to my mind an old application dedicated on freeing resources of the PC as to have better performances for a game
:
This application simply changed the process priority of the game launched and lowered all Others to allow the computer a dedicated amount of resources for the game. Usually a PC handles all the processes automatically aiming to a balanced performance of all the applications running and the priority assigned gives more resources (RAM, CPU usage and so on) to the main applications running... i wondered if it could be our case
and there it came the discovery.
Coming to the problem, here is the bug : the OSI application, started each time with the SH5.exe file, is a background application and the PC usually gives little resources to it, however the SH5 game is instead a demanding one and is given a lot more resources than other running processes... now, it seems that this big difference from resources allocated to the SH5 main game and the ones allocated for the OSI is the responsible for the missing communication between the two running processes
.
My first idea was to manually raise the priority of the OSI process and it worked
!! The DBG Viewer helped me on checking the correct communications between SH5 and OSI and at the moment it works everything correctly
. As everyone can note the DBG Viewer is only a tool to check if the game works properly and it is not needed to fix the bug.
The only thing to do once is to set the OSI.exe file to be runned with administrator rights because only in this way it can be directed from the Windows Task Manager.
The file is located in the UPlay folder, this is the link where it is usually installed :
C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\data\3\osis\13\OSI.exe
After that the procedure to follow is this :
- Start Silent Hunter 5;
- When the game finishes loading and you are in the main menu go to the desktop using Alt+TAB;
- Start the Windows task manager and go to the process list;
- Find the OSI.exe process and right click on it;
- Go to "manage priority" and set it to "real time";
- The computer will ask if you want to do it, click yes. It will then tell you that it cannot enable the real time and instead it will set it to "high", that's ok, click on it;
- Close the task manager and return to the game;
- Start or load a saved game and enjoy it !
That's all !
Be aware that the OSI process is killed each time you exit the main game and it is restarted at each SH5 launch, so it is necessary to raise the priority each time. Since it takes only 30 seconds or less to make the modify i don't think it will be too difficult or long to apply .
At the moment i tried more than 20 sessions with the vanilla game and a modded one and no more issues were found, all campaigns are updated regularly and the infamous tonnage bar is filling correctly . As said in my previous posts, every feedback would help on understanding if this bug can be considered solved or not, feel free to ask about it, i will help if i can !