Quick answer: Godot 4 game stuttering when a new texture is first drawn? GPU upload happens on first sample - pre-warm textures at level load.
First time the player sees a new enemy type, 30ms frame. Subsequent encounters are smooth.
Pre-warm textures
At level load, render every texture at least once to an off-screen viewport. Forces upload; subsequent draws are cached.
Or use Resource.uploaded
Godot 4.3+ exposes RenderingServer.texture_set_force_redraw - upload without rendering.
Disable streaming for hot assets
For high-priority assets, set Import > Streaming = false. Allocates VRAM upfront; trades memory for predictability.
“Lazy upload is great until it isn't. Hot paths need eager.”
Profile first-draw events with the Godot profiler. The pattern is unmistakable: a 30ms outlier on the first appearance of each texture.