• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

What do game programmers prefer ATI or Nv?

Lestang

Limp Gawd
Joined
Mar 2, 2005
Messages
451
I was wondering this, what do game programmers preferr ATI or Nv? Some game you can tell when you install the game what the programmers preferred there might be an ATI or Nv Icon. I do not want this to turn into an ATI, Nv flame war.
 
I think the preferred thing is more marketing than anything else. After all, FarCry runs better on ATI even though it is a "preferred" Nvidia game. Unless someone here actually is a game programmer, you're probably going to get a lot of nonsense ;).
 
I think the only one I have seen speak out in favour of any type of GPU was Carmack about what GPU he preferred to Doom3.
But then again NVIDIA listened to what Carmack wanted a GPU to feature and designed for that.

Terra...
 
I'm not actually a game programmer myself, but I am closely related in a way.
I do have some friends who work at companies such as DICE, EA and Futuremark.
A lot of them are hardware enthousiasts in a way, just like you. The difference is that you want the hardware to play the games as well as possible, and they want the hardware that can make them write the games as well as possible.
They generally prefer whichever has the most options at the time, so they don't directly look at brands. It tends to go with generations. The GeForce3/4 were very popular in the early shader days. Then the Radeon 9700. And at the moment the GeForce 6800 and 7800 are the big thing.
Although, actually they generally seem to like consoles better than PCs. But that's also partly because of the different approach to developing for a fixed system. But the next-gen consoles will actually have hardware that can match PC specs for the first time.

Oh, and officially they generally cannot make any statements about which hardware they prefer (often because of marketing contracts and such). Especially with Futuremark, that is a very strict rule, because they must be completely unbiased :)
 
As Scali was alluding to, I think game developers would perfer to only have to code for one card. Any preference they have probably gets lost in the 8 different code paths they have to write to make the game run well on older gear as well as newer gear.
 
Im working with pandora-studios which is a mod team turning comercial game development team and as a personal preference RIGHT NOW, i'd have to say Nvidia, they're doing all the tech "driving" at the moment. Working on an engine capable of shader 3.0 effects, HDR and alike its handy to have hardware that can actually run it!

Sure the effects arent needed for home systems of just gamers which is why ATI arent implimenting it, but technology has to be driven forward and if it wasnt for Nvidia we probably wouldnt be seeing shader 3.0 capabilities so early.
 
theelviscerator said:
Nvidia can run HS 3.0 just not fast enough for it to be an "actual' feature..

Tell that to my games eg. FarCry.
From log.txt:
Pixel Shaders version 3.0
Use Hardware Shaders for NV4x GPU
Pixel shaders usage: PS.3.0, PS.2.0 and PS.1.1
Vertex shaders usage: VS.3.0, VS.2.0 and VS.1.1

Terra - Stop trolling...
 
ATi has the entry level and mainstream market...
NVidia has the high end...
 
Phanbois please go away and let the grownups talk.

I have done a lot of coding through my career and I always am searching for the best equipment/language/database for the application that I am working on at the moment.

So some professional opinions are interesting to me also.
 
Saeid said:
ATi has the entry level and mainstream market...
NVidia has the high end...

Not really, Intel has the entry level :p, most ppl recommend a 6600GT for mainstream, and a 7800GTX for high end. Obviously there are some spaces inbetween there.

ATI has been falling behind last couple months.
 
Saeid said:
ATi has the entry level and mainstream market...
NVidia has the high end...

ATI has nothing at the moment.. entry level systems make use of either onboard graphics , or 6200's. Mainstream would belong to the 6600 and the top end belongs to the 7800.
 
Saeid said:
ATi has the entry level and mainstream market...
NVidia has the high end...
Can we not have another flamewar? kthx

Erasmus354 said:
As Scali was alluding to, I think game developers would perfer to only have to code for one card. Any preference they have probably gets lost in the 8 different code paths they have to write to make the game run well on older gear as well as newer gear.
I think this may have been more of an issue before Direct3d was the standard for game programming

Nowadays, aren't the APIs for graphics programming the same across the board? True newer Nvidia cards have some features like SM3.0 that ATIs current cards don't , but other than that, the interfaces for programming Direct3D and OpenGL should make the hardware almost completely transparent. Once ATIs cards support these new features, they should work just as well as on Nvidia cards. That's kind of the point of having drivers of programming libraries, no?

I would think that after all this time, DirectX has improved so much that programmers really prefer whichever video card would give them the most creative control. If I were a programmer I would like whichever card is fastest, and that often varies. Like an x850xt PE is just as fast in Far Cry as a 7800, but a 7800 pwns all in Doom 3. So it really depends on the project and what someone is trying to do.
 
As a game developer I can say that I prefer ATI better.

The reason is simple. Nvidia has certain "bugs" (or features) which let you do things that are incorrect but it appears to work. Once you run your app on ATI, it no longer works correctly. I have to go through the shaders and figure out what I did wrong.

For example.

The last problem I had was that I had a surface (texture) and a lightmap (texture). I wanted to add them together:

surfacecolor += lightmap;

On Nvidia, that worked fine.... Take a lightmap and add to the surface... When I ran it on my ATI, the code did not work because it was adding the alpha channel from the lightmap to the surface. I only wanted the RGB... On Nvidia, it ignored the alpha channel if I specified it or not. On ATI, it added the alpha channel because thats what the code said to do. It gave me the bug, but it did what it was supposed to do. I had to fix it by doing:

surfacecolor.rgb += lightmap.rgb;

Taking only the RGB (not the A) from the textures.

Nvidia assumes things, ATI does not... I want the video card to do exactly what I tell it to do... ATI gets the thumbs up here.
 
For the most part the 6800 series does a lot better in OpenGL games such as Doom 3. Unless you have a 7800gtx or 7800gt the x850 and x800 series beat the 6800 series.
 
Nvidia, the 7800GTX in SLI ownes all, and noones going to dethrown it till someone come out with a better card. ;)
 
Sorry... my intensions were not to start a flame war... :S

Anyways... ur right i forgot Intel... they hold the largest market entry level...
But as for ATi, their x800 vanilla is selling like cupcakes on a saturday by hungry kids! ;)

Its afew bucks more expensive than the 6600GT and cheaper than the 6800 vanilla... yet it outperforms both...

Anyways... interms of programing... it depends whether the game uses DirectX or OpenGL...
The game developers of HL2 perfered ATi (they were bought)...
the game developers of Doom3 perfered NVidia (they were bought too) ;)

Its kinda like saying is Arrowhead water better or Aquafina... ;)
both get the job done.. :)
 
I cant really speak in terms of graphical programming im more of an artist, so my point of view is going to be slightly different.

Nvidia can run HS 3.0 just not fast enough for it to be an "actual' feature..

Well i've been playing far cry with HDR enabled just recently and it runs fantastic for my rig which to be fair is not what i'd like it to be!

That however isn't really the point, because performance isn't really an issue even with bad performance having the technology to view your work is extrodinarily helpful.

Having shader 3.0 support way before it was needed is a big advantage to the game development community, just imagine if Nvidia had done what ATI is doing, and simply waiting before implimenting it, the development of the future effects would be a lot further behind.

As I said in my first post this is my fave right now, if ever ATI are a full generation ahead with effects and features such as shader 3.0, HDR, SLI etc then i'd probably favour them, and I expect they will be at some stage - swings and roundabouts.
 
Scoobydo said:
As a game developer I can say that I prefer ATI better.

The reason is simple. Nvidia has certain "bugs" (or features) which let you do things that are incorrect but it appears to work. Once you run your app on ATI, it no longer works correctly. I have to go through the shaders and figure out what I did wrong.

For example.

The last problem I had was that I had a surface (texture) and a lightmap (texture). I wanted to add them together:

surfacecolor += lightmap;

On Nvidia, that worked fine.... Take a lightmap and add to the surface... When I ran it on my ATI, the code did not work because it was adding the alpha channel from the lightmap to the surface. I only wanted the RGB... On Nvidia, it ignored the alpha channel if I specified it or not. On ATI, it added the alpha channel because thats what the code said to do. It gave me the bug, but it did what it was supposed to do. I had to fix it by doing:

surfacecolor.rgb += lightmap.rgb;

Taking only the RGB (not the A) from the textures.

Nvidia assumes things, ATI does not... I want the video card to do exactly what I tell it to do... ATI gets the thumbs up here.


From what i hear its kinda simple. Its not a matter of preference performance wise. Game developers will use what ever card they happen to have. However If they program the game to work on an ATI it will nearly always work on an Nvidia. If they program it to work on a NVidia it usually doesnt work on an ATI and they have to reengineer it. I have no real facts to back this up but from talking to a few people in the business they pretty much said that. So even if the game developer perfers nvidia it can be easier for him just to program the game to work on ati. Just how it is atm. So take my comments as a grain of salt i didnt make it up but its not worth it for me to find information to support my claim.
 
Scoobydo said:
As a game developer I can say that I prefer ATI better.

The reason is simple. Nvidia has certain "bugs" (or features) which let you do things that are incorrect but it appears to work. Once you run your app on ATI, it no longer works correctly. I have to go through the shaders and figure out what I did wrong.

For example.

The last problem I had was that I had a surface (texture) and a lightmap (texture). I wanted to add them together:

surfacecolor += lightmap;

On Nvidia, that worked fine.... Take a lightmap and add to the surface... When I ran it on my ATI, the code did not work because it was adding the alpha channel from the lightmap to the surface. I only wanted the RGB... On Nvidia, it ignored the alpha channel if I specified it or not. On ATI, it added the alpha channel because thats what the code said to do. It gave me the bug, but it did what it was supposed to do. I had to fix it by doing:

surfacecolor.rgb += lightmap.rgb;

Taking only the RGB (not the A) from the textures.

Nvidia assumes things, ATI does not... I want the video card to do exactly what I tell it to do... ATI gets the thumbs up here.


So Nvidia Fixed YOUR mistake and you are Complaining?

Sounds like a smarter GPU.

I have both ATI and Nvidia so I don't really care.
 
Zinn said:
Nowadays, aren't the APIs for graphics programming the same across the board? True newer Nvidia cards have some features like SM3.0 that ATIs current cards don't , but other than that, the interfaces for programming Direct3D and OpenGL should make the hardware almost completely transparent. Once ATIs cards support these new features, they should work just as well as on Nvidia cards. That's kind of the point of having drivers of programming libraries, no?

The API is the same for all cards, but that's not the problem, really. The problem is that not all hardware is equally capable, so you want to have a few different renderpaths, to support various popular videocards. For example, Half-Life 2 has a path for DirectX 7, for all old shader-less cards and onboard rubbish. Then there's the DirectX 8.0 path for GF3/4, the DirectX 8.1 path for Radeon 8500-9200 and GF-FX, and finally the DirectX 9 path for the latest.

OpenGL is a bit less transparent, so a game like Doom3 targets certain videocards directly. There's a generic OpenGL renderpath, sorta like the DX7-path in HL2, which should work on anything that's not supported otherwise. Then there's a path for GF2, GF3, Radeon 8500, and one for all cards supporting the ARB shader extensions, which basically boils down to a DX9-path, for R9500 and up, and GF-FX and up.

So even modern games still have various renderpaths that have to be developed separately, while a console would only require one path, and that one path can be optimized for maximum efficiency, since you know exactly on what hardware it is going to run, and how many resources the system has at any time.

Zinn said:
I would think that after all this time, DirectX has improved so much that programmers really prefer whichever video card would give them the most creative control. If I were a programmer I would like whichever card is fastest, and that often varies. Like an x850xt PE is just as fast in Far Cry as a 7800, but a 7800 pwns all in Doom 3. So it really depends on the project and what someone is trying to do.

But Doom3 is faster on a 7800 because it was designed that way. Question is, do you design your game to suit the hardware, or do you pick the hardware that suits your design? I always pick the card with the most options (unless that card happens to be horribly slow, but generally the speed difference is not that large).
Often you can design your game more efficiently when you have more powerful hardware, so it may turn out faster anyway... Or just as fast with better image quality. You can do a lot in the design of your game to control the rendering speed anyway.
 
programmers prefer what ever card company sends them products free. always. this is usually Nvidia from what i'v seen. I dont think its a matter of what cards better or what features it has, thats ignorant people arguing about who makes better products which is deviating entirely from the point of the thread.

For the developer, the card doesnt need to run their game engine while designing it at a million FPS, so they dont care about SLI or big bad pipes and clocks until its time to release. This is prevelant all over, look at all the big engines that drive todays and tomorrows most demanding games and notice their creation and testing was started on cards that could barely run them today. All that matters are the creation tools at hands in OpenGL and DX to these developers, i think they could really care less about cards l337 features.


nobi125 said:
So Nvidia Fixed YOUR mistake and you are Complaining?

Sounds like a smarter GPU.

I have both ATI and Nvidia so I don't really care.


totally ignorant comment. Hes saying he wants a card to do what he tells it to do, not assume things itself.
 
nobi125 said:
So Nvidia Fixed YOUR mistake and you are Complaining?

Sounds like a smarter GPU.

I have both ATI and Nvidia so I don't really care.

No, he's saying that it makes it hard to use for testing because it doesn't listen to him. This is not a smarter GPU, it's just annoying when you're trying to make a fully-compliant game.
 
Attean said:
No, he's saying that it makes it hard to use for testing because it doesn't listen to him. This is not a smarter GPU, it's just annoying when you're trying to make a fully-compliant game.
Sounds like how Internet Explorer fixes peoples crappy HTML coding. So then when a web page works in IE but breaks in Firefox (which is actually standards compliant), people will be all like "Firefox sucks!" when really it's their crappy coding and Internet Explorer's permissiveness that sucks. I am a firm believer in code interpretation that assumes nothing and breaks when something is incorrect. This makes for good coding experience gained as well as portability.

If something works only by virtue of quirks in the supporting platform and that platform were to someday change, then the sheisty code would cease to work, and that wouldn't be any fun for anyone.
 
Shifra said:
programmers prefer what ever card company sends them products free. always. this is usually Nvidia from what i'v seen. I dont think its a matter of what cards better or what features it has, thats ignorant people arguing about who makes better products which is deviating entirely from the point of the thread.

Not at all. First of all, it's safe to assume that a popular game studio has access to all the latest videocards, often even before reviewers do. If they don't get videocards for free, it's not a problem to buy them, since the budget of a modern game goes into millions of dollars... a few hundred more or less for some videocards isn't going to bother anyone.

Secondly, they actually NEED these videocards (also the older models), because they have to make sure their game works properly on all common configurations, and not just the videocard that happened to be in the developer's machine at the time.

Shifra said:
For the developer, the card doesnt need to run their game engine while designing it at a million FPS, so they dont care about SLI or big bad pipes and clocks until its time to release. This is prevelant all over, look at all the big engines that drive todays and tomorrows most demanding games and notice their creation and testing was started on cards that could barely run them today. All that matters are the creation tools at hands in OpenGL and DX to these developers, i think they could really care less about cards l337 features.

If you think the only difference between cards is speed, then well, ignorance is bliss I suppose :)
They actually do need the latest cards, because they need to be able to actually run their own engine with all the eyecandy turned on, so features do matter, a lot. Speed isn't that big of a deal ofcourse, and often the games are designed for hardware that isn't available yet during development, but since development takes a few years, they can predict that the proper hardware will be available at the time of release. Ofcourse a slideshow isn't acceptable either, so they will generally use the fastest cards, to get reasonably interactive framerates. You have to get some kind of feel for the game you're developing ofcourse, get a sense of the gameplay.
 
Scali said:
Not at all. First of all, it's safe to assume that a popular game studio has access to all the latest videocards, often even before reviewers do. If they don't get videocards for free, it's not a problem to buy them, since the budget of a modern game goes into millions of dollars... a few hundred more or less for some videocards isn't going to bother anyone.

Secondly, they actually NEED these videocards (also the older models), because they have to make sure their game works properly on all common configurations, and not just the videocard that happened to be in the developer's machine at the time.



If you think the only difference between cards is speed, then well, ignorance is bliss I suppose :)
They actually do need the latest cards, because they need to be able to actually run their own engine with all the eyecandy turned on, so features do matter, a lot. Speed isn't that big of a deal ofcourse, and often the games are designed for hardware that isn't available yet during development, but since development takes a few years, they can predict that the proper hardware will be available at the time of release. Ofcourse a slideshow isn't acceptable either, so they will generally use the fastest cards, to get reasonably interactive framerates. You have to get some kind of feel for the game you're developing ofcourse, get a sense of the gameplay.


Sorry, they get access to what the API's are for engines long before the cards support, this is far more important then having SM3.0 or full DX9.0C in your card for tests. They dont need this in the card at the time to program it in the engine, i think thats a total misconception of how engines are made. And getting something for free is always a bonus. If Nvidia or ATI says to a company, we'll send you our latest cards for all your artists and programmers as they come until you get the engine out as long as you have our logo, nobody would say no to that. Free= always good even to rich.

Project Offset for example has full support for SM3.0 and it was programmed into the engine while still using NV30s.

They dont need or test older cards usually. Have you ever seen a game released that works bug free up and down the spectrum of cards? I havent.

More and more games launched are using engines todays cards cant handle.
 
Shifra said:
Sorry, they get access to what the API's are for engines long before the cards support, this is far more important then having SM3.0 or full DX9.0C in your card for tests. They dont need this in the card at the time to program it in the engine, i think thats a total misconception of how engines are made.

Well, I don't write anything until I have the hardware. Software emulation is horribly slow. And I mean HORRIBLY. We're talking about taking hours to render a normal SM3.0 scene that a regular 6800U would render at 30 fps easily.
You can design the support in your engine, but writing the actual shaders and testing on actual content before you have the hardware, it's just horrible. Also, the software emulation may not be entirely equivalent to the hardware, so you may end up having to rewrite the shaders anyway.

Shifra said:
Project Offset for example has full support for SM3.0 and it was programmed into the engine while still using NV30s.

I don't know that game, so I don't know anything about the engine. But I find it highly unlikely that the game was entirely done, including SM3.0 support, before they ever had the chance to run it on actual 3.0 hardware.
Are you sure they didn't just design the engine with future support for SM3.0, and then implemented it when they had the hardware? That's rather trivial, and such a statement would just be hollow marketing talk. Pretty much every shader-supporting D3D engine would fulfill that requirement, since supporting SM3.0 is no different from earlier versions.

Shifra said:
They dont need or test older cards usually. Have you ever seen a game released that works bug free up and down the spectrum of cards? I havent.

Just because it doesn't work everywhere doesn't mean they didn't test it. It's impossible to test every possible combination of videocard, driver, chipset, OS etc, and find every little quirk that may or may not occur depending on lunar cycles and all.

Shifra said:
More and more games launched are using engines todays cards cant handle

Is that so? Can you give some examples then? The last games I've played are Far Cry, Doom3 and Half-Life 2, and they all worked fine at max settings on a 6800 card.
And as far as I was aware, those were the most significant new engines, technically.
 
Zinn said:
Sounds like how Internet Explorer fixes peoples crappy HTML coding. So then when a web page works in IE but breaks in Firefox (which is actually standards compliant), people will be all like "Firefox sucks!" when really it's their crappy coding and Internet Explorer's permissiveness that sucks. I am a firm believer in code interpretation that assumes nothing and breaks when something is incorrect. This makes for good coding experience gained as well as portability.

If something works only by virtue of quirks in the supporting platform and that platform were to someday change, then the sheisty code would cease to work, and that wouldn't be any fun for anyone.

I agree with this. I think the (lack of) language completeness is also to blame. Ideally, a language specification should cover the entire syntax, with ZERO room for interpretation. (The language should specify exactly what happens when you do "surfacecolor += lightmap;" ) ... of course, engineering a language to that level is a herculean effort... but still, it's a problem.
 
never said it was done, far from it. But the game is being designed for SM3.0 as a base however the engine started on NV30s, Nvidia sent them NV40s just before public launch last year. Check it out, interesting stuff:

www.projectoffset.com

and as far as games.

F.E.A.R.
AOEIII
Everquest II

Im also speculating games using the Unreal 3 engine stated for end of this year as well to follow suite. Im sure there will be more in there too by the end of the year.
 
Don't forget that its probably likely that ati developed silicon of their r420 and r520 as engineering samples with sm3.0 specificly for game deisgning to have to allow ati adaquate coding support.

So just because nvidia has had a 3.0 card out for a long time and ati hasn't had one out yet, doens't mean future games won't run better on ati which is very likely that games will. Because developers already have info from ati or working engineering samples to code with.
 
kirbyrj said:
I think the preferred thing is more marketing than anything else. After all, FarCry runs better on ATI even though it is a "preferred" Nvidia game. Unless someone here actually is a game programmer, you're probably going to get a lot of nonsense ;).

same with eq2
 
GFreeman9 said:
For the most part the 6800 series does a lot better in OpenGL games such as Doom 3. Unless you have a 7800gtx or 7800gt the x850 and x800 series beat the 6800 series.

...what? :confused:
 
Saeid said:
ATi has the entry level and mainstream market...
NVidia has the high end...
It's not as simple as that. nVidia currently has entry level, mainstream, and high end. ATI pretty much cover the same spectrum, but not to the same extent.
 
inotocracy said:

I think what he might have meant was:

IF ( (you DON'T have a 7800 GTX) or (you don't have a 7800 GT) ) THEN
the x850 and x800 beat the 6800 series
ELSEIF ( (you DO have a 7800 GTX) or (you DO have a 7800 GT) ) THEN
the x850 and x800 series do not beat the 6800 series
END IF

makes perfect logical sense. :p
 
When it comes to openGL... it is Nvidia preferred... hands down.

The mmo that I use is using openGL... and the developers don't even recommend using an ATI card... some of the options don't even work on an ATI card anyway. The developers did not descriminate in their programming... but it is ATI's openGL implimentation that is not complete.

Not only that, but ATI has refused repeated attempts at working with them to fix some of the problems.
 
Lestang said:
I know but I am bored at work. I work for a Broadband ISP.
oh yea, what's your job field? going to gradute HS this year tryign to deside what do do in future.
 
Yashu said:
When it comes to openGL... it is Nvidia preferred... hands down.

The mmo that I use is using openGL... and the developers don't even recommend using an ATI card... some of the options don't even work on an ATI card anyway. The developers did not descriminate in their programming... but it is ATI's openGL implimentation that is not complete.

Not only that, but ATI has refused repeated attempts at working with them to fix some of the problems.

which mmo would that be
 
Back
Top