my ponderings on the recent allegations of 'optimisation'

X

Xavier

Guest
By now we've all read articles pointing fingers at company x for "optimising" their drivers specifically for application y, and for the most part the only solution is slapped wrists all round for those concerned...

Personally I don't believe you can call any alteration a games codepath which results in poorer IQ an optimisation, after all if you wanted things to look worse but run quicker that's what the texture detail slider is for.

What if instead of sticking the optimisations into your driver, the 'bias' occurs at an application level, like we saw with 3DMark 2003 back in April - is that any more forgivable? If you accept the input from one manufacturers developer relations’ team so as to improve your games performance on their GPUs, surely you owe it to your prospective customers to have similar relationships with all the major players?

The only other logical answer is to avoid such tweaks totally, but it would be crazy to suggest that games developers coded 'down the line', producing arbitrary DX9 code with zero optimisation for either side, the different architectures of the hardware after all is becoming way too diverse.

With games developers beginning to talk in terms of whose hardware their titles favor, a division is already beginning to appear, and they seem fine with that... Isn't it their job to make sure their engine is geared in such a way as to lever equal performance and eye candy from the flagship products of NVIDIA, ATI et al? Do we really want to end up buying our graphics card based on which games a GPU will run? Or to have to choose a GPU knowing that certain games will be a non-starter? I thought the days of needing a specific GPU to play a certain game such as what we saw with Glide and 3DFX were long gone... but with some of the rumbles we've been hearing from certain camps lately we're not a million miles from such a situation becoming reality.
 
X

Xavier

Guest
</rant>
</thinking>

sorry, just been considering it all for the last few days and felt the need to vent...

thoughts anyone??
 
J

Jonty

Guest
I have to confess that I don't really know what's possible nor achievable, nor how the industry works, but it strikes me that something has to be done, and that standards may provide some sort of solution if strictly adhered to.

The following analogy isn't exactly great, but it does share some parallels in places with what Xavier's described.

Basically, Internet Explorer (IE) has long been the browser of choice, and has virtually always shipped with special optimisations and IE-only features which provide a 'richer' browsing experiencing, but which are completely meaningless to other browsers. And so a division was created between IE and other browsers surrounding the way in which they displayed webpages. For designers, they would often end up producing two versions of a site, one for IE and one for other browsers. The problems of this method are manifold:

  • Excessive development time
  • Excessive cost
  • Unnecessarily complex code
In the end a web standards body emerged called the World Wide Web Consortium (W3C) who effectively created a list of standards which would unify once and for all the way in which all manner of Internet activities are to be performed. These standards were open, free and constructed by representatives from across the industry and even from the end users themselves.

At the moment we're in a transitionary period. The standards exist but they're not quite fully implemented by all. However, designers can now make one site and, some exceptions withstanding, know that it will work on any operating system, using any standards compliant browser. Yes, there are some downsides, but things are immeasurably better.

It strikes me that such a standards body for the graphics industry could be of great value. Representatives from manufacturers and software developers need to come together and iron out some sort of API that will operate without the need for optimisations for certain CPUs, or certain operating systems or certain graphics cards.

Manufacturers would then build cards which conformed fully to these standards, thus enabling software developers to avoid the pitfalls listed above. They would no longer have to rely on optimisations and they would no longer have to right seperate code paths for nVidia or ATi graphics cards. The time and money saved could then be utilised to finish their products earlier and to a higher standard. The marketplace might even become broader due to these standards, as companies who previously couldn't afford the time, money and expertise to work on such projects would now be given a fighting chance if they knew they could design a program with just one set of standards which they needed to adhere to.

Don't get me wrong, I'm under no illusions as to how hard the above would be to create in the real world. It would take a long time for everyone to agree, backwards compatibility would still be a problem, and half-implemented standards would be of little use to anyone. But something has to be done, on that I think we're all agreed.

Kind Regards
 
X

Xavier

Guest
believe it or not we actually have two standards bodies for the two 3d APIs used today...

DirectX being specific to Microsoft platforms is controlled and ratified by MS themselves, which is relatively fair considering they don't produce GPUs

and OpenGL is controlled by the OpenGL ARB, a collection of some of the most talented and influential minds in the 3d industry.

For the most part, the code which exists in these games is pretty vanilla, and one way or another makes little difference whose board you run it on, it's only areas such as the comparitively superficial eye-candy such as shaders and lighting that different codepaths are generally, dependant on on the family or GPU installed... These extensions are outside of the boundaries of the API itself, but it's no more non-standard than a new instruction set being bolted onto a CPU by Intel or AMD, and as long as equal optimisation is made, and that original codebase doesn't lean one way or another , performance on two competing architectures shouldn't be vastly different...

Though your analogy about microsoft does raise one thought... If a game were to end up so heavily optimised for one manufacturer, and you could almost argue that they'd had things put in place to lessen performance on their competitors boards - would that be grounds for a competition/antitrust lawsuit?

Xav
 
W

Will

Guest
Originally posted by Xavier
DirectX being microsoft-only is controlled and ratified by MS themselves, which is relatively fair considering they don't produce GPUs
Unless you want to run a game on an alternative OS, in which case you are screwed.:eek:
 
X

Xavier

Guest
that's pretty much why even though the two are pretty similar OpenGL still lives and breathes :)
 

Users who are viewing this thread

Top Bottom