Skip to content

FPS drop when within interaction range of any sub-level (single block reproduces) #881

@CapGogo49

Description

@CapGogo49

Description

Bug Report

Sable version: 1.2.2 (NeoForge)
Minecraft version: 1.21.1
NeoForge version: 21.1.227
Create Aeronautics version: 1.2.1 (bundled)


Description

Significant FPS drop occurs whenever the player's cursor is within interaction range (~4-5 blocks) of any sub-level, regardless of its size. The issue reproduces with a single block converted to a sub-level in a brand new creative world with no other structures nearby.


Steps to reproduce

  1. Create a new world (tested in both survival and creative)
  2. Place a single block and convert it to a physical object (sub-level) using Create Aeronautics
  3. Stand within interaction range (~4-5 blocks) and look at the sub-level
  4. Observe FPS drop
  5. Step back beyond interaction range — FPS immediately recovers, even with the sub-level still visible on screen

Expected behavior

FPS should remain stable regardless of whether the player is within interaction range of a sub-level.


Observed behavior

  • Within interaction range: FPS drops from ~30 to ~9-12 FPS, frame time spikes from 27ms avg to 54ms avg (103ms max)
  • Beyond interaction range: FPS fully recovers, even if the sub-level remains visible
  • Looking at a normal block next to the sub-level while within range: no FPS drop
  • GPU usage remains low (~11%) during the drop, suggesting a CPU-side bottleneck
  • F3 profiler shows a large yield spike on the main thread when the issue occurs

Additional observations

  • The issue is not related to sub-level size (single block reproduces it)
  • The issue is not related to rendering mods (tested with and without Sodium/ImmediatelyFast)
  • The issue is not related to Sable client config changes (tested multiple configurations)
  • The trigger appears to be the interaction raycasting against the sub-level hitbox, as the FPS drop correlates exactly with interaction range and not render distance
  • F3 displays Interpolation stopped and Networking locally on the Sable overlay during the issue

Hypothesis

The per-frame raycasting used to detect which block the player is targeting may be performing an expensive hitbox transformation into the sub-level's reference frame on every frame, causing the main thread to stall.


Mod list

create-aeronautics-bundled-1.21.1-1.2.1, sable-neoforge-1.21.1-1.2.2, create-1.21.1-6.0.10, veil-neoforge-1.21.1-3.6.2, GlitchCore-neoforge-1.21.1-2.1.0.0, ImmediatelyFast-NeoForge-1.6.10+1.21.1, sodium-neoforge-0.6.13+mc1.21.1, modernfix-neoforge-5.27.2+mc1.21.1, ferritecore-7.0.3-neoforge, geckolib-neoforge-1.21.1-4.8.4, moonlight-1.21-2.29.33-neoforge, createaddition-1.5.10, createbigcannons-5.11.3-mc1.21.1, DnDesires-1.21.1-2.2d-BETA, FarmersDelight-1.21.1-1.3.1, supplementaries-1.21-3.5.34-neoforge, jei-1.21.1-neoforge-19.27.0.340, lithostitched-1.7.0-neoforge-21.1, Terralith-1.21.x-v2.5.8, SereneSeasons-neoforge-1.21.1-10.1.0.3, legendarysurvivaloverhaul-1.21.1-2.4.2, vista-1.21-3.1.2-neoforge, bbllights-1.21-1.1.2, architectury-13.0.8-neoforge, SkyVillages-1.0.6-1.21.x-neoforge-release, Amplified_Nether_26.1_v1.2.14, creatingspace-1.21.1-1.7.13, lukis-grand-capitals-1.1.3, handcrafted-neoforge-1.21.1-4.0.3, polymorph-neoforge-1.1.0+1.21.1, toms_storage-1.21-2.3.2, create_ultimate_factory-2.2.3-neoforge-1.21.1, create_winery-2.0.2-neoforge-1.21.1, create_power_loader-2.0.3-mc1.21.1, resourcefullib-neoforge-1.21-3.0.12, artifacts-neoforge-13.2.1, cosmeticarmorreworked-1.21.1-v1-neoforge, BetterAdvancements-NeoForge-1.21.1-0.4.3.21, resource_gamma_util-neoforge-1.21.1-1.4.0, CrashAssistant-neoforge-1.20.6-1.21.4-1.11.8, orva_alarms-4.1-neoforge-1.21.1, death_keeper-1.0b, DustyDecorations_1.21.1NeoForge_V1.13, MOAdecor-SCIENCE-1.21.1.A, ritchiesprojectilelib-2.1.2-mc1.21.1-neoforge, Stackable-Potions-neoforge-1.21.1-1.0.0, Clothing_Of_The_Lowlands-1.0.8-neoforge-1.21.1, CreateDragonsPlus-1.9.0, GlitchCore-neoforge-1.21.1-2.1.0.0

Image Image

Game Log

https://mclo.gs/CAPBBBv

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions