Re: Software Architecture/Design
Jon Frisby <[email protected]> Fri, 11 Jun 2010 00:09:53 -0500
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
On Jun 10, 2010, at 11:22 PM, Shaun Stamper wrote: > Jon Frisby wrote: >> >> On Jun 10, 2010, at 9:06 PM, Shaun Stamper wrote: >>> Brandon Van Every wrote: >>>> Do you routinely write function calls in straight ASM out of fear of the performance impact of function calls? No you don't. 99% of the time, you use C++ and get on with real work. >>> Missed this line. No, you determine if a function that is written in C/C++ could be better optimized by hand because of assumptions the compiler makes, then rewrite the under performing part in ASM. Thats an extreme case that rarely happens these days, but still does. >> And here you just made his argument for him. The original point was that the industry has long since moved on from an ASM-first approach to game development -- it's now very much the *exception* rather than the *rule* > I never argued for or against ASM, I was stating that its still a requirement. If it has any influence at all, then *someone somewhere at sometime* has to care about it. > > Profile then optimize. Then it seems to me that you were so busy arguing against a straw-man that you missed the point of the initial comment. The point was that programmer productivity is a higher priority than raw performance, and that the historic trend favors more productive tools over the long-term. That performance-sensitive tools don't *completely* go away is entirely beside the point. I've shipped two(-ish*) games, have two more ready to ship, and have one more in the works, none of which ever involved ME touching -- or even CONSIDERING touching -- assembly. Only one even has any C++ in it written by my hand, and that's purely because TorqueScript is just horrifically bad performance-wise. Even then, most of the game is in TorqueScript and only a handful of performance-sensitive bits are in C++. Something which happened AFTER I got the game mechanics where I wanted them. The folks at GarageGames and at Unity Technologies have put an enormous amount of time and energy into their C++-based engines, and the latter have even put in some hand-crafted ASM in a couple places (notably mesh skinning on iPhone). While you can argue that the use of performant tools under the hood is relevant to me because I'm relying on the tools I'm using to have adequate performance, the reality is that I just don't care HOW the tools I'm using got to be of adequate performance. The folks at Unity Technologies could write their rendering loop in Forth for all I care. At the end of the day, all 15k loc in Hordes of Orcs were written in C# (well, that and a touch of Cg of course). * - One game shipped three times, under three names, with incremental refinements at each step. "When Orcs Attack", "Epic Tower Defense", "Hordes of Orcs". The other game has shipped only once. -JF _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com