CS2 Console Commands to Clear Blood and Decals: What Actually Works

If you've ever found yourself squinting through a wall of bullet holes, smeared blood, and scorch marks mid-match, you're not imagining the performance hit. Counter-Strike 2 renders decals dynamically, and on some setups they accumulate fast enough to genuinely affect visibility and frame rate. The good news: there are console commands that address this directly. The less straightforward part is knowing which ones do what — and how your specific setup changes the outcome.

What Are Decals in CS2?

In CS2, decals are the visual imprints left on surfaces during gameplay: bullet holes, blood splatter, smoke residue, grenade scorch marks, and impact effects. These are rendered in real time by the Source 2 engine and persist on surfaces for a set duration or until cleared.

They're not purely cosmetic. Decals consume VRAM and GPU processing overhead, and on maps with heavy firefights, they can stack up quickly. For players on mid-to-lower-end hardware, decal accumulation is a legitimate frame rate concern — not just a visual preference.

The Core Commands for Clearing Decals 🎮

CS2 inherited and updated several console commands from CS:GO, though not all legacy commands carried over identically. Here are the commands most relevant to decal and blood management:

r_cleardecals

This is the primary command. Typing r_cleardecals into the console clears all currently rendered decals from the map — including blood, bullet holes, and impact marks. It takes effect immediately and resets the visual slate without reloading the map.

Binding it to a key is how most players actually use it:

bind "key" "r_cleardecals" 

A common setup is binding it to your movement keys so it fires passively:

bind "w" "+forward; r_cleardecals" bind "a" "+moveleft; r_cleardecals" bind "s" "+back; r_cleardecals" bind "d" "+moveright; r_cleardecals" 

This clears decals continuously as you move, keeping the visual environment clean throughout the match. Some players prefer a single dedicated bind to avoid the command firing too aggressively.

r_drawdecals (Value: 0 or 1)

Setting r_drawdecals 0disables decal rendering entirely — they won't appear at all. This is a more aggressive approach: no blood, no bullet holes, no scorch marks render in the first place.

This setting has the most noticeable performance impact on lower-end hardware. On systems where VRAM is limited or the GPU struggles with Source 2's rendering pipeline, disabling decals entirely can recover meaningful frame rate headroom.

The tradeoff is a visually stripped environment. Some players find it cleaner and prefer it; others find it disorienting, particularly the absence of bullet hole feedback.

cl_decals and Related Legacy Behavior

In CS:GO, cl_decals controlled decal quality scaling. In CS2, decal management has been partially restructured under Source 2. Some legacy commands may not function as expected or may be restricted in official matchmaking contexts. Always verify whether a command works in your current build — behavior can shift with updates.

Decal Limits and Automatic Clearing

CS2 manages decals with a maximum decal count under the hood. Once the limit is reached, older decals are automatically overwritten. The exact threshold isn't exposed as a simple user-facing variable the way it was in older Source engine games.

This means even without manual clearing, the game will eventually cull old decals — but on maps with sustained firefights, you can hit that threshold quickly and experience visual noise and performance inconsistency before the automatic culling kicks in.

Manual use of r_cleardecals gives you control over when the reset happens, rather than waiting for the engine to manage it on its own schedule.

How Setup Variables Affect Your Experience

FactorHow It Affects Decal Impact
GPU VRAMLower VRAM means decals consume a larger share of available memory
Resolution / render scaleHigher resolution amplifies the per-decal rendering cost
Map designTight, high-traffic maps generate decals faster than open maps
Match formatLonger rounds = more decal accumulation before a reset
Engine updatesValve periodically adjusts decal behavior; commands may change

What Works in Matchmaking vs. Custom Servers

Most decal-related console commands are client-side and work in official matchmaking without triggering any anti-cheat flags — they affect only what you see, not gameplay state. However, some commands may be restricted by server configurations on third-party platforms (FACEIT, etc.) or in specific game modes.

r_cleardecals is widely used by competitive players and is generally considered a standard optimization, not a prohibited command. That said, it's always worth verifying against current platform rules, particularly if you play on restricted servers. 🖥️

The Performance vs. Visual Fidelity Spectrum

Players tend to land in a few different camps here:

  • Performance-focused players on older or mid-range hardware often disable decals entirely with r_drawdecals 0 and accept the visual trade-off in exchange for stable frame rates.
  • Competitive players on capable hardware typically bind r_cleardecals to movement keys to keep visuals clean without fully disabling feedback.
  • Casual or visual-quality-focused players may leave defaults as-is, relying on the engine's automatic culling.

None of these approaches is universally correct. The right configuration depends on your hardware headroom, how much visual feedback matters to your gameplay, and whether frame rate consistency is a genuine issue or a non-factor in your setup. ⚙️

The commands exist and work — what they're worth to you comes down to what your system is doing when decals stack up, and how much that affects your experience in practice.