npx skills add sentinelcore/roblox-skills --skill roblox-performance
tabooharmony/roblox-brain
roblox-performance
Use when profiling Roblox performance or diagnosing FPS, memory, network, mobile, or hot-path problems.
Installation
npx skills add tabooharmony/roblox-brain --skill roblox-performance
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to dif…
33.3K installsConfigure `MaterialApp.router` using a package like `go_router` for advanced URL-based navigati…
30.3K installsProvides React Native performance optimization guidelines for FPS, TTI, bundle size, memory lea…
25K installsFramework (OSS). Integrate Expo and React Native into an existing native iOS or Android app. Us…
18.7K installsAlso in this package
Other skills from tabooharmony/roblox-brain · top by installs.
npx skills add tabooharmony/roblox-brain
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md2,967 B -
docs
SUMMARY.md129 B
History
- First seen on skills.sh
- First recorded snapshot · 547 installs
SKILL.md
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
| Metric | Starting target | Investigate at |
|---|---|---|
| Server heartbeat | < 16ms | > 33ms |
| Client FPS (desktop) | 60 | < 30 |
| Client FPS (mobile) | 45 | < 30 |
| Memory | device-specific | sustained 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
-- 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 = Improvedstreams 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](references/full.md)