View Full Version : Relic's FAQ and Benchmarking Guide for Company of Heroes DX10
ÜberJumper
06-01-2007, 10:16 AM
Relic has posted a guide (http://forums.relicnews.com/showthread.php?t=150531) for assisting in benchmarking the Direct X 10 version of Company of Heroes.
Some quote action from the guide.
Q. Why does CoH run slower with shader quality set to Direct3D 10 instead of High?
A. CoH is not simple port to the Direct3D 10 API from the Direct3D 9 API, it was planned from the start to add many significant new features and improvements. Just as the additional calculations required by the features enabled in high shader quality mode (Pixel Shader 2.0/3.0) make CoH run slower than in low shader quality (Pixel Shader 1.1) the additional calculations of all new advanced Direct3D 10 features cause each frame to take slightly longer to render. Keep an eye on your favourite graphic card vendor's web site for new driver releases offering improved performance.
...
As many new features have been added exclusively for Direct3D 10, you will find the CoH Direct3D 10 renderer runs slower than Direct3D 9 due to the additional work load. For this reason we recommend using High shader quality (Direct3D 9) instead of Direct3D 10 shader quality when running on low end hardware that is Direct3D 10 compatible.
As Direct3D 10 is so new and Company of Heroes is the first full commercial game to use this API, using the latest drivers for your video card is absolutely necessary. nVidia users must use the 158.45 or newer drivers. These are currently found by following the BETA drivers link at http://www.nvidia.com/content/drivers/drivers.asp
The night missions are the best show cases for image quality in Direct3D 10 due to the additional shadows.
Great info for the first commercially available DX10 game!
smashism
06-01-2007, 10:26 AM
Just finished my download for both beta drivers and the new patch.
Can't wait to see what my DX10 8800gtx can really do.
And yes I am one of those suckers with vista.
ÜberJumper
06-01-2007, 10:28 AM
smashism, word of advice, don't look at the framerate.
I've only got a AMD X2 3800, 2GB of DDR 400, and a 8800 GTS 640MB card, and the game ran very well on a day time mission at 1280x1024 with all options (except antialiasing, which was 0) maxed out.
51|RandoM
06-01-2007, 10:42 AM
Good for Relic, nice to see somebody going the extra mile to make the feature worthwhile instead of just another bullet point on a ppoint slide.
torrefaction
06-01-2007, 10:45 AM
How does it look with the DX10 features for you people with badass hardware? Inquiring minds want to know.
bapenguin
06-01-2007, 11:05 AM
How does it look with the DX10 features for you people with badass hardware? Inquiring minds want to know.
The lighting in the game is very natural now. That's the biggest difference I notice. Everything just looks more natural.
Telefrog
06-01-2007, 11:06 AM
Once again, my respect for Relic has increased.
joruussuun
06-01-2007, 11:09 AM
The lighting in the game is very natural now. That's the biggest difference I notice. Everything just looks more natural.
And it runs ok?
I just put together a new computer yesterday (e6600, 2gb ddr2 800, 3x500gb raid 0, and 8800GTS 640 OC) and Company of Heroes came with my video card, but I'm reading all these posts from people with similar hardware (or better!) who say they are getting like 8 FPS. (Haven't gotten around to loading any games, but I definitely want to try out CoH and the DX10 patch.)
Citizen Philip
06-01-2007, 11:14 AM
Oddly enough, Relic is not a Microsoft Gaming Studio either. Extra bonus points.
ÜberJumper
06-01-2007, 11:38 AM
Joruussuun:
Read the guide and you'll understand why people are comenting on it.
As Bap indicates, the lighting is the biggest thing. I've yet to play a night mission yet, but the performance test is pretty hot.
UnderHero5
06-01-2007, 12:41 PM
Wait, I thought DX10 was supposed to make games look better while still running better than DX9?
I thought that was the point... that it was able to handle the calculations and not slow down like DX9 would?
torrefaction
06-01-2007, 12:47 PM
Wait, I thought DX10 was supposed to make games look better while still running better than DX9?
I thought that was the point... that it was able to handle the calculations and not slow down like DX9 would?
Well, you've got a couple of things going on. New drivers, first gen hardware, and lower end first gen hardware (which is where most of the problems are, from what I gather).
And it's not about slowdown...in those regards what you're thinking of is API overhead, and that has to do with the number of unique objects and it's relation to CPU load/overhead. DX9 basically almost had a hard limit on the number of on-screen objects due to this. There's other new features in DX10 that would work out your hardware in a significant manner. It's not like they only added 1 thing to DX10.
*Edit*
In the doc, see the litter objects for an example of them taking advantage of the benefits of DX10 (as just an example of the API overhead thing.)
bapenguin
06-01-2007, 12:51 PM
And it runs ok?
I just put together a new computer yesterday (e6600, 2gb ddr2 800, 3x500gb raid 0, and 8800GTS 640 OC) and Company of Heroes came with my video card, but I'm reading all these posts from people with similar hardware (or better!) who say they are getting like 8 FPS. (Haven't gotten around to loading any games, but I definitely want to try out CoH and the DX10 patch.)
I've got an FX-60 with 2Gig of Memory and an 8800GTX with everything cranked to High or Ultra and it's silky smooth. I'm also running the latest NVidia Beta drivers.
ÜberJumper
06-01-2007, 12:51 PM
Underhero:
There's a great discussion being held in this thread (http://forums.relicnews.com/showthread.php?t=150458) in relation what we can expect out of DX10 games.
Relic's choosen to use the DX10 features to INCREASE the graphics in the game. Thus it's doing a LOT more work than it would be doing if using DX9. It's not an apples to apples comparison. The DX9 game does not look exactly the same as the DX10 version.
torrefaction
06-01-2007, 12:55 PM
I'd just like point out to the naysayers that yes, DirectX 10 DOES INDEED make games look better and have better overall performance.
I told you so.
UnderHero5
06-01-2007, 01:06 PM
Underhero:
There's a great discussion being held in this thread (http://forums.relicnews.com/showthread.php?t=150458) in relation what we can expect out of DX10 games.
Relic's choosen to use the DX10 features to INCREASE the graphics in the game. Thus it's doing a LOT more work than it would be doing if using DX9. It's not an apples to apples comparison. The DX9 game does not look exactly the same as the DX10 version.
Thanks for the link. I skimmed it a bit.
I haven't looked too much into DX10 cards and whatnot, so I was only going by what I had read as bullet points, basically.
I see now that those bullet points for DX10 were kind of misleading. If you do the same thing in DX9 and DX10, it will perform better in DX10 (though not much, apparently, at this point). However, the new features that DX10 allow will end up straining the card enough to where a game taking advantage of DX10 can/will still end up running like crap.
I was under the impression that everything was more streamlined (and it is) and that the new stuff wouldn't come with such a performance cost (it does).
I just kept hearing about how much better things would perform in DX10, so the game running like crap on everything but the highest end DX10 card kind of came as a shock to me. I guess it shouldn't. I should expect this sort of thing by now, heh.
torrefaction
06-01-2007, 01:09 PM
Thanks for the link. I skimmed it a bit.
I haven't looked too much into DX10 cards and whatnot, so I was only going by what I had read as bullet points, basically.
I see now that those bullet points for DX10 were kind of misleading. If you do the same thing in DX9 and DX10, it will perform better in DX10 (though not much, apparently, at this point). However, the new features that DX10 allow will end up straining the card enough to where a game taking advantage of DX10 can/will still end up running like crap.
I was under the impression that everything was more streamlined (and it is) and that the new stuff wouldn't come with such a performance cost (it does).
I just kept hearing about how much better things would perform in DX10, so the game running like crap on everything but the highest end DX10 card kind of came as a shock to me. I guess it shouldn't. I should expect this sort of thing by now, heh.
Well...the question is do you want game companies pushing the boundaries of graphics? If the answer is yes, this will continuously happen. Dev's will try and push every inch out of a card where possible. That's just the way it goes.
The other thing to consider is that these cards where released months before even one game had DX10 support. That's why buying first-gen hardware is a gamble.
mulligan
06-01-2007, 01:16 PM
screeens!!
UnderHero5
06-01-2007, 01:16 PM
Well...the question is do you want game companies pushing the boundaries of graphics?
Well, that's actually a hard question. Most of the time I think performance is more important than graphics. Then again, no matter how crappy a game runs when it comes out, eventually there will be hardware that will eat it for breakfast... but by that time the graphics are usually outdated and outdone by another game... and the cycle continues.
I guess as long as the game runs good at low-medium settings, and still looks halfway decent, I have no problem with developers striving for great graphics... I do think it's silly to push the graphics beyond what current hardware can handle, though. That's just the consumer in me speaking though. What would drive people to upgrade their hardware if things actually ran well?
torrefaction
06-01-2007, 01:22 PM
Well, that's actually a hard question. Most of the time I think performance is more important than graphics. Then again, no matter how crappy a game runs when it comes out, eventually there will be hardware that will eat it for breakfast... but by that time the graphics are usually outdated and outdone by another game... and the cycle continues.
I guess as long as the game runs good at low-medium settings, and still looks halfway decent, I have no problem with developers striving for great graphics... I do think it's silly to push the graphics beyond what current hardware can handle, though. That's just the consumer in me speaking though. What would drive people to upgrade their hardware if things actually ran well?
The whole thing is, it does run well. You cannot judge an API or hardware by the first revision of a patch introducing *MAJOR* changes, nor can you judge it by beta drivers (That note performance issues with CoH).
When you add significantly more features, you're going to get a drop in framerate. Bap is running it just fine, and it's not like he's got a complete beast of a computer...it's just a pretty nice one. Performance issues in beta drivers for new games that are the first to implement a technology? Count me as not surprised.
And the otherthing is these people could lower their settings when changing to DX10 (On their first gen hardware.) and squeak out more performance. Expectations of DX10 are confused...the performance benefits had to do with CPU impact and scaling of the API. And they are there, but so are many other features that Relic implemented in good faith.
Bottom line, you'll never see a game that's just not going to run without the BEST graphics card. The sales would never justify it.
And why is it silly to push the software beyond what the hardware can handle? Doom 3 did it, Far Cry did it. That adds shelf life to the games. It's a good thing when the game will scale for you when you buy a new computer. People are always going to want better looking games. THAT'S what drives upgrades.
Chaos Machine
06-01-2007, 01:25 PM
that claim about coh being the first commercial dx10 game available is a crock of shit because shadowrun has been out since monday or tuesday.
torrefaction
06-01-2007, 01:26 PM
that claim about coh being the first commercial dx10 game available is a crock of shit because shadowrun has been out since monday or tuesday.
Shadowrun isn't DX10. It's Vista only because of Live for Windows.
ÜberJumper
06-01-2007, 01:37 PM
Yeah, that's a common mistake people make it seems, games for windows does NOT mean the game is available in dx10 or is DX10.
Wait, I thought DX10 was supposed to make games look better while still running better than DX9?
I thought that was the point... that it was able to handle the calculations and not slow down like DX9 would?
Newer APIs generally can’t do that. The only way a new API could speed up a process in an old API is if that one in the old API was poorly optimized and thus overly slow. Generally, with game hardware the stuff is pretty fast, and if it wasn’t a fast process, then developers wouldn’t use it thus the new API would have nothing to speed up.
DX10 adds new features that are definitely nice, but made, as others have said, to add new abilities. The trick is that with most highly developed APIs, you generally get diminished returns on everything you add (since the most important things are, as they should be, added first). Most of the features that they discuss do not require DX10, the lighting, for instance, would be the same on DX9 and is doable on Radeon 9500+ and GeForce 6200+ hardware save for the shadows on the point light (DX10 does have an optimization that helps there, it’s doable on DX9 but generally not worth it). I think one nice thing, though, is they can be more assured that the people that are using DX10 have better hardware and care more about the visuals, so to say they’re DX10 features kinda sets a higher baseline on the expected hardware.
Spiffae
06-01-2007, 01:52 PM
anyone have any links to comparison shots?
torrefaction
06-01-2007, 02:05 PM
Newer APIs generally can’t do that. The only way a new API could speed up a process in an old API is if that one in the old API was poorly optimized and thus overly slow. Generally, with game hardware the stuff is pretty fast, and if it wasn’t a fast process, then developers wouldn’t use it thus the new API would have nothing to speed up.
While your correct, you're also mistaken. There was a major improvement to API overhead, because of the legacy stuff DX9 had to deal with. In particular, what they resolved in DX10 was the small batch problem ( A big bottleneck for developers, from what I've read.)
http://enthusiast.hardocp.com/articleprint.html?art=MTA0NQ==
One of the biggest limitations is API object overhead. In fact game content developers are currently being bottlenecked by this overhead. Out of all the improvements that could be pushed into DirectX 10, the issue at the top of the list for most game developers was to lessen API object overhead.
What we mean by API object overhead is that the API is using CPU cycles to achieve tasks necessary for rendering before being output to the video card for drawing. When rendering a game, the application first has to call to the API and then the API calls to the driver before it ever interacts with your video card’s GPU. These calls are all handled by the CPU, using valuable resources and creating a potential bottleneck.
DirectX 10 removes Limitations
Fix the Small Batch Problem
Since DirectX 10 is completely written from the ground up as a new API, a lot of the old overhead can be reduced. Object overhead is greatly reduced so that more unique objects can be shown in a scene at one time. In the real world no two objects are identical even if they are the “same.” Currently in a game we might find all the chairs in a room to be drawn so they would look exactly the same. We see the same thing with grass, trees, and many other objects. This “carbon copy” impression peels away layers of immersion that the game developer is striving for. Currently most grass you might see on a battlefield are just copies of each other and most other vegetation is not unique either; simply changes to fullness and color for the most part are used to make the objects “different.” In tomorrow’s games there can be hundreds if not thousands of unique objects. With DirectX 10 the capability will be there to show more unique objects so that the environment is more realistic and immersive. Of course you can still hit performance limits with the hardware you are rendering with, but at least the API won’t be holding game content developers back. Performance of the GPU will be the deciding factor, at least in the foreseeable future.
CptTripps
06-01-2007, 02:07 PM
I've got an FX-60 with 2Gig of Memory and an 8800GTX with everything cranked to High or Ultra and it's silky smooth. I'm also running the latest NVidia Beta drivers.
Damn you.....
Bingley Joe
06-01-2007, 02:18 PM
anyone have any links to comparison shots?
There are a bunch here, along with a decent write-up on the whole deal:
http://www.gamealmighty.com/story-individual/story/DirectX10_and_Company_of_Heroes_Time_to_Upgrade/
Kind of a mixed-bag, if you ask me, but maybe some of that will get sorted out by a variety of patches.
While your correct, you're also mistaken. There was a major improvement to API overhead, because of the legacy stuff DX9 had to deal with. In particular, what they resolved in DX10 was the small batch problem ( A big bottleneck for developers, from what I've read.)
A big potential bottleneck, which can be said about many, many things. Again, DX9 applications don’t generally push so much stuff that it’s a CPU bottleneck. I was responding to the idea that DX10 will make DX9 stuff faster in the real world, not potentially faster if the DX9 stuff was implemented poorly.
I think it’s also a bit silly that what you quoted suggests that DX10 is some kind of significant factor in allowing future games to use unique objects, that’s currently limited by developer budgets, not API limitations (and hardware limits would also greatly trump the API). I’d think WoW would demonstrate fairly well that lots of unique stuff can be drawn if you can afford to make it.
I’m always for improving software, but if it wasn’t a significant problem then even reducing the cost to zero can’t produce a significant improvement. I suppose we may see some evidence against what I'm saying, but my experience as a developer and what I see right now seems to support my point. I think DX10 doesn’t have the capability to do what some people think it can, it’s a relatively small factor in the overall equation and it’s predecessor was pretty good, there's just not room for the improvements it's marketing and fans suggest.
Adam Blue
06-01-2007, 02:46 PM
I'd just like point out to the naysayers that yes, DirectX 10 DOES INDEED make games look better and have better overall performance.
I told you so.
I remember making this point last year and everybody told me to fuck off.
But I wouldn't necessarilly say better performance. Between Vista and having a DX10 card, it's hard to compare performance since you're needing this higher-end hardware in the first place. You're already getting a performance hit with Vista, and unless you have a DX10 card you can't take advantage of DX10, so for that you'll already have that hardware.
ÜberJumper
06-01-2007, 03:26 PM
I'd just like point out to the naysayers that yes, DirectX 10 CAN INDEED make games look better and have better overall performance.
I told you so.
There, fixed it for you.
(Hey, where's the strikethrough tag?)
torrefaction
06-01-2007, 03:42 PM
A big potential bottleneck, which can be said about many, many things. Again, DX9 applications don’t generally push so much stuff that it’s a CPU bottleneck. I was responding to the idea that DX10 will make DX9 stuff faster in the real world, not potentially faster if the DX9 stuff was implemented poorly.
I think it’s also a bit silly that what you quoted suggests that DX10 is some kind of significant factor in allowing future games to use unique objects, that’s currently limited by developer budgets, not API limitations (and hardware limits would also greatly trump the API). I’d think WoW would demonstrate fairly well that lots of unique stuff can be drawn if you can afford to make it.
I’m always for improving software, but if it wasn’t a significant problem then even reducing the cost to zero can’t produce a significant improvement. I suppose we may see some evidence against what I'm saying, but my experience as a developer and what I see right now seems to support my point. I think DX10 doesn’t have the capability to do what some people think it can, it’s a relatively small factor in the overall equation and it’s predecessor was pretty good, there's just not room for the improvements it's marketing and fans suggest.
It's about lots of objects using procedual generation. The sort of things that don't require developer budgets. Look at the Litter Objects feature and the grass added in CoH for examples of exactly what I'm talking about. Developer budgets have NOTHING to do with this. It's about efficient resource usage. They don't do it because to do so WOULD be a drain.
I don't know how you can disregard the fact that this was the number one issue that developers had with DX9. Microsoft doesn't develop things for the hell of it.
Look at this quote, from the same article.
One of the biggest limitations is API object overhead. In fact game content developers are currently being bottlenecked by this overhead. Out of all the improvements that could be pushed into DirectX 10, the issue at the top of the list for most game developers was to lessen API object overhead.
Look...
Within those procedures are limitations of how many objects you can show onscreen at one time in one frame. Objects can be anything in the game, a character or tree for example. Current limitations are around 500 objects in one frame. Anything over that and you can run into severe CPU bottlenecks. The game content developer has to carefully balance the game so they don’t get bottlenecked by this software and CPU limitation. This puts a huge limit on the immersion you experience in a game. For example let’s take trees. Right now trees are mostly done by taking a tree and then just making copies of it, maybe changing color and amount of leaves to create a forest. The limitation is so that thousands of unique trees cannot be displayed in one frame in real time. DirectX 10 will relieve this limitation.
Don't be dismissive of something when you haven't researched it.
It's about lots of objects using procedual generation. The sort of things that don't require developer budgets.
Again, the subject was about speeding up DX9 stuff, if you’re talking about geometry shaders or any new feature in DX10, those are new features and are not applicable to my original comment unless they speed up DX9 applications. A desirable feature is not the same as an existing bottleneck.
Look at the Litter Objects feature and the grass added in CoH for examples of exactly what I'm talking about. Developer budgets have NOTHING to do with this. It's about efficient resource usage. They don't do it because to do so WOULD be a drain.
There is not one thing in those screens that looks remotely difficult to do with DX9’s instancing, nor did I see an indication that a DX10 feature was even used for it, it might be using the instancing methods in DX9. Just because a feature was introduced with a product requiring DX10 doesn’t mean that all the feature require DX10 (or any, for that matter).
What the guy was talking about in your quotation was about different looking objects like chairs, which is a developer created element. You’re not going to see procedurally generated chairs, procedurally generated geometry is nice, but just as limited as procedurally generated textures.
I don't know how you can disregard the fact that this was the number one issue that developers had with DX9. Microsoft doesn't develop things for the hell of it.
Nor do they develop them for idealistic reasons, or are they always right, but that’s not really to the point. My point was that DX10 doesn’t speed up DX9 games because the bottlenecks it improves weren’t there or noticable. You can cite theoretical instances all you want, but I’m talking about what happens in real games in the real world.
Don't be dismissive of something when you haven't researched it.
Hehe, oh, I think I’ve researched it more than you (and likely have more experience developing rendering systems), I just consider research being looking into facts rather than simply agreeing with assumptions. Again, this assumption about DX10 producing a dramatic increase in unique objects is shortsighted, I think. Those thinking it translates to big changes aren't considering GPU bottlenecks, physics implications, multi-core ramifications, increased memory usage or the inability to share things like shadow resources (trees don’t just look the same because of DX9), nor the well known fact among developers that the features of DX9, as usual, are still quite underused. DX10 is not magic and can’t solve problems outside it’s domain, and it’s still a far less significant upgrade than DX9 was. I’m not bagging on it, just saying what it is (the only problem I have with DX10 is the Vista thing, other than that it’s a decent upgrade).
KingGorilla
06-02-2007, 03:36 PM
There are a bunch here, along with a decent write-up on the whole deal:
http://www.gamealmighty.com/story-individual/story/DirectX10_and_Company_of_Heroes_Time_to_Upgrade/
Kind of a mixed-bag, if you ask me, but maybe some of that will get sorted out by a variety of patches.
You really have to see it in motion to see the difference in graphics. I remember the HOLY SHIT I got when I first saw an AT shell bounce off of the front of a tank. There was love and detail put into this game. I really hope that more folks get on board with the expansion.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.