by date
Optimization for Video Games
Optimization for Video Games
| Name: | Eric Preisz | ![]() |
|---|---|---|
| Date Posted: | Feb 23, 2007 | |
| Rating: | 4.5 out of 5 | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Eric Preisz |
Blog post
I'm working on moving some of what I have been writing to a web page for everyone to read. I really enjoy to making games run as fast as possible.
A lot has changed since Mike Abrash wrote his book, the Zen of Optimization, back in 1994. He writes a lot about using assembly to get the most out of your CPU, since processing, not memory, is usually the bottleneck. Today, assembly won't fix the most common bottlenecks such as drivers, gpu stages, and busses. We can do thousands of operations during the time that it takes to recover from just one cache miss. We can do millions of operations in the time it takes to fetch paged system memory from the hard drive.
Here's a preview of what the web-site is about.
-When optimizing video games, every PC is at a minimum dual core (GPU & CPU)
-Optimizing the incorrect core, or parallel stage, can result in zero FPS gains
-Optimizing anything other than the slowest bottleneck or hotspot is not an efficient use of our time
-Optimizing hotspots smaller than 8% is waste of time
-Optimization is NOT something we do ONLY after we write the code.
-You can make a slow game in OpenGL or DirectX. An API is the interface to the hardware. This sight will focus on the hardware.
-Big "O" notation works great on paper, today's algorithms run on complex hardware. My hardware bubble sort is faster than your software quick sort.
It's only about half written, but I have content for every section (slides, etc.). Hopefully I will be able to convert everything over the next six months or so. I also want to create drill down areas to cover the topics that I assume you already understand. Over time, I hope the information will be more and more valuable as others provide feedback. Any feedback is appreciated. I wasn't too worried about grammar so don't ping me too hard on my writing. I've not real learned on using that part of my brain yet...
http://www.vertexbuffer.com
A lot has changed since Mike Abrash wrote his book, the Zen of Optimization, back in 1994. He writes a lot about using assembly to get the most out of your CPU, since processing, not memory, is usually the bottleneck. Today, assembly won't fix the most common bottlenecks such as drivers, gpu stages, and busses. We can do thousands of operations during the time that it takes to recover from just one cache miss. We can do millions of operations in the time it takes to fetch paged system memory from the hard drive.
Here's a preview of what the web-site is about.
-When optimizing video games, every PC is at a minimum dual core (GPU & CPU)
-Optimizing the incorrect core, or parallel stage, can result in zero FPS gains
-Optimizing anything other than the slowest bottleneck or hotspot is not an efficient use of our time
-Optimizing hotspots smaller than 8% is waste of time
-Optimization is NOT something we do ONLY after we write the code.
-You can make a slow game in OpenGL or DirectX. An API is the interface to the hardware. This sight will focus on the hardware.
-Big "O" notation works great on paper, today's algorithms run on complex hardware. My hardware bubble sort is faster than your software quick sort.
It's only about half written, but I have content for every section (slides, etc.). Hopefully I will be able to convert everything over the next six months or so. I also want to create drill down areas to cover the topics that I assume you already understand. Over time, I hope the information will be more and more valuable as others provide feedback. Any feedback is appreciated. I wasn't too worried about grammar so don't ping me too hard on my writing. I've not real learned on using that part of my brain yet...
http://www.vertexbuffer.com
Recent Blog Posts
| List: | 08/24/08 - Proud to Be a Dork 06/23/08 - Developer Stereotypes: Decade by Decade 03/30/08 - Optimizing Marble Blast Ultra 03/27/08 - Green Screens, Mo-Cap, and Research...oh My! 02/14/08 - GDC and C2C 10/04/07 - Full Sail and Simulation 09/13/07 - 10 myths of VGO 07/19/07 - Video Game Optimization (VGO) |
|---|
Submit your own resources!| Ed Johnson (Feb 23, 2007 at 03:28 GMT) |
Live Free and Prosper
-Ed Johnson
| Ashley Leach (Feb 23, 2007 at 07:22 GMT) |
| Phil Carlisle (Feb 23, 2007 at 11:17 GMT) |
I'd love to have a resource that looks at the modern issues in the same vein. Look forward to reading over your website!
| Eric Preisz (Feb 23, 2007 at 12:09 GMT) |
I answer that question is with a set of guidelines, but a lot of times, I feel it comes down to something that's more of a gut feeling.
Here's a link to my version of the why, where, when.
| Gary Preston (Feb 23, 2007 at 12:25 GMT) |
| Casey Weidner (Feb 23, 2007 at 21:04 GMT) Resource Rating: 4 |
| Ian Morrison (Feb 23, 2007 at 22:20 GMT) |
| Eric Preisz (Feb 23, 2007 at 23:29 GMT) |
After I finish writing everything, I plan on adding highlighted words and sections that fill you in on topics that i think the beginner optimizer might not understand. If you are a beginner C++ I'm afraid you wouldn't be ready for too many details yet.
I also have illustrations that will help clarify.
You must be a member and be logged in to either append comments or rate this resource.



4.5 out of 5


