Aggregating Ticks to Manage Scale in Sea of Thieves
summary
Rare engineers show that aggregating per-object Tick calls into aggregated tick collections and batching queries cuts instruction-cache churn and drops worst-case CPU costs: e.g., water-height ticks go 5.2x faster, sail updates drop ~2.5x (1.539 ms average to ~0.5 ms), overall frames improve from ~113 ms to ~43 ms on Xbox One. Tooling includes PIX, TeamCity, WPA and Unreal stat files; tick count examples fall from 786 ticks to 1, saving ~25% of BeginFrame. Prioritization uses context-sensitive prioritization by distance and scaled latency per frame.
AI-written summary · about
chapters (29)
- 0:00Intro
- 1:58What Am I Going To Cover?
- 3:02The Problem Space
- 3:58What's In a Tick?
- 5:11Testing Performance
- 6:13Analysing Performance Data
- 9:52Linear Cost Increase As Game Scales
- 11:02CPU Caches - Xbox One
- 12:14CPU Caches - Latency
- 15:06Hitting Scale
- 17:47Tick Aggregation Benefits
- 18:54Simple Aggregation Example Component for eaching the water height at its location
- 19:50The Aggregation
- 21:34Aggregation Improvement - Better Instruction Cache Coherency
- 21:52Post Aggregation - Identifying Unnecessary Work
- 22:42Post Aggregation Optimisations - Batching
- 23:57SIMD And Vectorisation
- 24:37Post Aggregation - Faster Version
- 25:49How To Scale Gracefully
- 26:34Round Robin Scheduling
- 27:08Round Robin Ticking
- 28:21Context Sensitive Prioritisation
- 28:55Priority Scaling
- 29:22Prioritisation Comparison
- 32:22Sails Cost Before Aggregation
- 33:29Sails - Parallelisation
- 34:05UParticleSystem Component
- 35:16Aggregate Tick System Flaws
- 36:31Future Work
related talks
52mOptimising your game AFTER it ships
51mOptimising Games for a Complex World
41mMaking Chorus Sing Across 10 Platforms
37mSpeeding up Game Logic in Unreal Engine
01h 00mUnreal Engine Game Optimization on a Budget
43mOptimizing animations in Unreal Engine 4
24mOptimizing and Building UI for AAA Games
05mTicks, Elixir and Gaming
