Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6666855
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T02:52:20+00:00 2026-05-26T02:52:20+00:00

Intent on creating a canvas-based game in javascript I stand before a choice: Should

  • 0

Intent on creating a canvas-based game in javascript I stand before a choice:

Should I performance-wise keep all the stuff happening in the screen in one canvas (all the moving characters, sprites) and redraw it at constant rate of, say, 60 FPS or should I break the scene into several smaller canvases thus removing the need of redundant redrawing of the scene? I could even create separate canvas elements for the characters’ limbs and then do most of the animation by simply manipulating the CSS of the given canvas element (rotation, positioning, opacity).

To me the latter sounds way more plausible and easier to implement, but is it also faster? Also, shouldn’t I perhaps use SVG, keep the characters and sprites as elements inside of it and manipulate their XML and CSS properties directly?

So what do you think is the most fitting solution to a scene with severals sprites and characters:

  • One canvas object redrawn manually (and wastefully) at FPS rate
  • Several canvas elements, redrawn manually in a more reasonable fashion
  • Structured vector graphics document like SVG / VML manipulated via DOM

I am mainly concerned about the performance differences, but the legibility of the logical code behind is also of interest (I, having already worked with canvas before, am for example fairly sure that the redrawing function for the entire canvas would be one hard-to-maintain beast of a script).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T02:52:21+00:00Added an answer on May 26, 2026 at 2:52 am

    DOM manipulations are slow in comparison to GPU-accelerated canvas operations, so I would stay away from SVG and VML.

    As far as structuring your canvas code goes, it certainly doesn’t make sense (especially for performance reasons) to clear and re-draw the entire canvas because the player moved or performed an action. Based on your description here, I’m guessing that your game will be 2D. These types of games lend themselves extremely well to layering unless you’re doing something rather complex like Paper Mario. You should be looking at the issue from an object-oriented viewpoint and encapsulating your drawing procedures and objects together as appropriate.

    For instance, create a player object that maintains a small canvas representing the character. All the logic needed to maintain the character’s state is kept within the object and any changes made to it need not worry about other components of the game’s visual representation. Likewise, do the same for the background, user interface, and anything else you can abstract into a layer (within reason). For example, if you’re doing a parallax game, you might have a foreground, background, character, and user interface layer.

    Ultimately you will need to maintain the state of the different components in your game individually. Player animations, background clouds moving, trees swaying, etc. will all be managed by appropriate objects. Since you will already have that type of code structure setup, it makes sense to just maintain major components on separate canvas elements and composite them together as needed for better performance. If the character moves in the bottom left corner of a scene with a static background, you don’t need to re-draw the top right corner (or 95% of the scene, for that matter). If you’re considering full-screen capabilities, this is definitely a performance concern.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm creating a text-based game, and trying to implement procedural world generation. My initial
I'm creating a notification with something similar to the following: Intent ni = new
I have found various topics here and elsewhere on creating an intent for sending
I get a Java.Lang.NoClassDefFoundError error when creating an Intent of a custom class (an
I'm creating a notification for the notification tray. I'm specifying a click intent like
I installed SharePoint Foundation 2010 Client Object Model Redistributable with the intent of creating
I am creating an email intent and filling the message with a link that
I'm creating a notification which fires an Intent. Here a really shortened excerpt of
When creating one Intent so that MyActivity reacts to a User pressing the Home-button
The jQuery team recently launched http://jquerymobile.com/ with the intent of creating a user-interface library

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.