It seems to be a race condition between a scheduled asynchronous I would like to emphasize here that I don’t know exactly what causes this crash. What we originally thought was the patch fault seems to be an original game bug occurring randomly,īut SilentPatch made this bug happen consistently! Shortly after I sent out the first patch version for testing, I’ve been notified it causes crashes when finishing fights with a Heat Action. Therefore, Yakuza 4’s CPU usage is still lower than without SilentPatch, but the difference is not as drastic as it is in Yakuza 3. In this case, throttling pxd::server_job destroyed the game’s performance, so I had to give up on that particular change. Even though Yakuza 4 appears to be extremely similar to 3 from the technical side, the situation there was slightly more complicated.Most notably, the current worst offender, pxd::server_job This keeps the frame limiter loop spinning the CPU, but the other threads don’t. Regain CPU time properly by using Sleep(1) instead, while the frame limiter loop now uses SwitchToThread() to yield only when it is possible. In this case, I settled for a mixed solution – non-time-critical threads Both Yakuza 3 and 4 widely use Sleep(0) to idle threads,īut that ends up not giving away CPU time to other threads if there is no other thread (at the same or higher priority level) ready,Īnd thus in practice threads end up spinning for no apparent reason. Thread scheduling appears not to give away enough CPU time from idle threads.This change made the message pump thread disappear from the profiling results and already relieved the CPU noticeably. I modified the message loop to use GetMessage to wait for messages and free CPU time. The message pump thread processing Windows messages was spin locking using PeekMessage, and therefore hogging the entire CPU core even if there.In the best case, the information presented this way could I’ll spare the implementation detailsīecause they aren’t useful – instead, I’ll briefly explain the changes I made. Special K makes the worst offenders instantly noticeable, so I could come forward with several fixes. With proper setup, it can act almost as a profiler! To address the most common issues in various games and/or to retrofit HDR, but I instead used its extensive resource monitoring capabilities. Most people use it as a general-purpose framework This time for my investigations I used Special K. (it is possible if the CPU heats up and throttles or if threads are starving each other for CPU time). Even worse, for some people, it seems to have caused performance issues My 4-core, 8-thread CPU regularly saw 50-60% overall CPU load, with some cutscenes going as far as 90%.Ī simple cutscene using 90% CPU time? Hmmm.Ī quick look at Steam forums reveals it’s a widespread issue. Much more than Yakuza 0 and even Yakuza Kiwami 2! The next issue may not be obvious, but something is definitely wrong – both Yakuza 3 and Yakuza 4 are insanely CPU intensive, Windows 8 compatibility is highly likely a placebo fix for something – I find it unlikely it was the only viable option.ĭPI scaling settings, on the other hand, should have been set in the executable’s manifest instead of being forced through compatibility settings! Although I can’t say for sure what went down, I can’t think of any reasons where those would be required in a modern game. The included script file sets the games to use Windows 8 compatibility and overrides the DPI scaling settings. For some reason, Yakuza 3 and Yakuza 4 ship with… compatibility options! I spotted the first oddity even before launching any of the games. You can reach those segments within one or two hours of playing, so I don’t think they can be considered major spoilers. Therefore with the Remastered Collection, I knew I’ll be looking into these gamesĪs always in cases like this, it didn’t take long before something worth looking into showed up.ĭISCLAIMER: All screenshots shown in this article come from the early stages of Yakuza 3 and 4. Yakuza Kiwami 2 got a SilentPatch several months after the release, Like with Yakuza Kiwami 2 (but unlike Yakuza: Like a Dragon!), these ports have been made by QLOC. I’ve been looking forward to these games,Īnd now with Yakuza 3, 4, and 5 released, we are very close to seeing a complete mainline Yakuza saga on PC! It’s been a week since Yakuza Remastered Collection has released on PC and Xbox One. Scroll down to Download section for a download link. TL DR - if you are not interested in an in-depth overview of what was wrong with the game and how it was fixed, SilentPatch for Yakuza 3 & Yakuza 4 Remastered
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |