The objective is to reduce the frequency of Position Updates and disable non-essential sprite calculations that bloat the Main Thread.
File Path & Access
- Locate the Config: Navigate to
C:\Users\<YourUser>\AppData\Roaming\Vampire_Survivors\saves. - The File: Look for
settings.json. - Engine Note: If you are using the New Engine (ActionScript/C++) version, some of these flags are managed via the
renderer_settings.jsonin the game’s root directory.
Optimized “Endless Run” Configuration Table
| Parameter | Recommended Value | Technical Purpose |
vsync | false | Frees the CPU from waiting for monitor refresh signals. |
damageNumbers | false | The Performance King. Saves thousands of UI draw calls. |
flashingEffects | false | Reduces the complexity of post-processing shader passes. |
performanceMode | true | Simplifies the physics bounding boxes for enemies. |
maxParticles | 500 | Limits the purely cosmetic “death poof” animations. |
HowTo: Engineering the Survival Pipeline
Follow these GameEngineer.net technical steps to maintain 60 FPS during a Gold Farm:
- The “Damage Number” Cull: In late-game, showing 500+ “12” or “CRIT” popups per second is the primary cause of CPU thermal throttling. Setting
damageNumbers: falsecan increase performance by up to 40% because the CPU no longer has to calculate the X/Y trajectory for floating text. - Disabling “Visible Gold”: If your gold farm is causing lag, look for the
<ShowGoldCoins>tag in the JSON and set it tofalse. The engine still counts the gold, but it stops rendering the individual spinning coin sprites. - Process Affinity (Intel Hybrid CPUs): Vampire Survivors is highly dependent on a single fast core. Use Task Manager to set the game’s affinity strictly to your P-Cores. If the OS moves the collision thread to an E-Core, your FPS will drop from 60 to 15 instantly.
- The “Gem Vacuum” Optimization: To reduce the number of active objects (Nobj) on the map, focus on an “Attractorb” build. By pulling all XP gems into a single point, you reduce the engine’s “Spatial Partitioning” work, as it no longer has to track the coordinates of 5,000 separate gems.
- GPU Hardware Acceleration: Ensure
hardwareAccelerationis set totruein the JSON. Even though it’s a CPU-heavy game, offloading the sprite “Blitting” to the GPU prevents the CPU from wasting cycles on basic pixel output.
Technical Explanation: Collision Frequency and Delta Time (TΔ)
Vampire Survivors uses a grid-based collision system. When the screen is full of enemies, the engine performs N2 checks (or NlogN with optimizations).
Collision_Load=Update_RateActive_Enemies×Projectile_Count
By engineering the settings.json to enable performanceMode, you are effectively increasing the Delta Time (TΔ) between collision checks for enemies off-screen. This allows the CPU to prioritize the enemies closest to the player, maintaining a smooth gameplay experience even when the mathematical “chaos” of the run reaches its peak.