Press

It Has Been A While

Personal view on 'Premature Optimisation' : Can be good

During this project putting high emphasis on optmisation from the beginning. Many discussion was read and conducted, and many claim against 'premature optmisation'. But it is a bit annoying, reading same over repeating responses on blogs/forums, without any explanations. Just seams like coding monkeys puting few words together, once heard somewhere. However, Personally do not fully agree with that statements. Of course 'premature optimisation' is very broad term. And will need some justification and explanations. But indeed, this project is concerning on performance never the less, even far before hitting the bottle neck. 

But why would bother in such early stage on micro optimisation? For example, if some feature is added, performance is periodically observed in the Unity3D profiler (great tool) and preventing steps are taken asap. But here having few justifications for doing optimisation from the beginning. Of course, not all aspects can be predicted and some need redesigned many times over, but way of writing script, will affect how application behaves and how code is readable (or not). So lets take for instance, testing component, which is expected to be in future executed at run-time thousands time, or over. If from the begging noticing the performance negative hit, it is then matter of serious concern for future otucome. But again why not leave it for later stage? So the problem to be resolved, is what otherwise many developers seams facing in their games designs later. Negative performance hit. By evading 'premature' or early optimization, many coders are allowed (knowingly, or unknowingly), to produce and introduce none standardized and often messy code. Let having fun unwinding spaghetti macaroni later, with hundreds of cross-dependencies.

As it highlights the work, problem comes later, when need to optimise. Code become so complex, that many features to optimise, will require significant rework and additional spent time on development. But not only that. Major benefit for early optimisation in my own opinion, is to learn crucial techniques, how to achieve best performance, with later minimum effort. Study reading will be required sooner, or later. However, optimizing at the time of development, allow to modify code, which was worked very recently. So it is the chance of better remembering, what is going on. Comments does help of course. Another major benefit is that once early learned optimal techniques, can be applied later in the code development. It means that something which would perhaps never be potentially considered to be needed for optimization in later development, it can be resolved from the beginning / or early stage of development.

As an example, Imaging multiplying many times of some less optimized methods and classes, with some variety in their structures. Each is different, but holding similar structure of functions etc. Now consider optimising such many methods in future, if they could be written in more performant way. Unless they are simple, may be not too much hassle. But otherwise 'bad' techniques may introduce otherwise avoidable potential bottlenecks and requirement for additional development time. And often experienced in games, such bugs and matters are left untouched for many iteration, or even forever, to be forgotten but not unnoticed.

So it is basically about learning best optimal coding methods, shortcuts etc, at early stage when possible, Again, not everything can be predicted, but believing that majority issues can be avoided in the future, if prevention approach is taken well ahead.

However, one thing need to be surely admitted. Focus on optimisation at any stage requires lot of extra time. And for them, who don't have it and are driven by rush for money, optimisation may be least of concern. I here need ensure for performance, even it will cost me a significant time amount. I ain't got deadline for it, so will be ready, when it will be ready.

Last Update: 2019-02-17 02:37:29

During this project putting high emphasis on optmisation from the beginning. And it will need some justification and explanations why doing so early ...

Last Update: 2018-08-25 01:00:00

Evolving Unity - Joachim Ante - GDC

Along with Unity 2018, new programming methodology has been introduced. This is ECS (Entity Component System). This brings potential massive performance improvements. However, this also requires, to change way of thinking, when programming.

Last Update: 2018-03-10 13:04:17

From many of available revenue schemes for a game, as the reward of developing, few is considered here.

Last Update: 2018-03-01 00:12:04

PipsTycoon security

It has been a while since last update, so let give some news on development.

Sorry, there is no comments yet. Be first to comment ;)