How to fix sudden FPS drop in CS:GO (or CS2) on Macbook Pro 2019 with AMD Radeon 560X (and optimise FPS performance)
Posted: 2023-10-04 (settings tested just before and after the CS2 release around this date) CS:GO = Counter-Strike: Global Offensive CS2 = Counter-Strike 2
Have you cleaned the fans inside the casing? Open the Macbook (with a Torx TS4 screwdriver, from a Bits set from your local hardware store), and vacuum the fans inside. They have likely collected dust over the years, which make the Macbook unable to disperse of the heat when it is put under stress (lots of things happening ingame) which causes the CPU to emergency throttle because it becomes too hot.
Other things you may try:
https://www.bootcampdrivers.com/ for better AMD Radeon drivers than the latest. For Macbook Pro 2019 with AMD Radeon Pro 560X then ideally use the February 2022 edition or older of the Adrenalin drivers, like the site Compatibility section says. The closest is the Arenalin March 2022 - Red Gaming Edition drivers, which has been confirmed to work.
This plus the frame rate per second (FPS) optimisation settings below can give you occasionally 300-400 fps in CS:GO ! FPS in CS:GO should not drop to below 70 FPS when in the heat of action, with these settings. For CS2 then you should be able to get around 120 FPS stable, with a drop to around 100 FPS when in the heat of action
Many have experienced FPS to drop by around 30 fps in the heat of action, in CS2 after it was released. But my experience has been that the fps has actually been more stable in CS2 than in CS:GO, with the setup and specs mentioned here.
MSI Afterburner default settings:
Core Clock (Mhz): 1004 Memory clock (Mhz): 1470 (Volt is around 750 mV, temp around 55 deg, on startup, at evening).
(with the below settings, and player contrast and multicore rendering enabled)
This can get >98 fps average in the Workshop map that tests FPS! Without frame drops / lags / stutters!
Use ThrottleStop software! To fix Macbook Pro CPU throttling when it asks for too much power. That is the key, after cleaning the fans. The rest is minor.
Benchmark in-game in CS:GO:
Steam: Right click CS GO -> Workshop -> Search: "FPS Benchmark". Direct link: https://steamcommunity.com/sharedfiles/filedetails/?id=500334237
Subcribe to it. https://steamcommunity.com/sharedfiles/filedetails/?id=500334237
ThrottleStop software:
High Performance enabled
Speed Shift EPP enabled: 60 (or 32; lower will cap the CPU mhz sooner).
Disable Turbo to fix spikes (to disable throttling due to overheating!).
References:
https://www.youtube.com/watch?v=cn2MO4eJo4k
https://www.reddit.com/r/macgaming/comments/gmpqj5/guide_double_your_fps_with_process_lasso/
Process Lasso software:
csgo.exe right click -> Affinity -> Disable SMT (HyperThreading), so that it uses each physical core more effectively (less thread contention, games not so good at multithreading, singlethreading can give 30% better clock performance). -> CPU priority -> Always -> High -> I/O priority -> Always -> High -> Memory priority -> Always -> Normal (which is the highest) -> Power profile -> Max performance overlay
CS:GO Graphics and Advanced Graphics settings:
Normal 4:3 aspect ratio (AMD software should stretch it to screen size; like the professionals do, or try 1280x1024 for most stretch, but maybe less FPS).
800x600 resolution
Fullscreen
Texture Streaming: OFF (can otherwise cause stutter)
Multicore rendering: Doesn't matter (not much diff during tests), but try with ON
Laptop power saving: OFF (will otherwise set fps_max to 48. Plus maybe throttle CPU / GPU??)
CS:GO Launch settings:
Steam: Right click CS GO icon -> General -> Startup settings (then paste this line there): -untrusted -high -tickrate 128 +fps_max 0 -novid -nojoy -fullscreen +mat_disable_fancy_blending 1 +cl_forcepreload 1 -limitvsconst -forcenovsync +r_dynamic 0 -nothreadedsockets
CS:GO autoexec.cfg file in folder "C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg" :
See contents of autoexec.cfg below. Commands that will be auto executed when joining a game (or starting CS:GO perhaps).
AMD Radeon Pro software:
Create -> Global graphics -> Frame rate target control (60 fps max, or could be set lower)
Frame rate target control: Disabled (seems to give less stable FPS than controlling this ingame).
Texture filtering quality: Performance
If wanting to cap FPS: Probably best to simply set fps_max to 100 or 120 ingame, since I am not sure that the ingame laptop power setting does not affect anything else but the FPS max (like CPU or GPU throttling or whatever).
MSI Afterburner:
Settings unknown. I didn`t get it to work properly, the settings always reset when I clicked Apply. But others have used it to underclock the GPU.
----
CS GO Launch option settings:
-novid -nojoy -tickrate 128 -nothreadedsockets
Only these and nothing else! According to professional optimization expert. https://youtu.be/ogNoiim9ZwM?t=154
novid = disable intro video when launching nojoy = disable joystick tickrate = when hosting a local server
nothreadedsockets = better hit registration, more: https://www.reddit.com/r/GlobalOffensive/comments/10okxes/hey_guys_its_nartouthere_i_collab_with/j6muylt/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
---
Put this in autoexec.cfg in
C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg :
net_threaded_socket_burst_cap "" // =empty value . Any non-empty -> worse performance
net_threaded_socket_recovery_rate "X.XXXXXX"
X.XXXXXX -> worse than int X (new bug with type converatation?)
net_threaded_socket_recovery_time "60.000000"
ex.: "" worse than "60" |
demo_index "1" cl_join_advertise "2"
rate "786432"
cl_cmdrate "128" cl_updaterate "128" cl_interp_ratio "2" cl_interp "0" cl_lagcompensation "1" cl_predict "1" cl_predictweapons "1"
m_rawinput "1" m_pitch "0.022" m_customaccel "0" m_mouseaccel1 "0" m_mouseaccel2 "0" m_customaccel "0" m_mouseaccel1 "0" m_mouseaccel2 "0" m_mousespeed "0"
fps_max "999" // to see how high you can go, you should be able to have 300-400 fps occasionally ingame if you have AMD Radeon 560X. Change this setting once you get in game to 0. When you have fixed the problem you might want to set it to 120 to have a more stable FPS
fps_max_menu "999" r_dynamic "0" r_drawtracers_firstperson "1" cl_threaded_bone_setup "1"
ui_steam_overlay_notification_position "bottomright" player_nevershow_communityservermessage "1" mm_dedicated_search_maxping "25" // max ping for matchmaking games
r_eyegloss "0" // No Makeup. r_eyemove "0" // No Eye Movement. r_eyeshift_x "0" // No Eye Movement X-Angel. r_eyeshift_y "0" // No Eye Movement Y-Angel. r_eyeshift_z "0" // No Eye Movement Z-Angel. r_eyesize "0" // Smaller Eyes. m_rawinput "1"
clear














