Skip to Content
HTML5 Games: Creating Fun with HTML5, CSS3 and WebGL, 2nd Edition
book

HTML5 Games: Creating Fun with HTML5, CSS3 and WebGL, 2nd Edition

by Jacob Seidelin
March 2014
Beginner to intermediate
456 pages
8h 44m
English
Wiley
Content preview from HTML5 Games: Creating Fun with HTML5, CSS3 and WebGL, 2nd Edition

Chapter 5

Delegating Tasks to Web Workers

In This Chapter

• Introducing Web Workers

• Describing major API functions

• Looking at examples

• Creating a worker-based board module

IN THIS CHAPTER , I show you how to use Web Workers, a cool feature that came out of the Web Hypertext Application Technology Working Group (WHATWG; refer to Chapter 1 for more on this group). I begin by describing what workers can do, their limitations, and the functions and objects available to them.

I then move on to a few simple examples and show you how to move a CPU-intensive task to a worker to keep the browser responsive to user interaction.

Finally, I show you how to use Web Workers to create a worker-based version of the board module you implement in Chapter 4.

Working with Web Workers

JavaScript is single threaded by design. You cannot run multiple scripts in parallel; the browser processes any request you send it in a serial manner. When you use functions such as setTimeout() and setInterval(), you may think you're spawning separate threads that run independently from the main JavaScript thread, but in reality, the functions they call are pushed onto the same event loop that the main thread uses. One drawback is that you cannot have a function that blocks the execution and expect the browser to behave. For example, the XMLHttpRequest object used in Ajax has both synchronous and asynchronous modes. The asynchronous mode is used the most by far because synchronous requests tie up the thread, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Making Isometric Social Real-Time Games with HTML5, CSS3, and JavaScript

Making Isometric Social Real-Time Games with HTML5, CSS3, and JavaScript

Mario Andres Pagella

Publisher Resources

ISBN: 9781118855454Purchase book