YoVDO

Aggregating Ticks to Manage Scale in Sea of Thieves - Unreal Fest Europe 2019 - Unreal Engine

Offered By: Unreal Engine via YouTube

Tags

Unreal Engine Courses Game Development Courses Performance Testing Courses CPU Cache Courses SIMD Courses

Course Description

Overview

Explore techniques for efficiently managing the scale of Ticking Components and Actors in Sea of Thieves during this Unreal Fest Europe presentation. Dive into real-world optimization examples and learn how these systems integrate seamlessly with Unreal Engine 4. Discover strategies for addressing performance challenges, including CPU cache considerations, tick aggregation benefits, and methods for scaling gracefully. Examine specific optimizations like SIMD vectorization, round-robin scheduling, and context-sensitive prioritization. Gain insights into the challenges faced and future improvements planned for the aggregate tick system in this comprehensive look at performance optimization for large-scale game development.

Syllabus

Intro
What Am I Going To Cover?
The Problem Space
What's In a Tick?
Testing Performance
Analysing Performance Data
Linear Cost Increase As Game Scales
CPU Caches - Xbox One
CPU Caches - Latency
Hitting Scale
Tick Aggregation Benefits
Simple Aggregation Example Component for eaching the water height at its location
The Aggregation
Aggregation Improvement - Better Instruction Cache Coherency
Post Aggregation - Identifying Unnecessary Work
Post Aggregation Optimisations - Batching
SIMD And Vectorisation
Post Aggregation - Faster Version
How To Scale Gracefully
Round Robin Scheduling
Round Robin Ticking
Context Sensitive Prioritisation
Priority Scaling
Prioritisation Comparison
Sails Cost Before Aggregation
Sails - Parallelisation
UParticleSystem Component
Aggregate Tick System Flaws
Future Work


Taught by

Unreal Engine

Related Courses

Stanford Seminar - MIPS Open, Wave Computing
Stanford University via YouTube
Loop Analysis and Vectorization in Julia - JuliaCon 2020
The Julia Programming Language via YouTube
Intrinsic Functions and Vector Processing Extensions for SIMD Parallel Operations in C++
javidx9 via YouTube
Intrinsics - Low-Level Engine Development with Burst - Unite Copenhagen
Unity via YouTube
Writing Fast Java Code with the Vector API - JEP Café 18
Java via YouTube