Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


#Actualrip-off

Posted 16 December 2012 - 07:16 AM

What should l do?

Does your game play fast enough on your target hardware?
  • If so, stop making purely performance oriented changes.
  • If not:
  • Profile your game and discover the biggest bottleneck.
  • Next, apply any algorithmic optimisations that are appropriate.
  • Next, look at the memory access patterns and see if they can be made cache friendly.
  • Finally, resort to lower level tricks as a last resort.
  • Rinse and repeat.

That construct A might be faster or slower than construct B is not always important. For example, crippling your project's input architecture to save a handful of cycles per frame is not usually a smart engineering move.

The question then becomes, what analysis have you done to decide that a global is faster than a class member? Is it a general rule, or something specific to this case? Can it scale? Does the change have any impact elsewhere?

#1rip-off

Posted 16 December 2012 - 07:10 AM

What should l do?

Does your game play fast enough on your target hardware?
  • If so, stop making purely performance oriented changes.
  • If not:
  • Profile your game and discover the bottlenecks
  • Next, apply any algorithmic optimisations that are appropriate.
  • Next, look at the memory access patterns and see if they can be made cache friendly.
  • Finally, resort to lower level tricks as a last resort.

That construct A might be faster or slower than construct B is not always important. For example, crippling your project's input architecture to save a handful of cycles per frame is not usually a smart engineering move.

The question then becomes, what analysis have you done to decide that a global is faster than a class member? Is it a general rule, or something specific to this case? Can it scale? Does the change have any impact elsewhere?

PARTNERS