iOS Resource Limits For HTML5 Games

Your HTML5 game and it's webpage may perform well on a desktop browser, but unfortunately this is no guarantee that it will perform well on iOS. This is because iOS imposes a a number of resource limits which you should keep in mind when designing your game and it's accompanying browser pages. So, you will need to try and minimize the size of your webpage and the HTML5 game that you are creating to stay within these restrictions - having unused or unnecessary images, CSS, and JavaScript in your webpages adversely affects your site’s performance on iOS.

Because of the memory available on iOS, there are limits on the number of resources it can process:

  • The maximum size for decoded GIF, PNG, and TIFF images is 3 megapixels for devices with less than 256 MB RAM and 5 megapixels for devices with greater or equal than 256 MB RAM.

    That is, ensure that width * height ≤ 3 * 1024 * 1024 for devices with less than 256 MB RAM. Note that the decoded size is far larger than the encoded size of an image.

  • The maximum decoded image size for JPEG is 32 megapixels using subsampling.

    JPEG images can be up to 32 megapixels due to subsampling, which allows JPEG images to decode to a size that has one sixteenth the number of pixels. JPEG images larger than 2 megapixels are subsampled—that is, decoded to a reduced size. JPEG subsampling allows the user to view images from the latest digital cameras.

  • The maximum size for a canvas element is 3 megapixels for devices with less than 256 MB RAM and 5 megapixels for devices with greater or equal than 256 MB RAM.

    The height and width of a canvas object is 150 x 300 pixels if not specified.

  • JavaScript execution time is limited to 10 seconds for each top-level entry point.

    If your script executes for more than 10 seconds, Safari on iOS stops executing the script at a random place in your code, so unintended consequences may result.

    This limit is imposed because JavaScript execution may cause the main thread to block, so when scripts are running, the user is not able to interact with the webpage.

    See the Safari Web Inspector Guide for how to debug JavaScript on iOS.

  • The maximum number of documents that can be open at once is eight on iPhone and nine on iPad.

Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk