Bungie Responds to Halo 3 NXE HDD Load Time Lag
Last week, I spent a few days measuring performance of the New Xbox Experience install to hard disk feature. Eurogamer editor Tom Bramwell suggested a list of top 360 games we should put to the test. Equipment used? My NTSC Xbox 360 Elite (used alongside my debug station for all the EG features) combined with the 20GB HDD from a PAL launch machine. The full feature is here.
Typically you could expect to see a 30 percent speed increase in loading times, with The Orange Box’s major games actually loading twice as quickly. However, Halo 3 actually took a big hit in its loading times, which were hardly swift to begin with. Cropped from the Eurogamer piece:
I was curious to try out Halo 3 because its Campaign mode loading runs so slowly that I remember thinking at the time that my DVD drive must be on its way out (or that I had a dodgy copy of the game), but its sloth-like streaming is actually even slower once the data is installed to hard disk, with disc and drive completely removed from the equation...
The Campaign mode appears to be caching a lot of stuff from DVD to hard disk - load one campaign, then the next, then return to the original and you’ll find that it’ll load much faster than it did the first time. I could only imagine in this case that the hard disk is being read twice over, with less than impressive results…
I actually contacted Bungie streaming mastermind Mat Noguchi for comment before the piece was published, but alas he was away until after the EG piece was published. I was then pinged by Brian Jarrard to say that this would be tackled in a Bungie weekly update, but only after NXE was unleashed.
Well, Brian was true to his word and the official explanation is here. Bottom line: I was right. Halo 3 caches maps to hard disk, and with NXE it’s caching them from the hard disk to the hard disk - a bottleneck that more than nullifies the speed increase we saw in all other games.
The Xbox 360 HDD has a section for games to use called the utility partition. Games can use this section for whatever they want to; Halo 3 uses the utility partition to cache maps as they will load faster off the HDD than off the DVD. As a side note, the utility partition can be deleted when other games are played...
So then the real question is why is copying from HDD to HDD slower than copying from DVD to HDD? In the first case, you are reading from one I/O device (HDD) and writing to the same I/O device (HDD)… In the first case, because we are reading and writing to the same device, the total copy time is the amount of time it takes to read the map plus the time it takes to write the map. Ultimately this is because for the HDD, you read and write through the same mechanism, i.e., the hard drive read/write head, and those reads and writes cannot occur simultaneously through a single mechanism...
In short, Bungie streams data from the DVD to hard disk as fast as it can. It’s a one-way process with all components working at maximum speed. However, with NXE, the bandwidth from the DVD is gone and the HDD’s bandwidth is halved, plus the head that reads the data has to zoom about across the disk surface, wasting more time. Try copying a file from one hard disk to another on your PC. Then do the same but with two files simultaneously - the time it takes will most likely fall to less than 50%. It’s the same principle.
Unfortunately Bungie also says that this is unlikely to be patched (though will be optimised for Halo 3: Recon) and NXE installation isn’t recommended for multiplayer games as DVD users will be waiting longer to start games as HDD users take longer to load the levels…
Additional: Thanks to AlStrong of the Beyond3D forum for pointing me in the direction of Powerpoint presentation in the Office 2007 format, detailing the trials and tribulations of Bungie’s efforts in streaming Halo 3.