I'm going to talk about a project I started, a 2D Game, aimed for Android 2.2 and above, OpenGL ES 2.0, and being coded with the default Android Java SDK (up-to date), rather than the NDK framework.
Ever since I started developing a platform RPG game, I took special care of the micro code optimization, because I felt it would have a big impact in the long term, specially because It's a serious project, involving help from other designers and creative guys;
In terms of performance, before micro-code-optimizing, the experts say that you should profile your game, and keep measuring it on real devices in order to see where your bottleneck really is.
In my experience, and please flame me if you feel I'm wrong, for a time consuming and serious project, this is not 100% true, since you spend time developing tools for other guys to work within your engine framework, and layout the way Bitmaps should be drawn in order to be used as textures (standardizing them), and most of the time you need to save time by optimizing parts of the code (assuming you have a good code design) by the very beginning, in parts where you do know that you will have a performance boost
(I.E. reducing the possibilities for the Garbage Collector to run)
As a project leader and coder, I have realized that in the end is better to have a robust and well designed Class, rather than an "optimized" all-in class.
For instance, I had a class called:
That had 100 methods
Sure it had a lot of micro optimization inside those methods (good bye readability, I know, good practices, still!!)
But after some time, I figured out that iwas better to have a class:
With 5 methods, and 3 objects inside
With the second case, I still have some micro code optimization, more readability, but more objects
That's more memory, isn't it?
So my point is that in the end is better to have a balance of readability, and a robust OOP Code, micro-code optimize up and there, and profile as experts says, making the original sentence, not completely true, right?
What you guys think?
Edited by rockseller, 06 September 2012 - 10:27 AM.