new dog, old tricks: running halo 3 without a hard drive
DESCRIPTION
TRANSCRIPT
![Page 1: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/1.jpg)
New Dog, Old Tricks:Running Halo 3 Without a Hard Drive
Mat NoguchiBUNGIE Studios
![Page 2: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/2.jpg)
Loading... Done:How to Think About Content
Mat NoguchiBUNGIE Studios
![Page 3: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/3.jpg)
Next gen is more
• More CPU: 6x or more• More RAM: 8x• More GPU: bajillion
![Page 4: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/4.jpg)
Next-gen is more I/O bound
• I/O transfer speed: 2x• I/O latency: ~1x• DVD size: ~1x
![Page 5: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/5.jpg)
What is Next-gen streaming?
• For players–Minimal load times–Wide and deep content
• For the platform– Run (well) on all configurations
• For developers– Designers– Programmers– Producers
![Page 6: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/6.jpg)
Overview
• High level I/O design• What to load• Loading• RTM!
![Page 7: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/7.jpg)
Case study: The Storm
• Total content size: 1,226 MB• Available content memory: 334.8 MB
![Page 8: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/8.jpg)
PART 1: HIGH LEVEL I/O DESIGN
![Page 9: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/9.jpg)
Goals
• Minimum quality guarantees• Maximize I/O performance• Globally optimizable
![Page 10: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/10.jpg)
Policies
• One system to rule content I/O• Usage based optimizations
![Page 11: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/11.jpg)
DVD vs. HDD
• DVD– 6-18 MB/s– 100-240 ms seek times
• HDD– 17-30 MB/s– 10-30 ms seek times
![Page 12: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/12.jpg)
DVD vs. HDD
DVD HDD
Sequential I/O
12 MB/s 17 MB/s
Random I/O
~850 kB/s250 ms seeks
~6290 kB/s37 ms seeks
Reliability Variable Constant
![Page 13: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/13.jpg)
DVD vs. HDD
DVD HDD
Sequential I/O
Good Good
Random I/O
BAD! Okay
Reliability Variable Constant
![Page 14: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/14.jpg)
DVD vs. HDD
DVD HDD
Sequential I/O
Good Good
Random I/O
BAD! Okay
Reliability Variable Constant
![Page 15: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/15.jpg)
Goals: Maximizing I/O performance
MINIMIZE SEEKS!
![Page 16: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/16.jpg)
Classifying content by access
• Global data: 49.2 MB– Always loaded–Metadata– References to resources
• Resources: 1,177 MB– Everything else – Can be unloaded
![Page 17: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/17.jpg)
Classifying resources by access
• Required– Required for correct behavior• Textures (N-1 mipmaps)• Geometry• Animation
• Optional–More detailed/richer experience• Highest texture mipmap
![Page 18: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/18.jpg)
Goals: Minimum quality guarantees
• Required resources– HARD CONSTRAINT!– Assume this data is available
• Optional resources– Flavor!– Check this data is available
![Page 19: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/19.jpg)
I/O behavior by resource
• Required resources– Synchronous/Blocking
• Optional resources– Asynchronous/Background
![Page 20: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/20.jpg)
Sound...
• Streaming sound implies Random I/O• Is sound Optional?– HDD: Yes– DVD: Not exactly
![Page 21: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/21.jpg)
Sound... the big giant screw (again!)
566 MB!
![Page 22: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/22.jpg)
Sound... the big giant screw (again!)
• Why so big?– Everything makes a sound– Repetition is annoying
![Page 23: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/23.jpg)
What sound can we stream?
• Not a lot for DVD– Streams == Seeks– Seeks == BAD!
• Stream sounds resilient to latency–Music–Mission dialogue–Multiplayer announcer
• Everything for HDD
![Page 24: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/24.jpg)
How can we cull sound?
• Accept repetition• … except for footsteps• … and dialogue (crap!)
![Page 25: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/25.jpg)
Why is dialogue so bad?
• Repetition is annoying• Repetition is annoying• Repetition is annoying• … unless you are making a point• Such as: repetition is annoying
![Page 26: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/26.jpg)
AI dialogue tree branch:Praise
prsprs_plr_gdgrnd
prs_plr_killprs_plr_kll_blt
prs_plr_kll_mjr
prs_plr_kll_vcl_bmp
prs_plr_kll_wmelee
prs_plr_arb
prs_plr_mc
prs_plr_kll_lots
prs_plr_sniping
![Page 27: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/27.jpg)
Full AI dialogue tree
• (The full dialogue tree makes PowerPoint choke)– 97 top vocalizations– 143 first level vocalizations– 23 second level vocalizations
![Page 28: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/28.jpg)
Full AI dialogue tree size
• 295 MB(!), 19788 lines• Count, Size by specializations– 130 MB, 9331 lines for top vocalizations– 143 MB, 1214 lines for first level
vocalizations– 22 MB, 1214 lines for second level
vocalizations
![Page 29: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/29.jpg)
Shrinking AI dialogue
• Remove virtually all dialogue• Add back– Involuntary dialog– Sound designer specified dialog• “Take it!”• “Found enemy!”• “Where did they go?”
![Page 30: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/30.jpg)
This is for DVD-only!
• HDD will always sound great!
![Page 31: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/31.jpg)
So... what?
![Page 32: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/32.jpg)
Checkpoint...The Storm: DVD Working Set
• Available memory: 334.8 MB• DVD working set : 514.2 MB– Global data: 49.2 MB– Required resources: 465 MB• Textures: 216.6 MB• Geometry: 138 MB• Sound: 70.5 MB• Animation: 39.9 MB
![Page 33: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/33.jpg)
PART 2: WHAT TO LOAD
![Page 34: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/34.jpg)
Mapping resource usage to position
NOT DRAWN TO SCALE!
![Page 35: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/35.jpg)
Mapping resource usage to position
• Break up into sections, a.k.a BSPs
![Page 36: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/36.jpg)
Mapping resource usage to position
![Page 37: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/37.jpg)
Multiple bsps = Zone set
• Example: “Intro”
![Page 38: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/38.jpg)
Multiple bsps = Zone set
• Example: “First Encounter”
![Page 39: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/39.jpg)
Zone set activation volumes
Loading…Loading… done
Active zone set: “Intro”Active zone set: “First Encounter”
![Page 40: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/40.jpg)
Checkpoint... The Storm: DVD Working Set
• Available memory: 334.8 MB• DVD working set: 375.8 MB– Global data: 49.2 MB–Max zone-set resources: 148.7 MB– Sandbox resources: 177.9 MB
![Page 41: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/41.jpg)
Scarab
![Page 42: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/42.jpg)
Ghost
![Page 43: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/43.jpg)
Brute
![Page 44: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/44.jpg)
Sandbox resources
• NOT DRAWN TO SCALE!
![Page 45: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/45.jpg)
Restrict sandbox resources per zone set
• Zone set: “Intro”
• Disallow:
![Page 46: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/46.jpg)
Restrict sandbox resources per zone set
• Zone set: “Intro”
![Page 47: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/47.jpg)
Checkpoint... The Storm: Working Set
• Available memory: 334.8 MB• DVD working set: 308.9 MB– Global data: 49.2 MB–Max zone-set resources: 259.7 MB
• Available memory > DVD working set• Hooray!
![Page 48: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/48.jpg)
Checkpoint... The Storm: Working Set
• HDD working set: 258.1 MB– Global data: 49.2 MB–Max zone-set resources: 208.9 MB
![Page 49: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/49.jpg)
PART 3: LOADING...Finally!
![Page 50: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/50.jpg)
Canonical streaming model
Streaming (I/O)
Game Thread
Render Thread
Resource
Access State
![Page 51: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/51.jpg)
Canonical streaming conflicts
Streaming (I/O)
Game Thread
Render Thread
Resource
Access State
![Page 52: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/52.jpg)
Halo 3 streaming model
Game Thread
Render Thread
Cached Resour
ce Access State
Streaming (I/O)
Resource
Access State
![Page 53: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/53.jpg)
Halo 3 streaming model
Game Thread
Render Thread
Streaming (I/O)
Resource
Access State
Cached Resour
ce Access State
![Page 54: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/54.jpg)
Resource access stateresource address
<resource> <address>
<resource> <address>
<resource> <address>
… …
![Page 55: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/55.jpg)
Generic loading process
• Determine working set• Load• Publish
![Page 56: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/56.jpg)
Generic using process
• Grab published access object• Run frame/tick/loop• Release published access object
![Page 57: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/57.jpg)
Required loading process
• Determine working set• Load• Publish
![Page 58: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/58.jpg)
Required loading process
• Determine working set from active zone set
• Blocking Load required resources• Publish
![Page 59: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/59.jpg)
Transitioning between zone sets
![Page 60: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/60.jpg)
Zone set transitions
ZOMG!
![Page 61: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/61.jpg)
Intro <-> First Encounter
![Page 62: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/62.jpg)
Intro <-> First Encounter
![Page 63: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/63.jpg)
Intro <-> First Encounter
![Page 64: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/64.jpg)
Intro <-> First Encounter
![Page 65: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/65.jpg)
Intro -> First Encounter
Loading… done
![Page 66: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/66.jpg)
Checkpoint...The Storm: Available memory
• Final build, HDD– Available memory: 390.1 MB– HDD Max required memory: 258.1 MB
• HDD Available memory: 132 MB!
![Page 67: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/67.jpg)
Generic I/O scheduler
Scheduler
I/O Reque
st
I/O Reque
st
I/O Reque
sts
I/O Reque
st
![Page 68: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/68.jpg)
Pop Quiz!
• Optimal # of I/O in flight – 1– 2– 6– Infinity– None of the above– I don’t know
![Page 69: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/69.jpg)
Pop Quiz!
• Optimal # of I/O in flight: Zero
![Page 70: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/70.jpg)
Pop Quiz!
• Optimal # of I/O in flight: 1
![Page 71: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/71.jpg)
Generic I/O scheduler
• Un-bad generic solution• Not-good specific solution
![Page 72: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/72.jpg)
Optional I/O scheduler
• One I/O at a time• Fast changeover• Priority
![Page 73: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/73.jpg)
Optional I/O Scheduler
• Desired resources– {A, B, C}
• Loaded resources– {C, D, E}
• To-load resources– {A, B}– Desired - Loaded
![Page 74: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/74.jpg)
Optional I/O scheduler [fix]
SchedulerI/O
Request
Desired{…}
Loaded{…}
![Page 75: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/75.jpg)
Optional I/O priority [fix]
SchedulerI/O
Request
Desired Soon{…} Loaded
{…}Desired Later{…}
Desired Now{…}
![Page 76: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/76.jpg)
Optional I/O optimizations
• Bounded set == bit vector• Bit vector ordered by optimal load
order• Minimum seeks!
![Page 77: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/77.jpg)
PART 4: RTM!
![Page 78: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/78.jpg)
Total game size
• Total: 15.06 GB–Main menu: 91.25 MB–Multiplayer: 4.27 GB– Campaign: 10.70 GB
![Page 79: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/79.jpg)
Shared resource files
• Commonly used resources in global files–Multiplayer & Campaign– Campaign only
![Page 80: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/80.jpg)
Total game size, shared maps
• Total: 7.07 GB–Main menu: 82.0 MB– Shared: 927 MB–Multiplayer: 1.67 GB– Campaign: 5.37 GB
![Page 81: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/81.jpg)
FULL GAME OPTIMIZATION:FRANKENBUILD
Super Ninja Art!
![Page 82: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/82.jpg)
Optimizing map layout
• Determine resource “usage”– “Usage” == all zone sets is it used in
• Package resources with identical “usage”
![Page 83: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/83.jpg)
Optimizing single map layout
Optimized Map Layout
Zone usage key
Zone usage key
Zone usage key
![Page 84: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/84.jpg)
Optimizing shared map layout
• Determine shared resource “global usage”– “Global usage” == all maps and zone
sets is it used
• Package shared resources with identical “global usage”
![Page 85: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/85.jpg)
Optimizing shared map
Optimized Shared Map Layout
Map/Zone usage key
Map/Zone usage key
Map/Zone usage key
![Page 86: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/86.jpg)
Relink map files
• Obvious diagram (and SmartArt spew)Origi
nal map
Optimized
layout
Optimized map
![Page 87: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/87.jpg)
Total game size, Frankenbuild
• Total: 5.36 GB–Main menu: 52.6 MB– Shared: 704 MB–Multiplayer: 1.06 GB– Campaign: 3.55 GB
![Page 88: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/88.jpg)
Don’t throw stuff away!that you need... later
• Don’t unload shared resources– Store disk location with each resource
before loading next map–Match resources based on disk location
before loading more data
• Preload map resources from main-menu– Load resources for next map, then
associate disk location for each resource
![Page 89: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/89.jpg)
Halo 3: Optimized for Hard drive
• Framework for content usage• Minimize or eliminate load times• Guaranteed gameplay experience
![Page 90: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/90.jpg)
Target Streaming for Massive Damage
![Page 91: New Dog, Old Tricks: Running Halo 3 Without a Hard Drive](https://reader034.vdocuments.mx/reader034/viewer/2022051610/5498b643b47959a8588b4768/html5/thumbnails/91.jpg)