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.