A big part of why PC games are so unoptimised is the huge variety of hardware available to PC gamers. Each console has basically one standard set of hardware, so it's relatively easy for developers to optimise their code for each platform. If they tried to do the same level of optimisation for every possible PC hardware set, then every game would take as long to make as Duke Nukem Forever.
Part of it is optimization, another part of it is that a lot of PC games have a lot more eyecandy than their console counterparts. Most console games these days run at the equivalent of low settings, with no Anti Aliasing at 720p resolution (or even lower), and even then, the consoles can only barely maintain 30FPS. A lot of PC games will have things the console version doesn't like higher resolution textures, anti-aliasing, more advanced lighting effects, Depth of Field and Ambient Occlusion, more advanced Post-Processing, and Tessellation, as well a the ability to render the game at much higher resolutions than 720p.
That is the big reason why you need a beastly graphics card to max out every game. Yes, there are some very badly optimized ports out there, but that is not the entire reason why you need a better GPU to run games that are also available on the consoles.
There is no lack of optimization in my personal opinion, unless speaking of some specific bad examples. Thing is, graphics card power required to improve graphics quality is an exponential function, which means for every little bit for graphics quality to improve, to resemble real life, it takes huge amount of processing power to render it in real time.
Good example of this is battlefield 3: Ultra graphics look just a bit better than high graphics preset and the difference is barely noticeable, however, it takes twice as much graphical power to run at same frames per second.
Also note that Pc games have an added dificulty:
OS and background programs.
Consoles normally focus 95% of their resources on the game itself, while PCs have normally a decent ammount of crap running in the background that can slow down performance.
If you make a clean windows install, and only play games on it, you will see a significant increase in performance from a ...lets say 3 year old install with things like java, antivirus, firewall, etc etc etc.
pc games cant be optimized since that would mean developing a game where by the engine in use would favour certain hardware, that would mean when you release the game your target market will be very small, where on the other hand what developers do now is much better, they develop games and then build in settings feature where you can down clock the games graphics requirements, to the hardware you have
also like many of the others have said the console counter parts are nowhere near as good as the pc equivalents, on the exception the call of duty franchise in my personal opinion was never desktop orientated, so thus a game such as that wont run well on desktop (still runs better than the console), on the other hand game such as battlefield and crysis are entirely desktop orientated so you will see improved gameplay on the desktop compared to the console counterpart
I Realised that the reason we need such beastly and expensive graphics cards to run most games on PC at max setting is down to optimisation and development, or lack of.
If Developers optimised these from the ground up like they do for PS3 and Xbox, the requirement would be much less.
Do you think that we will still have this issue when the next console generation starts?
The point is, as some have stated already, there are many different PC systems that can be made. Some are capable of extremely high settings, and others are not.
It is up to the user to self optimize their games. If you have a slow system, you choose lower settings. Many games make an attempt to auto detect what would be best for your system, but leave it up to you to fine tune it. That is why there are low, medium and high settings for most all games.
Just because your system cannot manage high or ultra settings, does not make a game poorly optimized, it only means your system is not capable of achieving those settings, but there are other settings your system should be capable of. Learn to accept that your system will not always be able to max out all games unless you get a super computer and even then, some games have settings that just aren't possible to use and get good performance until some time into the future when hardware is better.
Fact is that even prehistoric GPU's like the ATI x1950 pro (that i as pouwerfull as consolses) can run games at conolse settings. so this part "poorly optimized" is BS
It's goes without saying that the OP means poorly optimized vice the performance expected out of a game that you put on your PC and play on your PC. But yes, PC games can be run by ancient hardware at their console-equivalent settings. That's just something that can be taken for granted, since most posters here are relatively familiar with current and previous generations of hardware.
It's basically a mind set issue. With PC's, you have to realize that the game is meant to be played at settings lower than max, but they have these super high settings for those with extremely high end systems. That does not mean the game isn't enjoyable or good looking at lower settings.
I'd argue games are very well optimized generally speaking in terms of doing what needs to be done in the fewest processing cycles. Issues comes from the same code trying to run on various hardware configurations with even more variation in settings between individual machines. It's impossible to code for every possible permutation.
I think it gets worse when a game say is ported from say an xbox 360 for example to say a pc, its a well known fact when it is done there is a lot of loose code when done that way.
Than say coding a game with a Nvidia or Ati graphics card in a PC.
It's not quite that clear cut. If you use XNA then porting between Windows and XBox is almost seamless and works very well and the only real differences are storage and input. But, everything else from content pipeline to shaders is consistent. Though, there aren't any solid stats on who uses XNA and who doesn't. Clearly several don't as the Unreal Engine, for instance, is still widely used and that's not XNA.
Hypothetically, the great graphics libraries like DirectX and OpenGL are supposed to encapsulate and abstract video hardware away from programmers so they don't have to worry about hardware specifics. However, even using these you should use feature detection, which those libraries provide, and adapt to the presence and absence of certain features.
a lot of BS going on in this thread...i know its old, but its too tempting to respond. okay first off, poor optimization is indeed a thing. people saying otherwise, leave the room. i can give ya an example. if i had to choose between playing through far cry 3 one more time, and continuing LA Noire, the winner would definitely be far cry 3. not only is it an awesome game, its also stunningly good looking. and i´ve never seen it go below 57fps on my one gtx670. when i finished that title, i thought some mystery would be fun, so i settled in for LA Noire. at least i did for 30 minutes. because i couldnt bare the bad fps, micro-stuttering and 30fps cap. it even went down to 25 once! its not even a great looking game ffs. dont get me wrong, the game itself is fantastic, the voiceacting quality is through the roof! watch their techdemo and you´ll see. but since it was so poorly optimized for pc, i had to throw it away. thats just one out of a whole bunch of em. the main reason devs dont optimize their games is because they dont care about pc gamers. we´ve got piracy, varied hardware (thank god), and lower game prices. nothing can change this situation, so pc gamers...deal with it. wait for those golden games like far cry 3.
here´s good symptoms that devs didnt give a crud about pc gamers:
no AA settings (fortunately, getting rare now)
no FOV slider (makes no sense!)
no vsync options (or 30fps cap only)
bad UI (meant for controller)
and last but NOT least, FPS not matching visual quality.
now, of course no developer have time to optimize their games for every set of hardware, but theres no excuse for not doing at least some optimization for mainstream hardware like the gtx 680, gtx 660ti, 670, and HD 7970, 7750 (i think its called). not to mention the i5 3750k (really popular)
not taking advantage of these quite powerful components is saying "fuck you" to the port in general. and companies like EA will keep doing it until they die, so if you want better optimized games, dont buy EAs shit titles for a while, see how their business goes. and just put up with IGNs sponsored reviews for a little longer.
There are optimization issues, but one thing to take into account, as mentioned by others, is that console GPUs are on such a lower level than any of the GPUs out there right now. You need much more power to run games at 1920x1080 or higher. The graphical settings are higher and there are so many additional options that stress the crap out of a GPU (such as PhysX or antialiasing). Take Battlefield 3 as an example. I have both the console and PC version and the difference is dramatic:
(1) The console version runs at 720p, which is a quarter of the resolution I play on PC (2560x1440). Such a low resolution cuts GPU demand down drastically. With all other settings equal, a console would not be able to even run Battlefield 3 on 2560x1440. There is a lack on vram and the horsepower isn't there. It would explode!!
(2) Antialiasing is absent in consoles and is an option for PC games. Enabling max antialiasing in Battlefield 3 (MSAA x4) will cut your performance down significantly. AA of any kind on a console would cause it to explode!!
(3) The console version looks worse than the lowest visual settings on PC. If a console GPU had to run Battlefield 3 on PC low settings, it would... explode!!
(4) Console BF3 runs at 30FPS. This is not a very ambitious target, but they have no choice. In order to get 60FPS on console, the graphics would have to look like Super Mario 64!!
(5) Outside of visuals, the console version can't even handle 64 players. In fact, it can only handle 24 players, which is about 37% of the PC player count!!
For those that think the "next gen" consoles will "even the playing field," you're naïvely mistaken. Those consoles will still run games at 720p, no antialiasing, 30FPS for most titles, and overall lower settings. You get what you pay for. If you pay $400 for a console and I pay $2,000 in just my GPUs, you can't expect to match me or even come close. If that were the case, then PC gaming wouldn't even exist. Why would anyone pay thousands of dollars for a PC to game on when a little $400 box made out of cardboard can outperform it?
Yes, PC games aren't optimized optimally, but they are still running games that are generations more demanding than the current and upcoming consoles. You know what's funny? My dual Titans actually have a better price per performance than the PS4 (no, don't tell me that the GPU in the PS4 is cheaper because the PS4 is a bundle of parts). My dual Titans are $2,000 and, according to Nvidia, 1 Titan is 3 times more powerful in terms of tflops than the PS4. I argue that if we were to benchmark the same games, the PS4 would be unable to perform any of them because the settings would be too much for the console to handle. Anyways, we'll stick to tflops for the sake of argument. So 2 Titans are 6 times as powerful as a PS4. Purchasing 6 PS4's would be $2,400 if the price is assumed to be $400 per PS4. Obviously you cannot throw 4 PS4s on your motherboard and run 6-way PS4 SLI, but you get my silly point.
While my argument may seem like overkill, I am outraged by how many simpletons think that the PS4 is the "ultimate gaming PC." Just ask the President of Epic Games
Grid, this is not a PC vs Console pissing contest .
One thing i forgot to add:
There is a lack time and work put into optimizations on the PC due to the fact that companies save up on it.
Long time ago, when the graphics was mostly RAW power, it was easier to optimize, but with every DirecX new feature, the optimizations take longer and cost more money.
Companies are no longer worried about this:
A) They sell on consoles.
B) They sell some on PC, and leave the heavy lifting (optimizations) to the company that made the GPU (nVidia and AMD).
C) The pc GPU is so much more powerfull, that even poorly optimized games run still very well.