Skip to content
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Zeslors

Powering Smarter CPU Decisions

Zeslors

Powering Smarter CPU Decisions

  • Home
  • CPU
  • Performance
  • Home
  • CPU
  • Performance
Subscribe
Close

Search

How to Lower CPU Usage in ScummVM
Performance

How to Lower CPU Usage in ScummVM

By Taylor Smith
June 19, 2026 9 Min Read
Comments Off on How to Lower CPU Usage in ScummVM

ScummVM can pin a CPU core at 100% even on modern hardware and it happens because of three things working against you at once: a software scaler that redraws every pixel on the CPU, a demanding audio emulator, and a game loop that runs as fast as the machine allows. The good news is that each of those is a setting you can change in about a minute.

This guide explains the cause briefly and then walks through every fix in order of impact. Most readers will see a big drop after the first two changes alone.

Why does ScummVM use so much CPU?

ScummVM is not an emulator in the traditional sense. It re-implements the game engines directly, which means it handles graphics, audio, timing, and input entirely in software. On most modern desktops that is not a problem. But a few default settings push the workload much higher than it needs to be.

The biggest culprit is usually the graphics pipeline. By default, ScummVM uses the SDL Surface graphics mode, which does all scaling on the CPU. A game running at 320×200 needs its pixels multiplied up to fit your screen, and that multiplication happens thousands of times per second in software. Switch the renderer to OpenGL and the GPU takes over that job, which is what GPUs are built for.

Why does ScummVM use so much CPU?
Source: racketboy

The second source of load is audio emulation. Emulating an AdLib sound card or a Roland MT-32 in software takes real processing power. The MT-32 emulator, in particular, has very high processor requirements ScummVM’s own documentation warns that ‘a fast CPU is strongly recommended.’ FluidSynth with a large soundfont file can cause the same problem.

The third factor is the game loop itself. When nothing throttles the frame rate, ScummVM loops as fast as it can, feeding work to the CPU even when the game on screen hasn’t changed. Enabling vsync caps the loop to your monitor’s refresh rate and lets the CPU rest between frames.

Fix 1: Switch the graphics mode to OpenGL

This is the single most effective change for most users. OpenGL mode hands the scaling job to the GPU, which can do it in a tiny fraction of the time the CPU would spend on it in SDL Surface mode.

To switch:

  • Open ScummVM and select the game you want to configure.
  • Click ‘Game Options’ (or the gear icon in grid view).
  • Go to the Graphics tab.
  • Set Graphics Mode to OpenGL.
  • Click OK and launch the game.

You can also change this globally in Global Options if you want it to apply to every game. The OpenGL mode also handles aspect ratio correction more cleanly than the SDL Surface mode, so the picture often looks better too.

One thing to note: in OpenGL mode the scaler setting has no effect, because the GPU handles scaling directly. You gain GPU acceleration but lose access to the software scaler list. For most games, that is a trade you should make.

Fix 2: Drop to a lighter scaler (if staying in SDL Surface mode)

If you need to stay in SDL Surface mode for any reason, the scaler you choose has a large effect on CPU load. ScummVM’s documentation is clear that every scaler other than Normal 1x carries a speed penalty.

Drop to a lighter scaler (if staying in SDL Surface mode)
Source: reddit

The scalers go from lightest to heaviest roughly like this:

ScalerCPU costImage quality
Normal 1xLowest — no scalingOriginal resolution, no filtering
Normal 2x / 3x / 4xLow — integer scaling onlyClean pixel look, no smoothing
AdvMAME 2x / 3xModerateSharpens edges using nearby pixels
Edge 2x / 3xModerate to highAnti-aliased, very clean result
HQ 2x / 3xHigh — slowest optionSmooth, high-quality anti-aliasing

If your CPU is struggling, set the scaler to Normal 2x. You get a clean doubled image with almost no processing overhead. Normal 1x runs at the original game resolution, which looks tiny on a modern display but uses the absolute least CPU.

To change the scaler, go to Game Options or Global Options, select the Graphics tab, and pick your scaler from the Scaler dropdown. Remember this setting only applies when using the SDL Surface graphics mode.

Fix 3: Choose a less demanding audio emulator

Audio emulation is often the hidden villain in ScummVM CPU problems. If your game uses AdLib music (the OPL chip sound that most classic adventure games default to), you have three emulator options in ScummVM: MAME, DOSBox, and Nuked.

According to ScummVM’s audio documentation, MAME is the least accurate of the three and uses the least CPU power, while Nuked is the most accurate and the most CPU-intensive. DOSBox sits in the middle.

For most players, MAME sounds perfectly acceptable. The accuracy difference between MAME and Nuked is only noticeable if you have a reference point to compare against.

  • To switch the AdLib emulator:
  • Open Global Options (or Game Options for a specific game).
  • Go to the Audio tab.
  • Find the AdLib Emulator dropdown (labelled ‘OPL Emulator’ in some versions).
  • Select MAME.
  • Click OK.

This one change can noticeably reduce CPU load in games with active background music.

Fix 4: Drop the MT-32 or FluidSynth emulator if you don’t need it

If you have the MT-32 emulator enabled, disable it unless you specifically want MT-32 audio. ScummVM itself describes the processor requirements for MT-32 emulation as ‘quite high,’ with a fast CPU ‘strongly recommended.’ Running it on an older or mid-range machine can peg a CPU core entirely, especially during scenes with complex music.

Drop the MT-32 or FluidSynth emulator if you don't need it
Source: synthanatomy

The same applies to FluidSynth. FluidSynth with a large soundfont can demand significant processing power. If you do want to use FluidSynth, try a smaller soundfont file a 30MB general MIDI soundfont does the job for most games and is far lighter than a 150MB orchestral one.

To check what audio device your game is using:

  • Open the game’s options (Game Options from the launcher).
  • Go to the Audio tab.
  • Check the ‘Music device’ or ‘Preferred device’ field.

If it says MT-32 or FluidSynth, switch it to AdLib (MAME) or your system’s native MIDI synthesiser.

On Windows, the native GS WaveTable Synth uses almost no CPU. On macOS, the Apple DLS software synthesizer works the same way. Neither sounds as good as MT-32 emulation, but both are essentially free in terms of processing cost.

Fix 5: Enable vsync to cap the frame rate

Without vsync, ScummVM’s game loop runs uncapped. The engine keeps drawing and redrawing as fast as the hardware allows, even when the game’s actual animation hasn’t changed. On a fast machine that means the CPU stays busy doing work that produces no visible benefit.

Enabling vsync locks ScummVM to your monitor’s refresh rate typically 60 frames per second. Once a frame is drawn, the loop waits for the display to be ready before drawing another. During that wait, the CPU is idle, which is exactly what you want.

  • To enable vsync:
  • Open Global Options.
  • Go to the Graphics tab.
  • Tick the ‘Vsync’ checkbox.
  • Click OK.

Tip: vsync works best with the OpenGL graphics mode. Combining OpenGL and vsync together gives you GPU rendering capped to your monitor’s refresh rate — the lowest CPU load ScummVM can realistically achieve.

Fix 6: Check the ‘Avoid delayMillis’ option

ScummVM includes a per-game option called ‘Avoid delayMillis’ for certain game engines, particularly Blade Runner. ScummVM’s own documentation notes explicitly that this mode ‘might result in high CPU usage.’ If you see it ticked in your game’s options and you’re experiencing high load, turn it off.

Check the 'Avoid delayMillis' option
Source: digikey

To check this:

  • Highlight the game in the launcher.
  • Click Game Options.
  • Look through the Game tab for any option mentioning ‘delay’ or ‘delayMillis.’
  • If the option is enabled and you don’t have a specific reason to use it, untick it. 

This option exists as a workaround for timing bugs in specific games, so it’s only relevant to a few titles. But it’s worth checking if nothing else has worked.

Quick-reference: all the settings in one place

Here’s a summary of every setting covered above, where to find it, and what to change it to:

SettingWhere to find itChange toExpected effect
Graphics ModeGlobal or Game Options > GraphicsOpenGLBiggest CPU drop; moves scaling to GPU
ScalerGlobal or Game Options > GraphicsNormal 2x (SDL mode only)Lower software scaling load
AdLib EmulatorGlobal or Game Options > AudioMAMELighter OPL audio emulation
Music / MIDI deviceGlobal or Game Options > AudioNative MIDI or AdLibAvoids MT-32 or FluidSynth overhead
VsyncGlobal Options > GraphicsEnabledCaps frame loop to monitor refresh rate
Avoid delayMillisGame Options > Game (specific games)DisabledRemoves busy-wait loop for affected titles

Apply these in order. Most users see the biggest gain from fixing the graphics mode first, then audio. You may not need all six changes — stop when the CPU load is acceptable for your machine.

Editing the configuration file directly

All of the settings above can also be set by hand in ScummVM’s configuration file scummvm.ini on Windows, or ~/.config/scummvm/scummvm.ini on Linux and macOS. The GUI is easier for most users, but knowing the config keys is useful if you’re scripting or copying settings between machines.

The relevant keys for the [scummvm] global section:

Config keyValue to use
gfx_modeopengl
render_mode(leave default)
opl_drivermame
vsynctrue
music_driverauto (or null for system MIDI)

The full list of configuration file keys is documented in the ScummVM configuration file reference. Game-specific settings go under a section named for each game’s target ID, and they override the global defaults.

If CPU usage is still high after all these changes

A small number of games are genuinely CPU-intensive at the engine level. Some older SAGA engine games (like Inherit the Earth) update the entire screen on every frame rather than just the parts that changed, which means they’re heavy regardless of scaler or renderer settings. 3D games in ScummVM (Grim Fandango, Escape from Monkey Island) also carry a higher baseline load than 2D games.

If CPU usage is still high after all these changes
Source: n-able

For these situations:

  • Make sure you’re running the latest version of ScummVM. The team continuously improves engine performance, and the most recent stable release (2026.2.0 as of March 2026) includes ongoing engine optimisations.
  • For 3D games, try OpenGL without shaders rather than OpenGL with shaders the shader pipeline adds GPU work that some integrated graphics cards handle poorly, which then pushes more load back to the CPU.
  • On laptops, check your power plan. Running ScummVM on a power-saver profile can throttle the CPU below what the game needs. Setting the machine to balanced or high performance can help it handle the load smoothly, at the cost of battery.
  • If your machine has an integrated GPU shared with the CPU (common in laptops), OpenGL mode still helps but can’t reduce load as dramatically as it does on a discrete GPU, because both share the same chip power budget.

Frequently asked questions

Why is ScummVM using 100% CPU on a fast computer?

Usually because the game loop is running uncapped and the SDL Surface renderer is doing all the pixel scaling in software. Enable vsync and switch to OpenGL mode in Global Options. Those two changes together bring most systems from 100% down to under 20%.

Does changing the graphics scaler actually reduce CPU load?

Yes, but only when using the SDL Surface graphics mode. Scalers like HQ 2x and HQ 3x use lookup tables and process every pixel, so they’re noticeably heavier than Normal 2x. If you switch to OpenGL mode, the scaler setting has no effect — the GPU handles scaling instead.

Will switching to the MAME AdLib emulator affect how the music sounds?

There is a small accuracy difference between MAME and the Nuked emulator, but it is subtle and most players can’t hear it without a direct comparison. MAME emulates the OPL chip well enough that all the music plays correctly — it just skips some of the finer emulation details that eat CPU.

Is there a way to limit ScummVM CPU usage from outside the app?

You can lower the process priority using Task Manager on Windows (right-click the process > Set Priority > Below Normal) or the nice command on Linux. This doesn’t reduce the raw work ScummVM does, but it lets other processes get more CPU time. Fixing the settings inside ScummVM is always better than throttling it from outside.

Conclusion

ScummVM’s high CPU usage almost always comes down to the same three causes: software rendering in SDL Surface mode, a heavy audio emulator, and an uncapped game loop. Switching the graphics mode to OpenGL is the biggest single fix. Pairing that with the MAME AdLib emulator and vsync enabled takes care of the other two. Most players who go through these steps end up with CPU usage well below 20%, even on older hardware, and the games play exactly as they should.

Recommended Articles:

How to Test the Thermal Lottery on a CPU

How to Clear CPU Cache (and What Actually Speeds Up a Slow PC)

How a CPU Is Made: The Full Manufacturing Process

Author

Taylor Smith

Follow Me
Other Articles
How a CPU Is Made
Previous

How a CPU Is Made: The Full Manufacturing Process

super simple cpu instruction set
Next

What Is a Super Simple CPU Instruction Set? A Plain-English Guide

Recent Posts

  • The Best CPUs With Integrated Graphics Right Now
  • AMD Ryzen 7 3700X Drivers: What You Actually Need to Install
  • What Temperature Should My CPU Be When Gaming?
  • AMD vs Intel for Gaming: Which CPU Should You Actually Buy?
  • What Is a Normal CPU Temperature? Idle, Gaming, and Load Ranges

Recent Comments

No comments to show.

Archives

  • September 2026
  • August 2026
  • July 2026
  • June 2026

Categories

  • CPU
  • Performance

Footer Menu

  • About Us
  • Contact Us
  • Privacy Policy

Categories

  • Home
  • CPU
  • Performance
  • The Best CPUs With Integrated Graphics Right Now
  • AMD Ryzen 7 3700X Drivers: What You Actually Need to Install
  • What Temperature Should My CPU Be When Gaming?
  • AMD vs Intel for Gaming: Which CPU Should You Actually Buy?
  • What Is a Normal CPU Temperature? Idle, Gaming, and Load Ranges

About US

Zeslors is your simple and friendly home for everything about CPUs. We believe that understanding your computer’s processor should not feel hard or scary. That is why we explain things in plain, easy words that anyone can follow, whether you are just starting out or you already love tweaking your hardware.

Copyright 2026 — Zeslors. All rights reserved. Blogsy WordPress Theme