Battery and performance
Motion is built to be light. Out of the box:
- It runs at 30 frames a second. A wallpaper rarely needs more.
- When nothing in a scene moves, nothing is drawn. A still picture costs nothing at all.
- It pauses a screen when a window is maximised or full screen over it, and while the screen is locked (on Windows, you can have it slow down or keep going instead).
- On a laptop you can have it pause, or slow down, on battery.
The settings that matter
They're in Motion Player, under Settings.
Performance
- Frame rate: 15, 24, 30, 60, 120, or The screen's. Every step up costs more, in proportion. 30 looks smooth for almost everything a wallpaper does; 60 is for scenes with fast motion you want to look silky.
- Sharpness: from 25% to 100%. Below 100% Motion draws the scene smaller and scales it up. At 75% you mostly won't notice, and it's a little over half the work. Soft scenes (fog, aurora, glows) hide it best.
- Lower the frame rate for slow scenes: on to start with. A scene where everything only drifts is drawn at 30 frames a second, never more than Frame rate. (On Plasma the wallpaper's own settings play the scene, and this isn't there.)
- A scene's Bloom, on its page when it offers one, barely changes the cost.
Resting and battery
- Pause a screen when a window covers it: Maximised or full screen (the default), Full screen only, or Never. A paused screen stops completely: no drawing, no listening, nothing.
- When the screen is locked: on Windows, Pause (the default), Slow down or Keep going; on Linux, always paused.
- During games and presentations: on Windows only, the same three, for while a full-screen game or program is in front or Windows' presentation settings are on. Pause is the default.
- On battery: Keep going, Slow down or Pause. On Plasma, Frame rate on battery sets how slow: 15, 24 or 30.
When more than one holds, the most restful wins. On Windows, Motion runs in Windows' efficiency mode, and slowing down means 15 frames a second at a lighter quality. Battery saver pauses it unless On battery is Keep going.
On Android, the app has Graphics presets from Battery saver to Ultra, or you can set Frames a second and Quality yourself, and choose what happens In battery saver and When not charging.
What costs what
Motion only does the work a scene asks for:
- Sound is only listened to while a scene that moves to music is showing.
- The desktop's data (now playing, the system's load, the weather) is only read while a scene shows it.
- Sensors are only listened to while a scene reads them.
- A browser engine only starts for a scene with a web layer.
- Videos decode on the graphics card.
- Slow fields of colour, such as gradients, nebulae and fog, move on at 30 steps a second whatever the frame rate, and in between the frame reuses them.
The layers themselves differ a lot. Roughly, from lightest to heaviest:
- Text, clocks, shapes, the vignette, the pointer light, and the layers that show the desktop's data: very little.
- Motes, glow orbs, light rays, stars, rain, fog, waves, fire, fireworks, lightning, falling code and the sound visualizer: a little more.
- Anything that fills the screen with a picture of its own: gradients, nebulae, pictures, videos, shaders, the real sky, glass, particle systems and 3D particles. Each is about one screen's worth of drawing.
- Water, fractals, another scene used as a layer, 3D scenes, reaction-diffusion, web pages and fluid: the most.
A few heavy layers are fine. A stack of ten full-screen blurs isn't.
Seeing the cost in Studio
The bar under Studio's preview shows two numbers, such as 30 fps · 3.2×:
- fps is how fast the preview is drawing right now.
- × is roughly how many screens' worth of drawing the scene asks for each frame. Under 4 suits any computer. Over 6 it turns amber and over 9 red; over 8 a scene wants a proper graphics card. Hover over it for the same in words.
Every layer adds to it, and so do the scene's look (bloom, grain and the rest) and each layer's effects. Hide layers with the eye to see which one costs the most.
Seeing what it costs on your computer
Show performance details puts a small panel in a corner of the wallpaper with what Motion is doing as it plays. Turn it on in Motion Player under Settings › Performance, where you also pick its corner and, with more than one screen, whether it shows on every screen or one. The tray's menu has the same switch. In Studio, Details in the bar under the preview shows it over the preview.
It says:
- fps: the frames a second drawn now.
- target: the frame rate it's aiming for and why: your Frame rate, the screen's refresh rate, a scene that only drifts (drawn at 30), or slowed on battery, while the screen is locked or during a game.
- frame: how long each frame takes to prepare on the processor (CPU) and to draw on the graphics card (GPU).
- still: the frames a second it skips because nothing in the scene moved.
- size: the size the scene is drawn at, and its share of the screen's (Sharpness below 100% draws it smaller).
- memory: the graphics memory Motion itself holds.
- GPU, clock, load and VRAM: the graphics card drawing the wallpaper, its graphics and memory clocks, how busy it is, its power and temperature, and its memory in use by everything.
- CPU: Motion's share of the processor.
- A graph of the last five seconds' frame times.
What the graphics card says depends on it and the system. NVIDIA cards say everything on Windows and Linux (through the driver's own NVML). AMD cards say their clocks, load, power and memory, through AMD's driver on Windows and the kernel on Linux. Intel graphics on Linux say their clock and power; on Windows, only the name. Phones say what they let apps read. Anything not known is left out. Motion reads the card it draws with: on a computer with a graphics card and integrated graphics, that's the card.
The panel is light. Its numbers change four times a second, and a still scene is drawn again only that often while it shows, so the frames a still scene saves stay saved. Turn it off when you're done all the same.
When a scene holds the graphics card
A scene's own shaders (Shader layers, materials, shader effects) can ask more of the graphics card than it can give. Motion watches for that, so a wallpaper never freezes the desktop:
- A frame whose scene shaders take the card more than a quarter of a second is heavy. Once heavy frames hold it for half of any 20 seconds (eight frames at least), the heaviest shaders stop being drawn for ten minutes, and the rest of the scene carries on without them. A moment of a busy card, during a game say, never stops one.
- One shader that takes more than a second and a half in a single draw, three times within 20 seconds, is stopped at once, for the same ten minutes.
- When the card had to be reset after a shader had been drawing for a second or more, that counts against it, and against its scene. A shader with two such resets within a week isn't drawn on that computer until a week after the second, and nor is any of a scene's shaders once the scene has had two. Changing a shader's code starts it afresh. A reset that wasn't a shader's doing, such as a driver update or the computer waking from sleep, counts against none.
- After a reset, the wallpaper waits 30 seconds before it starts drawing again, and twice as long each time it happens again. After three in a row the screen shows a plain gradient instead of that scene.
What was stopped, and why, is in Studio's console and the wallpaper's log. See Materials and shaders for the limits on a shader's loops.
If it's still too much
- Lower Sharpness. It's the biggest single saving.
- Lower the Frame rate to 24, or 15 for scenes that drift slowly.
- Set On battery to Slow down or Pause.
- Pick a simpler scene. 3D, fluid and big particle counts cost the most.
- In a scene of your own, use fewer full-screen effects, and give blurs a smaller radius. A scene can also change itself for slower computers: scripts read
scene.quality, which is lower on battery or a slow computer.
On an Intel laptop most scenes cost a millisecond or two of the graphics card each frame. That's the aim.
Last changed 2 November 2026. Something wrong here? Tell us.