Balatro: Best config.json for CRT Effect Performance

The objective is to optimize the Post-Processing Pipeline to reduce the GPU’s “Fill Rate” stress without making the game look like a standard flat spreadsheet.

File Path & Access

  1. Locate the Config: Navigate to %AppData%\Balatro\settings.json. (Note: Balatro primarily uses settings.json for its configuration, which acts as the game’s manifest).
  2. Tool: Open with any text editor.
  3. Pro Tip: If you want to force a specific rendering API, you may need to add launch options in Steam, as Balatro uses the LÖVE (Lua) engine.

Optimized “High-Stakes” Configuration Table

ParameterRecommended ValueTechnical Purpose
crt_intensity0.5The Sweet Spot. Provides the effect with 30% less shader load.
bloom_intensity0.3Reduces the “glow” radius to prevent VRAM bandwidth spikes.
pixel_art_scaling6 (Integer)Ensures clean lines without the blur of non-integer scaling.
high_quality_shadersfalseDisables secondary light-bounce math on the background.
fps_cap60 or MonitorHzPrevents the engine from over-rendering static screens.

HowTo: Engineering the Balatro Visual Pipeline

Follow these GameEngineer.net technical steps to achieve the perfect balance of “Retro” and “Performance”:

  1. The “Scanline” Efficiency: The CRT effect in Balatro works by overlaying a grid of dark pixels. In settings.json, setting crt_intensity to 0.5 (or 50% in-game) reduces the complexity of the Alpha Blending ($A_{blend}$) required. This is especially useful for mobile or low-power APUs.
  2. Disabling “Screen Shake”: While immersive, screen shake during large “Mult” triggers forces the GPU to re-render the entire coordinate system ($X, Y$) of the UI. Setting screen_shake = 0 provides a significant stability boost during “Endless Mode” runs.
  3. The Master Shader Toggle: If you are experiencing major lag, find "high_quality_shaders": true and change it to false. This removes the “wavy” background effect. It makes the background static, which reduces the GPU Core Clock requirement by nearly $40\%$.
  4. Optimizing Windowed Mode: If you play in windowed mode, ensure your settings.json has fullscreen = false but set the resolution to exactly match your desktop. This allows the Windows Flip Model to take over, which handles the CRT shader transparency much more efficiently than “Exclusive Fullscreen.”
  5. VRAM Management: Balatro caches card art as textures. If you have many “Shiny” or “Negative” cards on screen, your VRAM usage can spike. Ensure your Shader Cache in the NVIDIA/AMD panel is set to at least 1GB to prevent the game from re-compiling the CRT effect every time a card flips.

Technical Explanation: Shader Passes and CRT Simulation ($S_{crt}$)

The CRT effect in Balatro is a Multi-Pass Shader. First, the game renders the card logic; second, it applies the distortion (curvature); third, it overlays the scanlines.

$$Total\_Latency = T_{render} + (T_{distort} + T_{scanline})$$

By engineering your config to lower the crt_intensity, you aren’t just making it dimmer; you are simplifying the Mathematical Weight of the $T_{scanline}$ pass. This allows the GPU to finish the frame-draw faster, keeping your “Game Speed” (even at 4x or 8x) perfectly fluid without the cards “stuttering” across the table.

Leave a Comment