promotional bannermobile promotional banner
premium banner
A client-side performance fix for Valkyrien Space Star Wars (VSSW) on Forge 1.20.1.

Description

Fixes significant FPS drops that occur when multiple idle ships with thrusters are within render range. Tested with 20+ ships carrying 94 thrusters — total ship block entity rendering cost drops from ~34% of the client frame to ~17%.


What does it fix?

Every thruster on every VSSW ship runs an expensive renderTick() call every frame, even when the ship is completely idle with no thrust. This method performs a VS2 ship matrix lookup (getClientShip()) and several quaternion transforms — multiplied across dozens of thrusters across many ships, this adds up fast.

VSSW Client Fix skips renderTick() entirely for thrusters on ships beyond a configurable distance from the player, eliminating the per-frame VS2 overhead for ships you can't meaningfully interact with.


Features

  • Automatic thruster culling — thrusters on distant ships skip their expensive per-frame VS2 ship matrix lookups
  • Particle cleanup — the particle cube HashSet is cleared for culled thrusters, preventing stale particles from rendering
  • Single config value — just set cullDistance in blocks, done
  • Client-side only — install only on your client, no server changes needed
  • Compatible with Embeddium / Radium / Sodium — uses a Forge event + targeted Mixin, no conflicts with the Embeddium rendering pipeline

Configuration

After first launch, edit config/vssw_client_fix.properties:

 
 
properties
# Thrusters on ships beyond this distance (in blocks) skip their
# expensive per-frame VS2 ship matrix lookups. Default: 100
# Set to 99999 to disable.
cullDistance=100.0

Restart required after changing the config.


Requirements

Dependency Version
Minecraft 1.20.1
Forge 47.x
Valkyrien Skies 2 Any
Valkyrien Space Star Wars (VSSW) 0.6.x