How to fix crashing in Apex Legends.[Permanent]
Hello,
I wanted to make a new topic, so many people can see this.
First off you need to understand that the crashing in games, (let's take Apex Legends, since this is the hot topic atm.) can happen due to various reasons.
In the following order:
1.CPU
2. GPU
3. RAM
4. Drivers (like with the DX_Hung_Error before 419.35)
5. Defective hardware
6. Windows Updates (rarely)
I will try to guide you through the errors I've seen on the internet below, hope this helps >>
Before you do anything else, reset the BIOS to the default settings, this is very important, remove any overclocks you may have CPU and GPU wise (this doesn't count stock MCE or Turbo boost motherboard settings, if you have any of these, let them on - just reset to default settings), start playing, and if you still get crashes, see below: >>
-----------------------------
- Bad_module_info error in Apex Legends is related to the CPU. I can now say that 100%, because I've been doing tests for month and a half now. It's not that your CPU is bad, it's the game that pushes it hard enough to the point it crashes. This is the first game I play that stresses the CPU THAT hard and I also play Battlefield V + Metro Exodus which you can't compare to the Apex / Titanfall engine in terms of stress. If you don't get any error, just a crash to the desktop - this could be also related to the CPU, OR it could be related to a software interfering with the game.
HOW TO FIX:
1.If your motherboard has the option for AVX Offset - put it to x2, then apply your previous overclocks and test again - you will be surprised. You may also want to increase the vCore if you also increase the total Cpu multiplier. No crashing.
2. If you don't have an Avx offset in the bios available, check at what voltage your CPU is running when playing Apex. If you run at an average of 1.25V for example, you might want to increase it by 0.05. Play again and see if it crashes. If if does - apply another 0.05 and test again, until 1.30V. Check you CPU specs, if those voltages are OK. By the time you reach 1.30V you will stop crashing.
--------------------------------
- If you don't get "Bad_module_info" error, but a driver error (driver has crashed), make sure you reinstall drivers using DDU and also use latest drivers - For Nvidia, currently this is 419.35.
HOW TO FIX:
1. If you still get crashes ONLY related to the display driver - try uninstalling again using DDU in Safe mode, then install the newest ones. Also, update Windows if you have any updates pending.
I really hope I helped some of you, guys. If you're not comfortable in editing your Bios, I recommend consulting an expert or start reading 😉 I'm not responsible if you fry any of your hardware.
About the crashes - this is a game / engine related issue that may or may not be fixed by Respawn. If they fix it - good, but if not - you now got a Trump card. 🙂
P.S: Other "fixes" on the internet are just temporary, like limiting your fps, etc., etc. for obvious reasons.
Cheers
I've been doing some testing with the AVX Issues in Apex Legends, and I have found that on fully working CPU's, if they ARE overclocked, the fix is to raise CPU Vcore voltage.
Apex Legends, if the vcore is too low (on 8th and 9th gen CPU's like the 9900K), you wind up getting strange WHEA correctable errors like Internal Parity error" or "CPU TLB" errors, errors usually you never see anywhere else. The game doesn't even crash if you are "close" to the stable point, you just see errors logged in HWinfo64 and shown in windows event viewer.
The reason prime95 passes is simple:
1) prime95 with AVX disabled is SSE2 only so is irrelevant.
2) prime95 small FFT with AVX enabled is irrelevant because it's a power virus that pulls so many amps that overclocked CPU's will crash due to voltage droop (higher amps=more voltage drop), making the cpu vcore wind up too low for that workload. Or from the cores getting too high temp and then reaching the unstable point for that cpu frequency. However there is a very big difference that everyone is overlooking, besides the 'power virus' component of prime95 small FFT.
AVX instructions can only access main memory by the # of memory channels, and an i9 9900K only has two memory channels. That means when accessing main memory, only two CPU *threads* will gain full access to memory via AVX instructions. If you wind up using more threads, the threads wind up competing with each other and the power draw actually goes way down.
9900K users can see this, if you have access to the voltage regulator VRM registers that monitor "Amps" draw, like on Gigabyte Z390 boards and some MSI Z390 models, the IR 35201 or the Renesas / Intersil (ISL) VRM's, where you see VR VOUT and Current (IOUT) (Amps) shown in HWinfo64.
Download prime95 29.6 build 7 from the software section of their forum.
Then run an AVX2 and AVX1 DISABLED test with 1344K in place fixed FFT's (SSE2 instructions) and notice the amps power draw and the power POUT from the VRM. If you don't have access to this, you can use CPU Package Power, although this is sometimes inaccurate on some boards (long story). Write that value down.
Then run the same test with AVX enabled (disable FMA3 (AVX2)) and notice that the power draw is **LOWER** ! Yes, it's LOWER For AVX than for non AVX !
That's because the AVX threads are now competing with each other for memory access!
People noticed this same problem when running LinX testing with certain residual sizes. They noticed that when they enabled hyperthreading, certain sizes had a LOWER speed result (rather than faster) than when they had hyperthreading disabled! It's basically the same issue there.
Then, try running AVX with small FFT and smallest FFT. (compare that to AVX disabled small FFT). Remember: prime95 29.6 build 7).
OMG, now it's REALLY pouring on the amps and heat! You're looking now at literally 50% more power draw than AVX disabled!
But why?
Simple. Smallest FFT and small FFT are not touching main memory at all! They're running purely in the CPU's L1/L2/L3 caches! So all 16 AVX threads have full access to the caches.Thus, any prime95 AVX crashes are going to be completely different than what you would see in Apex (like those bizarre Internal Parity errors or TLB errors) or other internal CPU errors that show up as "Corrected Machine Check". Prime95 errors are far more likely to show up as "Cache Hierarchy Error" due to it hammering the CPU cache intensely, which Apex legends does NOT do.
As far as WHEA errors with CPUs' running completely stock? Could be faulty hardware. There have been reports of 8700K's and 9900K's just completely dying randomly, which no one has been able to track down the reason for. If someone is getting this at PURE stock speeds, if you downclock the CPU and the problems go away, you need to RMA. It means your silicon is defective.
Now, again I'm NOT talking about random CTD's or game crashes due to bad code. I'm talking about pure CPU instability that gets logged in event viewer or in HWinfo64 in the Windows Hardware Errors area.
It is very interesting that Apex Legends is handling AVX instructions differently than Realbench 2.56 (handbrake).
I've already done some testing and found that 5.1 ghz @ 1.330v (loadline calibration=turbo) was 2 hours stable in Apex. 5 ghz @ 1.255v, 1.260v,1.265v and 1.270v were generating random WHEA's, while 1.275v passed 2 hours (again loadline calibration=Turbo; this is a Gigabyte board). I'm going to do some more tests and see if VCCIO has any effect on this. Probably won't, as VCCIO is supposed to affect the L3 cache, and I still do not know if the "Ring/Cache frequency" is the L3 cache or L2 cache. I guess I'll find out.
That being said, Apex Legends is now my go to program for real world AVX gaming stability.