4 ms·
Good article. Let me try to generalize his main point a little further: "Premature" does not mean "early in the project" -- it means "before you have hard dat
by mechanical_fish 19y ago
Good article. Let me try to generalize his main point a little further:
"Premature" does not mean "early in the project" -- it means "before you have hard data to justify the optimization". The reason this guy's optimizations aren't premature is that he's implementing a game engine, a well-established class of program with well-known pitfalls. His hints are based on hard data -- data from earlier game engines, which he and his veteran colleagues have managed to acquire and digest.
In general, it's hard to use performance data from one software system to design optimizations for another -- the two projects must have similar platforms, design constraints, and architecture. But the programs this guy is talking about are all in the same family -- they're built in C++, constrained to run in real time and monitor interactions between hundreds of in-game objects, and descended from a long line of ancestors whose architecture has evolved step-by-step since the earliest days of game programming.