Forums → Programming Forum → What is more performance efficient?
Is it more performance-efficient to have more classes? I was thinking, because there was this post on classes on memory efficiency and classes. I was wondering whether more classes is better, because I was thinking, if you had more classes, wouldn't references to more classes be detrimental to performance? I wasn't really sure though.
- 3 Replies
The question here is not how much classes exist in your project but how many instances of them you are using in a single moment of your program.
Think it that way:
You supposedly have a game using 3 types of ball: small, medium and large.
If you won't use classes, you are obliged to have your code include a function for each one of them, regardeless of the ball type you want to use at a given moment. You see a waste of memory here already aren't you? Now imagine that each ball has its own class which gets instantiated (and take memory that is) only when needed. Isn't better?
Furthermore, you can delete the class when no needed anymore and gain back its memory (or at least a big part of it).
With computers now days, you honestly don't need to worry about RAM efficiency when it comes to flash games. If you were doing lowest level C programming or something, say to make a video game engine, then by all means do it as memory efficient as possible.
If you are going to have tons of a few different things on a screen (for example, a couple enemy types) definitely rely on classes, it will let the processor focus more on rendering and less on keeping up with constructors, meaning a more consistent FPS.
If you're looking into getting higher FPS rates, do things on an interval instead of "onEnterFrame". This can lower processor calculations by a TON without losing any functionality. I switched over some stuff on my game to intervals that calculate at once per second (instead of 36 times a second) and it reduced lag by a lot, especially when there were lots of baddies on the screen.
You must be logged in to post a reply!