Perf time

posted in I am a duck
Published June 12, 2006
Advertisement
When I started working on my engine I tackled things from an OO angle. Every class was clean and separate allowing for great orthogonality (sp?) between game objects. I can just throw together a bunch of textured quads, double sided quads, tile sheets or meshes in any order and things just work. Unfortunately this power comes at the price of performance. My engine definitely doesn't maximize the hardware. At GDC this year I had a little bit of validation on doing things this way when i went to the Tim Sweeny talk on Unreal Engine 3 and they do the same thing where they sacrifice performance to acheive orthogonality. I'm not even going to pretend my engine stands up to the readme.txt file of Unreal but it was still nice to hear I was on the right track.

As I'm getting closer to the finish line in my current project I'm starting to look for places to get the perf a little tighter. My renderer is definitely a great candidate. I have calls being made in each object that could be called only once per frame if I went about things a little different. The interesting thing to see is if I'll still be able to keep the level of orthogonality high. I have a goal of 50% perf improvement in the renderer which looks very achievable at first glance. Wish me luck.
0 likes 1 comments

Comments

ApochPiQ
One of the interesting side effects of a truly othogonal design is that it can actually make optimization easier at the algorithmic level, despite the (usually unimportant) sacrifices made at the micro-scale. Since algorithmic-level complexity is almost always the main bottleneck in most performance-critical code, this often winds up meaning that clean code architectures can actually be tuned to perform better than ad hoc implementations.
June 13, 2006 12:01 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement