In response to Eric's blog
by Phil Carlisle · 12/20/2006 (6:54 am) · 9 comments
I just read eric's blog (just below this one in the list I guess) about multi-core processors. I completely concur with his appraisal of the issues, however I do feel that multi-core is something useful to me (I can see cases where I'd like to seperate out tasks across seperate CPU cores).
But it made me recall something I sent to someone on IRC the other night.
I don't want to steal bandwidth off of NVIDIA or take these things out of context, so I'll post the full URL here and then link the individual images.
developer.nvidia.com/object/nvperfhud-screenshots.html
This is nvidia's screenshots page showing various games profiling in progress. Lets look at a couple of those games though. What you are looking for, is the top left hand of these images, the poly's per frame and frames per second.
Lets start first with BF2142..

A relatively simple scene, but look at those all important figures.. 250,046 triangles at 61 fps
That game is what you could consider "current tech" I think? Maybe in between current and next gen?
Lets look at a couple of other games in the same boat. Here's Company of Heroes

The stats here are 113,643 triangles at a shader under 60 fps.
So the current gen is somewhere between 100 and 250(ish) thousand poly's per frame at around 60 frames per second (thats not to say they couldnt go higher, they might be frame locked).
Lets have a peek at slightly older generations. Here's World of Warcraft.

The stats for WOW are 111994 triangles at 66 fps. Not bad at all. Of course its not shader bound and everything is reasonbly simple to render, so I'm not surprised its doing ok.
So what do you think "next gen" is going to mean in terms of these stats?
Well, the settlers 6 shot is kind of suggesting where we're going next.

Stats: 1,557,072 triangles at 26 fps.
Yes, thats right. ONE AND A HALF MILLION triangles. At roughly 30 frames per second. At a conservative guesstimate, I'd suggest that trimming that back to around 1 million triangles and sorting out your batching will give you 60 fps.
Thats a FOURFOLD increase on a game that was released THIS YEAR.
What do all these figures mean? Well, I think for us indies, it doesnt really mean an awful lot particularly, but it does *suggest* that with that order of power and further increases in power on a similar timeframe it does open up possibilities for games that werent available before.
The downside to the potential for new avenues, is the technology costs involved.
But I do feel that we shouldnt be scared off technology in much the same way we shouldnt be too enamoured of it either. I fully support the idea of doing teeny tiny 2D games on low end crappy hardware, but I also support the idea of doing truly groundbreaking games on stupidly high-end hardware too.
Thats not to say go up against EA etc. But more to explore the possibility space of this new technology. What does it enable? Is there a leap to be made much like the leap John Carmack made with his first implementation of hardware scrolling in commander keen, or his move into raycast rendering with wolfenstien.
We have some new hardware frontiers and we can choose to explore those frontiers as much as we can choose to stay at home and refine what we already understand.
But it made me recall something I sent to someone on IRC the other night.
I don't want to steal bandwidth off of NVIDIA or take these things out of context, so I'll post the full URL here and then link the individual images.
developer.nvidia.com/object/nvperfhud-screenshots.html
This is nvidia's screenshots page showing various games profiling in progress. Lets look at a couple of those games though. What you are looking for, is the top left hand of these images, the poly's per frame and frames per second.
Lets start first with BF2142..

A relatively simple scene, but look at those all important figures.. 250,046 triangles at 61 fps
That game is what you could consider "current tech" I think? Maybe in between current and next gen?
Lets look at a couple of other games in the same boat. Here's Company of Heroes

The stats here are 113,643 triangles at a shader under 60 fps.
So the current gen is somewhere between 100 and 250(ish) thousand poly's per frame at around 60 frames per second (thats not to say they couldnt go higher, they might be frame locked).
Lets have a peek at slightly older generations. Here's World of Warcraft.

The stats for WOW are 111994 triangles at 66 fps. Not bad at all. Of course its not shader bound and everything is reasonbly simple to render, so I'm not surprised its doing ok.
So what do you think "next gen" is going to mean in terms of these stats?
Well, the settlers 6 shot is kind of suggesting where we're going next.

Stats: 1,557,072 triangles at 26 fps.
Yes, thats right. ONE AND A HALF MILLION triangles. At roughly 30 frames per second. At a conservative guesstimate, I'd suggest that trimming that back to around 1 million triangles and sorting out your batching will give you 60 fps.
Thats a FOURFOLD increase on a game that was released THIS YEAR.
What do all these figures mean? Well, I think for us indies, it doesnt really mean an awful lot particularly, but it does *suggest* that with that order of power and further increases in power on a similar timeframe it does open up possibilities for games that werent available before.
The downside to the potential for new avenues, is the technology costs involved.
But I do feel that we shouldnt be scared off technology in much the same way we shouldnt be too enamoured of it either. I fully support the idea of doing teeny tiny 2D games on low end crappy hardware, but I also support the idea of doing truly groundbreaking games on stupidly high-end hardware too.
Thats not to say go up against EA etc. But more to explore the possibility space of this new technology. What does it enable? Is there a leap to be made much like the leap John Carmack made with his first implementation of hardware scrolling in commander keen, or his move into raycast rendering with wolfenstien.
We have some new hardware frontiers and we can choose to explore those frontiers as much as we can choose to stay at home and refine what we already understand.
About the author
#2
"Thats not to say go up against EA etc. But more to explore the possibility space of this new technology. What does it enable?"
Thats the meat of it right there, I'd say. New tech isn't good or bad, its just new. its one more tool you can learn to use and add to your collection. It's how you use it that matters. While major studios are using it in a few key ways (AAA fps' or rpgs or whatever), there are a million and a half ways to use it differently that haven't been explored. For indies, competition isn't about learning these new tools so we can make a Settlers killer (for example), its about making something so radically different from Settlers that you can't believe the same base tech drives both.
12/20/2006 (7:53 am)
Wow Phil, very super great plan! This is my favorite line:"Thats not to say go up against EA etc. But more to explore the possibility space of this new technology. What does it enable?"
Thats the meat of it right there, I'd say. New tech isn't good or bad, its just new. its one more tool you can learn to use and add to your collection. It's how you use it that matters. While major studios are using it in a few key ways (AAA fps' or rpgs or whatever), there are a million and a half ways to use it differently that haven't been explored. For indies, competition isn't about learning these new tools so we can make a Settlers killer (for example), its about making something so radically different from Settlers that you can't believe the same base tech drives both.
#3
12/20/2006 (7:58 am)
This was, a very good reading. Thanks!
#4
12/20/2006 (9:00 am)
Great read Phil, thanks for taking the time.
#5
Anyway I drift to one of my old fishing stories sorry. But I think it's a good thing for Indy gamers to have more horsepower to work with. Moore is better..
12/20/2006 (10:08 am)
Someday they will start taking whole 12 inch wafers and just making a giant MCM out of it. When I worked for Motorola I used to love putting the bunny suit on and watching them actually make chips. I have seen the solid bars they use for wafers and it looks like something out of a movie. Like a loaf of mercury. Anyway we used to talk about putting multiple IC CPU's on a MCM and they told me I was crazy for thinking it would EVER be done. Just seemed logical to put a couple more cpu's in the package and build tiny interconnects.... ah but that's the hard part. Anyway I drift to one of my old fishing stories sorry. But I think it's a good thing for Indy gamers to have more horsepower to work with. Moore is better..
#6
12/20/2006 (10:09 am)
thks alot for the read and it has given me some ideas on how to proceed on my game developments
#7
Some of the great performance profiling tools out there for programmers are: Intel's Vtune, Amd's CodeAnalyst, Nvidia's nvPerfHud, Amd's GPU PerfStudio.
12/20/2006 (11:08 am)
Great post. I agree that these new capabilities shouldn't scare us too much. I think the new tools for us programmers are great and make our tasks a lot easier than they would be otherwise. I know artist tools are also getting better. Without these great tools we'd become overwelmed, but with them things are only a little more difficult than they used to be :-)Some of the great performance profiling tools out there for programmers are: Intel's Vtune, Amd's CodeAnalyst, Nvidia's nvPerfHud, Amd's GPU PerfStudio.
#8
12/20/2006 (6:45 pm)
mega ditto's phil
#9
They are likely from different computers. Not that in the settlers game the GPU idle is 0. A game with GPU idle 0 is either completely CPU bound or suffering from a common perf hud bug that reports 0. 1852 is a LOT of dp calls so CPU bound is likely, but this number of triangles suggests a very fast CPU. In the WOW picture they only have around 700 dp calls and since GPU Idle is about 50% that suggests this game is CPU bound as well. The difference in performance may suggest a slower CPU.
Lastly, NvPerfHud is not a good tool for benchmarking.
Not that Phils conclusions aren't valid, just be careful making any specific assumptions from these screen shots.
12/22/2006 (12:05 pm)
Just to make some notes about the screen shots above.They are likely from different computers. Not that in the settlers game the GPU idle is 0. A game with GPU idle 0 is either completely CPU bound or suffering from a common perf hud bug that reports 0. 1852 is a LOT of dp calls so CPU bound is likely, but this number of triangles suggests a very fast CPU. In the WOW picture they only have around 700 dp calls and since GPU Idle is about 50% that suggests this game is CPU bound as well. The difference in performance may suggest a slower CPU.
Lastly, NvPerfHud is not a good tool for benchmarking.
Not that Phils conclusions aren't valid, just be careful making any specific assumptions from these screen shots.

Torque Owner Aaron E
Default Studio Name