- Current Next Gen Games are IO bound.
- DVD drive supports about 12MB/s transfer rate
The key item impressed by Matt was to minimize seeks. When using hdd, the problem is much less pronounced, but with systems that might not have hdd, the system must work with at least just DVD drive.
Break the levels down to required and optional resources.
- Required resources -> blocking to load/synchronous
- Optional resources -> non-blocking to load / asynchronous
Sound assets are huge issue (level 5 in H3 has 566MB of sound assets alone)
- Cannot stream sound from DVD (only HDD)
- Solution is to cut out AI dialogue when on DVD only (limited experience)
- With HDD, stream everything (speed much less issue)
Break up levels into zone sets with transitional volumes created by designers. Trigger volumes will (pre-cache) assets required as need (and evict non-required ones). Bungie had to limit objects used in each zone set (to keep under mem limit of ~334.8MB).
Next problems, thread contention (game thread/render thread). Solution was to provide a further abstraction from resources as the streaming IO is loading/evicting resources (use another cache).
Last optimization was layout of items on disk. Global or shared items (used in most levels) should be written to DVD at same location to allow sequential IO (much faster). All games assets in H3 totalled 15GB, but after optimization and culling were under 7GB.