performance optimization classic - tukui-org/ElvUI GitHub Wiki
Current state of this guide
- Patch 1.15.7 (Classic) and Patch 4.4.2 (Cataclysm)
- April 13th, 2025
Step 1: Enable System - Graphics - Raid Graphics Quality
First of all you have to scroll down and click on "Raid and Battleground" and then enable the checkbox
"Raid Graphics Quality" to setup your separate graphics settings while in instanced content.
Once this checkbox is ticked(enabled), scroll back to the very top of the page.
This guide will start at the top of the Graphics config and go over almost every single setting step-by-step.
Following with some recommendations and explanations. They will obviously not work for every system and setup.
General
Display Mode
should be Fullscreen (Windowed) which is as close to native Fullscreen as possible.Resolution
should be your native monitor resolution. Default will find it for you if you click apply.Render Scale
modifications are no longer recommended due to specific bugs. Use 100%.Vertical Sync
should be Disabled unless you encounter screen tearing.Low Latency Mode
recommended is NVIDIA Reflex - Alternatively Built-in for users without a NVIDIA card.
Anti-Aliasing
- Turn it off for a slight performance gain. At the top of the Graphics section (Set to "None").
- Alternatively we recommend the following setup for clean edges and 3d rendered fonts:
Image-Based Techniques
CMAA
Raid and Battleground profile
-
Graphics Quality
can be 10. It will automatically switch over to Custom in our process of tweaking. -
Shadow Quality
should be Fair or Good. -
Liquid Detail
should be Fair or Good. -
Particle Density
is recommended on High for clean effects (mostly stuff to dodge on the ground). -
SSAO
andSunshafts
should be Disabled. -
Texture Resolution
should be High. Performance impact is almost non-existent and your game will look better. -
Spell Density
should be Essential so you see only your own abilities and important effects like healing zones. -
Projected Textures
has to be Enabled. Otherwise you will miss important void zones and die to boss mechanics. -
Environment Detail
You should set it to 1. -
Ground Clutter
You should set it to 1.
Example screenshot
- This is the Raid and Battleground section. Open world content is not affected by this.
Advanced section
- Disable
Triple Buffering
to reduce input lag. - For
Texture Filtering
the performance sweetspot is 8x but we recommend 16x on most hardware for clean texture sharpness. - Disable
Ray Traced Shadows
. - Use the
Ambient Occlusion Type
FidelityFX CACAO for the quality of lightning effects. - The
Resample Quality
is not active on 100% Render Scale unless you used the ResampleAlwaysSharpen console command. - Disable
VRS Mode
. - For
Graphics API
DirectX 12 is recommended so you can use feature flags like multi-threading and async resource creation. - Disable
Target FPS
.
Compatibility Settings
- Do not touch any checkboxes in this section. These are DirectX 12 feature flags.
- All checkboxes should be filled out which means enabled.
- Only play around with these if you have super outdated hardware and experience frequent critical errors and game crashes.
Console commands for Raid effects
/console RAIDWaterDetail 0
(Default is 0)/console RAIDweatherDensity 0
(Default is 3)
Step 2: Lua errors
Lua errors will always impact your performance. Even if you disable or hide them.
Blizzard Console Variable
- Enable the error frame with the following chat command
/console scriptErrors 1
- Reload your UI with the following chat command
/reload
BugSack and BugGrabber
- We recommend to download BugSack and BugGrabber.
- BugGrabber will catch all your Lua errors and consolidate them into a Minimap icon which you can open on click.
- This is the best way to go through your errors and share them with AddOn authors so they can fix them.
Step 3: Optimizing in General
Friendly NamePlates
- You should turn off Friendly NamePlates in Raids using the hotkey (Default is Shift-V). Even in name-only mode with hidden health bars.
- They have a major performance impact in situations where auras (Buffs and Debuffs) are applied to your Raid.
- All the health events in the background will still fire and kill your FPS (Roughly a 15 to 20 FPS loss for low-mid systems).
- This is a Blizzard bug. They just set the health bar alpha to 0 instead of fully deactivating them.
Profiling
- Profiling your CPU and Memory usage is nice, but it does impact your performance.
- Make sure to disable it with the following chat command
/console scriptProfile 0
and then/reload
- Make sure to uninstall profiling addons like AddOn CPU Usage.
Step 4: Optimize your ElvUI
General
- Adjust Tag Update Rate to something around 0.25 - 0.50 for less text tag updates per second on all frames.
Cosmetic
- Using Thin Borders, UnitFrame Thin Borders and Nameplate Thin Borders will improve your fps slightly.
ActionBars
- If you have empty and unused bars which you don't use, disable them.
- If you want to use hotkeys on a hidden bar, enable the bar and set visibility state to hide.
- Bars with mouseover set to enabled or alpha set to 0 will still update in the background and impact performance.
Cooldown Text
- We recommend to use the ElvUI Cooldown Text module instead of AddOns like OmniCC.
- Our module is optimized for ElvUI frames and (optionally) also works for WeakAuras if needed.
DataBars
- Disable bars if you don't need them. Completely disable Experience on max level.
- Turn off threat if you don't care about it.
NamePlates
- Do not use Portraits or Heal Prediction for the best performance.
- Clean up old Style Filters if you no longer use them.
Tooltip
- Disable Target Info and Role for the best performance.
- Other informations are automatically hidden in combat and won't have any impact.
UnitFrames
- Disable Smooth Bars in the Health tab of each frame (Player, Target, Party, Raid, etc).
- The bigger your Filter Priority for Buffs and Debuffs, the higher the performance impact. Try to optimize them.
- Do not use Portraits.
- Do not use Heal Prediction for all frames if you are for example a DPS or Tank and don't need the information.
Step 5: Optimize other popular AddOns
Details! Damage Meter
- Set Update Interval to at least 0.5 in
/details options
- Display - Disable Fast Updates in
/details options
- Bars: General
Plater NamePlates
- Set Update Interval to 0.5 in
/plater
- Advanced
Step 6: Disable Blizzards AddOn profiling
- Use the following chat script
/run C_CVar.RegisterCVar('addonProfilerEnabled', '1'); C_CVar.SetCVar('addonProfilerEnabled', '0')
- Confirm it successfully applied with
/dump C_AddOnProfiler.IsEnabled()
which should print false. - This process will reset after a full game restart. If you do not want to repeat this for each game session, consider the WeakAura:
- Link to the WeakAura - This will automate the process for you on each login.
- Note: This process should not be used on Public Test Realms/Clients or Beta Realms/Clients where registering CVars can crash your game.
Bonus
It is highly recommended to do a full reset of your World of Warcraft installation for each expansion release.
This is obviously something people don't like to do but a clean install will improve your stability and performance.
Don't backup any files when doing this. Especially not the WTF or Interface folders. You have to do a full reset.
You can export your profile strings, but you should not carry over old files to the new install.
Your keybinds and actionbar spell placements will not reset. They are stored on Blizzards server.
How to do a full reset
- Log in to the game and run
/console cvar_default
then logout and close the game. - Uninstall all WoW versions (Retail, Classic, Cataclysm, PTRs, Beta) in your Battle.net client.
- Close the Battle.net Client.
- Go in your drive and delete the leftover
World of Warcraft
folder. - Log back in to the Battle.net Client and start a fresh download.