Quick answer: Construct 3 typewriter effect causing visible flicker as characters appear? Appending to Text.Text each frame re-rasterizes the whole string — a substring-based approach is smoother.

Dialog reveals one character at a time; the text visibly jumps or flashes between updates. Each Append triggers a full re-layout.

Substring of Full String

full_text = "Hello, brave adventurer!"
chars_shown += rate * dt
text.Text = mid(full_text, 1, floor(chars_shown))

Compute the visible substring per frame. Internal layout still re-runs but on smaller text changes; reads smoother.

Frame Pacing

Tie char reveal to delta time, not frame count. 60 chars/sec, 144Hz monitor — the reveal hits every 2nd or 3rd frame instead of every frame, smoother visually.

Bitmap Font for Speed

SpriteFont (bitmap font) renders much faster than the Text object’s system-font path. For tight typewriter effects, SpriteFont reduces flicker.

Sound Beat

Pair typewriter with a per-char tick sound to mask any visual hitches. Players perceive the audio cadence; visual jitter blends in.

Verifying

Text reveals smoothly at any frame rate. No visible flicker or stutter; full string lands at the configured speed.

“Typewriter via substring + dt-driven index. Smooth at every frame rate.”

Reveal punctuation faster than letters — sentences pop without dragging. A few lines of math; big readability win.