FORZA MOTORSPORT
Streaming Massive Environments
From Zero to 200MPH
Chris Tector (Software Architect Turn 10 Studios)
Streaming Massive Environments From Zero to 200MPH Chris Tector - - PowerPoint PPT Presentation
FORZA MOTORSPORT Streaming Massive Environments From Zero to 200MPH Chris Tector (Software Architect Turn 10 Studios) Turn 10 Internal studio at Microsoft Game Studios - we make Forza Motorsport Around 70 full time staff Streaming
FORZA MOTORSPORT
From Zero to 200MPH
Chris Tector (Software Architect Turn 10 Studios)
2
Turn 10
Streaming Massive Environments
3
Why am I here?
Streaming Massive Environments
4
Why are you here?
Streaming Massive Environments
5
At Turn 10
Streaming Massive Environments
6
Streaming
Streaming Massive Environments
7
Massive Environments
Streaming Massive Environments
8
Zero
Streaming Massive Environments
9
200
Streaming Massive Environments
10
Running Example
Streaming Massive Environments
11
Factors to Optimize for
Streaming Massive Environments
12
The Hierarchy
Streaming Massive Environments
13
Massive Model Visualization in Research
Streaming Massive Environments
14
Typical massive model visualization hierarchy
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
15
Disk
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
16
Disk to Compressed Cache
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
17
Compressed Cache
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
18
Compressed Cache to Heaps
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
19
Decompressed Heap
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
20
Multiple Levels of Texture Storage
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
21
Multiple Levels of Geometry Storage
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
22
Memory to GPU/CPU Cache
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
23
GPU/CPU Caches
Streaming Massive Environments
Disk/Local Storage Compressed Cache Decompressed Heap GPU/CPU Caches GPU/GPU
24
Running Example
Streaming Massive Environments
25
The Pipeline
Streaming Massive Environments
26
Pre-Computed Visibility
Streaming Massive Environments
27
Culling – Given this View
Streaming Massive Environments
28
Could do it at Runtime
Streaming Massive Environments
29
Pipeline
Streaming Massive Environments RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
30
Linearize the Space
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
31
Track Space
Streaming Massive Environments
32
How do we Sample
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
33
Sampling
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
34
Size Reduction
Streaming Massive Environments
processing
zone
binary visibility
drastically reduced for the runtime
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
35
Splitting
Streaming Massive Environments
into the track
greater opportunities for instancing, the less this step does since we don’t split instanced objects
amounts unique geometry
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
36
Building
Streaming Massive Environments
chain from 32x32 down to 1x1)
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
37
Optimization
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
38
Working Set
Streaming Massive Environments MODEL LIST TEXTURE LIST PREVIOUS ZONE CURRENT ZONE UNION INTO SET TEXTURE WORKING SET
PIXEL COUNT MODEL LIST TEXTURE LIST MODEL LIST TEXTURE LIST NEXT ZONE
39
Optimization Mechanism
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
40
Optimization Criteria
Multiple Reduction Passes
Streaming Massive Environments
set of zone n+1
bandwidth (Assuming zone physical size and maximum racing speed you can calculate the time allowed to stream the set)
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
41
Running Example
Streaming Massive Environments
42
Optimization
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
43
Runtime
Streaming Massive Environments
help with fragmentation)
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
44
Runtime Considerations
Streaming Massive Environments
RUNTIME OPTIMIZATION BUILDING SPLITTING SAMPLING
45
Flythrough Demo
Streaming Massive Environments
46
Errors
Streaming Massive Environments
system throughput)
results)
textures
47
Future Directions
Streaming Massive Environments
48
Finally
Streaming Massive Environments
49
Questions?
Streaming Massive Environments
FORZA MOTORSPORT
From Zero to 200MPH
Chris Tector (Software Architect Turn 10 Studios)