Sudden FPS drop and no recovery

Newish Zwifter here been riding for 2+ months. A recent launcher update seems to have messed up something internally that causes sudden FPS drops from >140 down to <15 and never recovers. This happened twice: once after an hour of riding and once ~30min into the ride. My PC also freezes even after finishing the ride and logging out Zwift.

Here are screenshots of my PC setup and visualized log from TrainerDX. As suggested by many other Zwifters this might be an CPU issue, but given this never happened before and the severity of FPS drop I’m not sure what is going on.. Any help is appreciated!

In what area of Zwift is this, which world, route and location?

I know certain parts of the Japan world are pretty heavy on computers and with some graphics detail tweaks I can get Zwift to crash in areas of that world which won’t cause issues elsewhere such as France or Watopia.

However that doesn’t present severe frame rate drops like yours (instead it does viewport stuttering then crash to desktop). Do you have any trace of the CPU behaviour such as temperatures, etc?

Hi Chris, the first time it happened is after a Alpe du Zwift climb (Apr 4), right after turning around for the downhill section, so over 1hr of riding. Second time is a few moments ago (Apr 5) in Hell of the North, roughly 30 mins into the ride. Screenshots/log is from the second ride but the behavior is exactly the same. The fps drop is quite sudden and nothing could have prepared me for this.

I’ll try to dig up some CPU log and share if I can. Meanwhile this is the Alpe du Zwift log mentioned above:

Hmm, unusual, that isn’t a very heavy area of Zwift, usually few riders there and it’s not as hard on computers as Japan is.

Here is a snippet of log that shows FPS drop. Windows Logs also shows no event at the time of FPS drop, so Windows didn’t see a problem.

Not a computer guru here but would appreciate if anyone could point out what’s causing the failure. Hell of the North: Drop right around 19:20:50 and 19:20:58

[19:19:54] FPS 143.54, -338733, 10443, -429992
[19:19:55] [Route] Hit checkpoint 101 out of 183 on route: "  Hell of the North"
[19:19:56] [INFO] Auxiliary Controller attempting to connect to phone at: 10.0.0.91:21588 (secure)
[19:19:57] [INFO] World clock offset updated from -460026009ms to -460026009ms (+0ms)
[19:20:01] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)
[19:20:01] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)
[19:20:02] FPS 144.23, -335529, 10385, -422409
[19:20:04] [INFO] UDP metrics {StC Rx: 827, Rx error: 0, CtS Tx: 300, Tx error: 0}
[19:20:04] [Route] Hit checkpoint 102 out of 183 on route: "  Hell of the North"
[19:20:06] INFO LEVEL: [Bike Levels] Attempting to auto save Bike Progress
[19:20:06] INFO LEVEL: [Bike Levels] Attempting to save bike progress
[19:20:06] DEBUG LEVEL: [Bike Levels] Saving Progress for bike: 3998075483
[19:20:10] FPS 144.23, -330843, 10275, -415119
[19:20:12] [INFO] Auxiliary Controller attempting to connect to phone at: 10.0.0.91:21588 (secure)
[19:20:13] [Route] Hit checkpoint 103 out of 183 on route: "  Hell of the North"
[19:20:17] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)
[19:20:17] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)
[19:20:18] FPS 144.23, -333229, 10238, -407519
[19:20:23] [Route] Hit checkpoint 104 out of 183 on route: "  Hell of the North"
[19:20:26] FPS 147.78, -340924, 10410, -405809
[19:20:28] [INFO] Auxiliary Controller attempting to connect to phone at: 10.0.0.91:21588 (secure)
[19:20:31] INFO LEVEL: [SaveActivityService] AutosaveCurrentActivity with {internalId: 1}
[19:20:31] INFO LEVEL: [SaveActivityService] ZNet::SaveActivity calling zwift_network::save_activity with {name: Zwift - France, uploadTo3P: False, fitFileNameToUpload: C:\Users\yanzh\AppData\Local\Zwift\Activities\inProgressActivity.fit, fitFileNameShort: 2026-04-05-18-55-06.fit}
[19:20:31] [INFO] Activity Upload: load fit file from path C:\Users\yanzh\AppData\Local\Zwift\Activities\inProgressActivity.fit
[19:20:32] [INFO] Activity Upload: fit file is length 134547
[19:20:33] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)
[19:20:33] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)
[19:20:33] ===========================================================
[19:20:33] [ActiveSegments] detected state change...
[19:20:33] Added segment: 1053001934
[19:20:33] ==Current Active Segment Hash Ids==
[19:20:33] 1053001934
[19:20:33] ===========================================================
[19:20:34] FPS 144.23, -347631, 10576, -404663
[19:20:34] [Route] Hit checkpoint 105 out of 183 on route: "  Hell of the North"
[19:20:38] Chat: 2725729 (GroupEvent): Right there Wang
[19:20:39] TimingArch: crossed arch start line Sprinteur Sprint
[19:20:39] DEBUG LEVEL: TimingArch: Sprinteur Sprint wants to show timerF
[19:20:42] FPS 144.23, -353686, 10719, -403403
[19:20:43] TimingArch: (Sprinteur Sprint) passed checkpoint 0
[19:20:44] [INFO] Auxiliary Controller attempting to connect to phone at: 10.0.0.91:21588 (secure)
[19:20:47] TimingArch: (Sprinteur Sprint) passed checkpoint 1
[19:20:47] [Route] Hit checkpoint 106 out of 183 on route: "  Hell of the North"
[19:20:49] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)
[19:20:49] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)
[19:20:50] FPS 143.54, -356360, 10720, -397978
[19:20:51] TimingArch: (Sprinteur Sprint) passed checkpoint 2
[19:20:54] TimingArch: (Sprinteur Sprint) passed checkpoint 3
[19:20:58] FPS 11.39, -352225, 10703, -393030
[19:20:59] [Route] Hit checkpoint 107 out of 183 on route: "  Hell of the North"
[19:21:00] [INFO] Auxiliary Controller attempting to connect to phone at: 10.0.0.91:21588 (secure)
[19:21:02] TimingArch: (Sprinteur Sprint) passed checkpoint 4
[19:21:04] [INFO] UDP metrics {StC Rx: 825, Rx error: 0, CtS Tx: 300, Tx error: 0}
[19:21:05] [WARN] Auxiliary Controller failed to shut down tcp socket: 'A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.' (10057)
[19:21:05] [INFO] Auxiliary Controller failed to connect to socket: 'The I/O operation has been aborted because of either a thread exit or an application request.' (995)
[19:21:06] FPS 11.42, -346214, 10703, -389361
[19:21:09] TimingArch: hit finish line for Sprinteur Sprint
[19:21:09] TIMING ARCH: Player (male) passed finish line of segment 1053001934 at time 361415194.79 in 30.42 seconds (avg watts 160.73).
[19:21:09] Got Notable Moment: SET A TIME
[19:21:09] LEADERBOARDS: Saving segment results for segment 1053001934 with a time of 361415194.79
[19:21:09] DEBUG LEVEL: [StructuredEvents] Queueing event. {eventCase: 123, timeNow: 1775431268526ms}
[19:21:09] LEADERBOARDS: SUCCESS Segment result uploaded (result-id: 2021379962543538224) (segment hash: 1053001934) (event subgroup id: 7063056) (duration: 30415ms)
[19:21:10] DEBUG LEVEL: [StructuredEvents] Sending batch request. {sequenceNumber: 23, size: 1, batchDuration: 1057ms, timeNow: 1775431269495ms}
[19:21:11] [Route] Hit checkpoint 108 out of 183 on route: "  Hell of the North"
[19:21:11] DEBUG LEVEL: [StructuredEvents] Batch request confirmed. {sequenceNumber: 23}
[19:21:12] [INFO] World clock offset updated from -460026009ms to -460026010ms (-1ms)
[19:21:14] FPS 11.41, -339829, 10703, -385462
[19:21:16] [INFO] Auxiliary Controller attempting to connect to phone at: 10.0.0.91:21588 (secure)
[19:21:16] [INFO] Auxiliary Controller connected successfully
[19:21:16] [WARN] Discarding command from phone: 29
[19:21:16] [INFO] Sending Pairing Status of: true
[19:21:16] [ActionBarV2] Started ZCActionBar Session.
[19:21:17] LIVESEG: Sending Active Segments.
[19:21:21] [Route] Hit checkpoint 109 out of 183 on route: "  Hell of the North"
[19:21:22] FPS 11.44, -333337, 10703, -381505
[19:21:30] ===========================================================
[19:21:30] [ActiveSegments] detected state change...
[19:21:30] Removed segment: 1053001934
[19:21:30] ==Current Active Segment Hash Ids==
[19:21:30] ===========================================================
[19:21:30] FPS 11.45, -330612, 10703, -375035
[19:21:31] [Route] Hit checkpoint 110 out of 183 on route: "  Hell of the North"
[19:21:35] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:pacers (children=false)
[19:21:35] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:friends (children=false)
[19:21:38] FPS 11.49, -334028, 10720, -368117

Alpe du Zwift: Drop around 10:16:34 and 10:16:39

[10:16:00] INFO LEVEL: [Road Graph] GetDefaultExpectedTurn(): Staying on the same road, next roadId: 35
[10:16:01] TimingArch: hit finish line for 
[10:16:04] INFO LEVEL: [VIDEO_CAPTURE] finishing disk clip, seconds=120
[10:16:04] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:pacers (children=true)
[10:16:04] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:friends (children=false)
[10:16:07] FPS 144.93, -428668, 141062, -515194
[10:16:14] User 1483943 flagged
[10:16:15] FPS 144.23, -442738, 138517, -513992
[10:16:23] FPS 143.54, -455312, 135827, -508480
[10:16:29] TimingArch: hit finish line for 
[10:16:31] FPS 143.54, -458049, 133576, -501650
[10:16:34] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:pacers (children=true)
[10:16:34] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:friends (children=false)
[10:16:39] FPS 11.77, -445796, 130744, -507353
[10:16:44] [INFO] UDP metrics {StC Rx: 618, Rx error: 0, CtS Tx: 299, Tx error: 0}
[10:16:47] FPS 11.68, -430488, 127474, -504600
[10:16:55] FPS 11.73, -419094, 124192, -493765
[10:17:00] TimingArch: hit finish line for 
[10:17:03] FPS 11.73, -416114, 122137, -489368
[10:17:04] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:pacers (children=true)
[10:17:04] [ActionBarV2] ZCActionBar: UserAction has changed: teleport:friends (children=false)

Did you build the PC or buy off the shelf?

Have you monitored temps?

Only thing I could think of is that temps have gone too high and the PC goes into safe mode. If you built, check the thermal paste of the cpu/cooler. Also check the seating of all the components.

This is a really nice PC. It should not be having problems like that, not even in the most demanding parts of the game. For comparison I have an i5-12400 with an Nvidia RTX 2060 and 16GB DDR4 RAM that has good and stable performance at 1440p. Your much nicer machine falls off a cliff and dies at 1080p. It does make me wonder if there is something going on with the PC or something different about your Windows environment. On my system I also have OneDrive disabled, and no third party anti-virus installed (it is only for Zwift). I would be looking for benchmarking apps that can stress test the CPU, RAM, and storage so you can understand whether there is a hardware problem.

1 Like

Also worth checking that it’s not clogged up with dust, in addition to the checking that the thermal paste of the CPU is good and the heatsink is correctly secured and the bolts are tightened with correct torque.

The 2019 Mac Pros I have here have great cooling capacity but they are (like some PCs) incredibly effective vacuum cleaners and they suck up dust that you didn’t know was there. And that stuff just cakes on heat sinks and fan blades making them less effective. It’s a PITA to clean the fans as well.

This error makes me think the machine is hitting a temperature limit and then the machine is slowing down to avoid a meltdown.