tabooharmony/roblox-brain

roblox-performance

Use when profiling Roblox performance or diagnosing FPS, memory, network, mobile, or hot-path problems.

소스 보기
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Roblox Performance

When to Load

Use when profiling, diagnosing lag, or setting performance budgets. For code-level micro-optimizations (pooling, throttling, relevance filtering, lazy loading) load roblox-luau-patterns; this skill measures and tunes the engine.

Quick Reference

Profiling Tools

  • MicroProfiler (Ctrl+F6): Per-frame breakdown: scripts, physics, rendering. Primary tool for finding what's slow.
  • Developer Console (F9): Stats tab: memory, network, render stats. Server Stats for server-side metrics.
  • Script Profiler (Ctrl+Alt+F5): Per-script CPU usage and heap allocations.

Performance Targets

MetricStarting targetInvestigate at
Server heartbeat< 16ms> 33ms
Client FPS (desktop)60< 30
Client FPS (mobile)45< 30
Memorydevice-specificsustained growth

"Expensive" means the profiler shows it on a hot frame path (raycasts, clones, large finds, replication-heavy writes). Throttle by judgment from measurements, not a universal number, and re-measure after shipping: profile before and after on representative devices and confirm the targeted metric moved without regressions. Micro-optimizations live in roblox-luau-patterns.

Parallel Luau

  • Use Actors only after profiling identifies isolatable CPU work.
  • Workers compute; synchronize before restricted DataModel writes.
  • SharedTable and mutexes add coordination cost; they do not replace ownership boundaries.

Object Pooling

luau
-- Pre-clone, reuse. get() returns a lease token; release() requires it,
-- so duplicate or foreign releases never re-list the object.
local obj, lease = pool:get()
-- ... use obj ...
pool:release(obj, lease)

Canonical pool code (token-lease ownership): roblox-luau-patterns.

StreamingEnabled Essentials

  • On by default. Container-scoped: only Workspace descendants stream. ModelStreamingBehavior = Improved streams non-BasePart descendants with their parent Model; Legacy streams only BaseParts.
  • Streamed-out = parented to nil, not destroyed. Luau refs persist if it streams back.
  • Config (Studio): target defaults 1024, min 64; set StreamingIntegrityMode; tune from data.
  • Gotcha: FindFirstChild("DistantPart") returns nil if streamed out. Use WaitForChild with timeout.

Mobile

  • Profile geometry, textures, particles, UI, and shadows on low-end devices.
Full reference with code examples and API tables: references/full.md
같은 저장소의 Skills

더 많은 Skills

모든 Skills