Game News

Riot will use WebAssembly and WebWorkers to upgrade and fix the Client

Published: 02:40, 21 September 2021
League of Legends new client
An older client from a simpler time before season 11

Riot's Client has been a source of headaches for years now. And, while they have been fixing and patching it up, you could always expect it to go wrong at some point. Now we can see exactly how they plan to fix it permanently.

Chromium-based apps are some of the fastest-growing tools and programs in software development today. You’re probably already using a Chromium app to read this article, to chat in Discord with your friends, and to listen to that playlist of the same 10 songs on repeat for the 100th time. Every single one of those applications uses Chromium, and so does the client. Updating the client's Chromium Embedded Framework version gives us access to Chromium's newer features and improvements.

WebAssembly is a code format that can run complex instructions much faster than base JavaScript, which is what many apps in the client still run on. CEF basically emulates a specialized "mini-computer" within the client that uses WebAssembly to process code more efficiently. Because WebAssembly supports a wide variety of programming languages, it makes reusing existing code easier while also giving a performance advantage that comes with running processes in that specialized "mini-computer".

WebAssembly is slowly being adopted across the web, and support in Chromium improves with each release. Having access to WebAssembly will make the client faster and let Riot do things they couldn't do before.

Then there's WebWorkers. Historically, Chromium apps run synchronously, meaning they process one line of code at a time. That's like having one single worker on the entire factory line, whereas Web Worker*S* scale up the team so you can run multiple lines of code alongside each other. A Chat WebWorker could handle all things chat, while the main client focuses on getting you into a game. So if you've got a particularly talkative friend asking you for Teemo build suggestions, that conversation would no longer slow down the rest of your client experience. WebWorkers will also make the client faster.

Riot Games League of Legends - Udyr VGU If we're getting a new client, give us a new Udyr as well

Even without writing new code to take advantage of these new features, updating CEF alone has already made the client faster thanks to better handling of the JavaScript Riot have already written. As they mprove other areas of the client, they can focus on methods that work well with native performance improvements, in the future.

Latest Articles
Most Popular