WuWa's performance issues are caused by anti-cheat, not your PC - r/WutheringWaves (2024)

TL;DR: WuWa's anti-cheat - Tencent's Anti-Cheat Expert - is responsible for most of the game's performance issues.

EDIT #2: There is a potential workaround for some users at the bottom of this post.

I've had a lot of problems with WuWa on my PC, but they come and go. This has been a source of confusion for me. At first I thought maybe it was my PC - I was seeing the whole system stutter or lock up entirely or even bluescreen while playing the game, and normally a game can't make your whole system freeze or bluescreen. It's not supposed to be possible, and before playing WuWa I hadn't seen a BSOD in months or even years, let alone had a game cause one. I ended up replacing my whole PC, including my processor, GPU and SSDs! Nothing worked.

Some days I'd be able to play 4+ hours of the game without a problem, other days (like yesterday) my system would stutter or lock up every few minutes while the game was running. I lowered all the settings to minimum, turned particular options on/off like people suggested, no improvement. I tried ini file tweaks like people suggested, changing the cache and shader compile options etc, no improvement. I even tried forcing the game to use D3D12 instead of D3D11 (no improvement), or forcing it to use Vulkan (this doesn't work, they don't ship the shaders), or installing DXVK (anti-cheat blocks it). Nothing worked.

But I'm a professional game developer, so I thought - well, why don't I record a system trace and see what's going on? And the results of the system trace were interesting.

So for context, Wuthering Waves uses an anti-cheat system developed by Tencent called "Anti-Cheat Expert". Anti-cheat expert installs a system-level service (you can see this in the Services section of control panel, it's "SGuardSvc64.exe" that appears as "AntiCheatExpert Service", and it runs with OS-level permissions), along with a driver that runs next to your sound, video, mouse, network and other drivers, called "ACE_BASE.sys". (EDIT: I previously listed the name of a different driver here - ACE includes multiple drivers.)

I mentioned before that DXVK, a Vulkan-based implementation of Direct3D, is blocked by anti-cheat. Well, I noticed that the anti-cheat only detects DXVK once you log into the game, not when the game starts. When you log into the game also happened to be the exact moment that system stuttering would start for me. So I realized that if I focused on the point where the game is loading - when the system-wide stuttering was worst and most consistent, and where I got at least one BSOD - I could probably identify the cause of all my problems.

And wouldn't you know it, the #1 thing that shows up in system-wide traces during game loading is Anti-Cheat Expert. It's not the only thing hogging the CPU, but Anti-Cheat Expert is using as much CPU power as Wuthering Waves' game code and the Unreal Engine renderer put together:

But normally, that would just make the game lag, wouldn't it? Why is my whole system lagging? Why am I getting Blue Screens Of Death that crash my whole system, with a "kernel security check" failure?

That's because Anti-Cheat Expert installs a kernel driver and a system-level process. The anti-cheat system is able to interfere with the functioning of your video driver (which will cause video playback in a browser tab to stutter or make your whole screen freeze), your sound driver (which will cause sound and music to cut out, which often sounds like the "beep" some players have complained about), your network driver (which will cause your in-game ping to spike or cause you to disconnect from services like Discord), or your mouse and keyboard. And because Anti-Cheat Expert intentionally hides itself to interfere with cheat tools, most tracing tools like LatencyMon will blame other things - like your video driver - for this lag. Worse still, if the anti-cheat driver is not written correctly - and I am now convinced it isn't - it can corrupt your system's memory, which will cause BSODs or in the worst case (if you were exceedingly, exceedingly unlucky) could even corrupt the contents of your hard drive. I have reason to suspect that happened to me, but that's another story...

So in summary, most of our technical problems with WuWa are likely caused by Tencent's low-quality anti-cheat system, and Kuro could probably fix them overnight by switching to another anti-cheat system. This reminds me of how when Resident Evil 8 came out, people discovered that Denuvo was causing severe performance issues... it seems like it's rarely the game at fault these days.

EDIT: Since originally writing this post, I did more testing using Driver Verifier and confirmed that the Tencent Anti-Cheat Expert driver does not pass driver verification if you play Wuthering Waves with the verifier enabled. It will cause a special form of BSOD, and the dump file generated by the OS fingers the culprit:

So at this point it's unambiguous that the anti-cheat system is doing things it shouldn't be doing, probably due to a bug.

EDIT #2: u/Mafste points out in https://www.reddit.com/r/WutheringWaves/comments/1dumhs6/comment/lbkkgmk/ that disabling 'USB Selective Suspend' in your Power Plan settings has historically helped reduce stuttering caused by anti-cheat drivers. For my system after a few hours of testing, it appears to make the stuttering a lot less bad. So if you're suffering from stuttering you can experiment with that option. Be aware it will increase the amount of power used by your PC! Based on this I looked a little closer at the contents of ACE_BASE.sys and it indeed contains logic to examine your devices, so it makes sense that this workaround is effective.

But why isn't everyone affected?

  • It could be caused by certain types of USB devices - a particular type of mouse or keyboard or USB headset
  • It could be caused by certain types of USB controllers. Typically, there is a USB controller integrated into your processor's I/O die - for example, the Ryzen 7950X has a built-in controller for 4 USB 3.2 ports - and there is an additional one integrated into your motherboard that supplies additional ports. Either the CPU controller or the motherboard controller could have a compatibility issue with the anti-cheat.
  • Whether USB Selective Suspend is enabled by default could depend on whether someone built your PC for you, whether you bought a pre-built, or whether you built it yourself. It could also depend on whether you upgraded Windows or installed it from scratch.
  • Most importantly, the anti-cheat is connected to the network and 'phoning home' by design, so there's no guarantee that every user gets the same anti-cheat configuration. It's a known fact that some anti-cheat systems deploy different detection code to different players (EVE Online's for example, along with Granblue Fantasy's)

In any case, if that workaround helps you, definitely chime in with a response to their comment and give them a thumbs up.

Sadly this doesn't address the issue of BSODs, but it's still a nice workaround!

EDIT #3: I am happy to report that I am in contact with Kuro about this issue, though I don't know anything about what kind of progress will be made or how quickly it will happen.

WuWa's performance issues are caused by anti-cheat, not your PC - r/WutheringWaves (2024)
Top Articles
Latest Posts
Article information

Author: Domingo Moore

Last Updated:

Views: 5691

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Domingo Moore

Birthday: 1997-05-20

Address: 6485 Kohler Route, Antonioton, VT 77375-0299

Phone: +3213869077934

Job: Sales Analyst

Hobby: Kayaking, Roller skating, Cabaret, Rugby, Homebrewing, Creative writing, amateur radio

Introduction: My name is Domingo Moore, I am a attractive, gorgeous, funny, jolly, spotless, nice, fantastic person who loves writing and wants to share my knowledge and understanding with you.