Binary File Format Cuts Studio Load, Save and Upload Times

Binary CityThree months back, we announced our transition toward a binary file format and explained how the technology has achieved a 100x reduction in the file size of ROBLOX places and a 5-10x reduction in load/save time. We have been rolling out the new format transparently and carefully, starting with the temporary files created for “Play Solo” and “Start Server” sessions in ROBLOX Studio. This week, we finished applying the format to all of ROBLOX, including Personal Build Server saves, and local place saves, loads and uploads via ROBLOX Studio.

You can look back at our original tech article about the binary file format to understand how re-arranging data makes it work and see the results of a couple tests we ran to prove its efficacy. If you’re the anecdotal type, however, you can simply experience it for yourself by loading and saving places in ROBLOX Studio, looking at the reduction in local file sizes, and uploading content to ROBLOX.com. In general, you should notice that files are smaller and saving/loading/uploading is faster – especially when you’re working with a place built out of tens of thousands of parts.

Continue reading
     
 

Condense and Compress: Our Custom Binary File Format

Binary CityThink about the performance improvements and rendering features we’ve brought to ROBLOX in the last year. Among them are featherweight parts, fast clusters, efficient collision detection and dynamic lighting. These improvements have crushed the limits – on part count, physics simulation and aesthetic flexibility – builders once encountered and opened doors to a world of possibilities. They’ve also exposed new limits as builders have pushed the boundaries further than ever. In this article, we’ll explain how we’ve achieved an approximately 100x reduction in the file size of ROBLOX places and a 5-10x reduction in load/save time.

Think about featherweight parts. The feature, which now applies to all ROBLOX parts (as opposed to only select shapes and materials), allows you to create a ROBLOX place with tens of thousands of bricks, and have it run on both desktop and mobile devices. However, a place with tens of thousands of parts can result in a very large file. Our test place, which we’ll reference throughout this article, has 50,000 parts and weighs in at a whopping 230 megabytes. That’s big enough to affect builders in multiple ways: rendering, saving/loading, publishing, loading the place from a server and more.

Continue reading