Slashdot Mirror


DirectX 'Getting In the Way' of PC Game Graphics, Says AMD

Bit-tech recently spoke with Richard Huddy, worldwide developer relations manager of AMD's GPU division, about the lack of a great disparity between PC game graphics and console game graphics, despite the hardware gap. Quoting: "'We often have at least ten times as much horsepower as an Xbox 360 or a PS3 in a high-end graphics card, yet it's very clear that the games don't look ten times as good. To a significant extent, that's because, one way or another, for good reasons and bad - mostly good, DirectX is getting in the way.' Huddy says that one of the most common requests he gets from game developers is: 'Make the API go away.' 'I certainly hear this in my conversations with games developers,' he says, 'and I guess it was actually the primary appeal of Larrabee to developers – not the hardware, which was hot and slow and unimpressive, but the software – being able to have total control over the machine, which is what the very best games developers want. By giving you access to the hardware at the very low level, you give games developers a chance to innovate, and that's going to put pressure on Microsoft – no doubt at all.'"

323 comments

  1. Yeah right by ggramm · · Score: 5, Interesting

    I worked for Microprose in the 90's. Back then we had direct access to hardware, but the technology was limited. GFX power increased and new tricks came. Now a days it wouldn't be possible to do all that.

    DirectX is the sole reason we have good games and graphics on PC. No one wants to reinvent the whole wheel and Microsoft works a lot with GPU manufacturers to come out with new technology.

    DirectX is not the reason, it's the lazy developers who just port the game from consoles to PC. They don't spend the time to make a PC version that uses DirectX and newest graphics cards to their fullest capability, so why on earth they would do that if you remove DirectX.

    There is no DirectX on Linux and just look at how laughtable the situation is. Yeah theres nethack and some clone of Civilization 2 with worse graphics, but it's far from both console games and PC games that gamers play. It's a joke.
    Microsoft has supported PC gaming to great lengths. We all should thank Microsoft that the situation is even so good. Who we should bitch at are the lazy developers and AMD, who also has been lagging behind. NVIDIA and Microsoft is basically doing all the innovation, and their hardware is miles ahead of AMD's. Microsoft, Intel and NVIDIA. All great companies with great products that are truly working for PC games.

    1. Re:Yeah right by Anonymous Coward · · Score: 0

      No one wants to reinvent the whole wheel

      It's more like knowing how a wheel works than reinventing it. They don't have to reinvent the maths behind GC and other game related stuff, only learn what others have already invented.

      Now if "they" are too lazy to even bother learn how stuff works...

    2. Re:Yeah right by bmo · · Score: 3, Informative

      There is no DirectX on Linux and just look at how laughtable the situation is. Yeah theres nethack and some clone of Civilization 2 with worse graphics, but it's far from both console games and PC games that gamers play. It's a joke

      Funny, Steam games run just fine.

      --
      BMO

    3. Re:Yeah right by Whiteox · · Score: 1

      You are right. But don't forget that DOS was just an OS and it was the exe file, often assembly coded with huge tables for graphics, collision detectors etc that did all the work.

      --
      Don't be apathetic. Procrastinate!
    4. Re:Yeah right by Anonymous Coward · · Score: 0

      There is DirectX for Windows.Called the WineD3D.

    5. Re:Yeah right by SCPRedMage · · Score: 5, Insightful

      There is no DirectX on Linux and just look at how laughtable the situation is. Yeah theres nethack and some clone of Civilization 2 with worse graphics, but it's far from both console games and PC games that gamers play. It's a joke.

      Don't blame the lack of DirectX for the lack of games on Linux. OpenGL works just fine on it, as it does on Windows.

      And Mac, much to the delight of the four people who want to play games under OS X.

      As far as getting rid of graphics APIs, yeah, that's exactly what we need: to go back in time fifteen years, and make devs write their games for every piece of graphics hardware under the sun. There's a damn good reason the industry started using them, and its still as relevant today as it was back then.

      --
      My sig can beat up your sig.
    6. Re:Yeah right by somersault · · Score: 0, Flamebait

      Another fucking MS shill comment from a brand new user, surprise surprise. Do you really think we're that dumb here that spouting some ancient stereotypical BS and then saying things like "innovation" and "truly" in the same post as Microsoft are going to fool us?

      You could have at least mention TuxRacer or Alien Arena if you didn't want your comment to look like it was written in the 90s.. it isn't about Linux/Microsoft, or nVidia/AMD in this case, it's about Direct3D/OpenGL. Mac OS still has modern games despite not having DirectX. Likewise so does the PS3.

      --
      which is totally what she said
    7. Re:Yeah right by Dunbal · · Score: 1

      Microprose was an awesome company and I had all of their games from Silent Service up to and including Falcon 4.0. It's too bad that the company got swallowed whole and recycled so many times.

      I agree that developer laziness is behind many development problems and it's not just limited to DirectX. Look at that steaming pile of horseshit called Bink, which was very popular at one point despite being a festering abscess of sloppy code. Look at some current (cough Miles cough) sound drivers that cause popular (cough TotalWar) titles to crash or have weird sound bugs.

      The old saying "if you want something done right, do it yourself" applies here. However we have to look at the other side of the coin. Microsoft promised with Direct X to provide the magical "universal API" that would conceal all hardware issues, providing a standard interface for developers while the OS took care of the problem of hardware drivers. Microsoft failed to deliver - suddenly when the OS was shipped, it was no longer a priority to keep drivers up to date - this now became the responsibility of the hardware OEM.

      Developers used to maintain their own in-house tools for the popular brands of sound/video cards (Select 1 for Sound Blaster, 2 for Ad Lib, etc) but now the list of hardware has grown so large that it's impossible to stay current, let alone try to innovate.

      And finally hardware manufacturers have pursued a "trade secret" approach (until very recently) towards their hardware, releasing very little information to developers let alone the public.

      All of these factors, and not just laziness on the part of developers, have contributed to the current situation where we are entirely dependent on Microsoft to provide the API that works.

      I think that some huge developers (like say EA) could and should use their clout to improve the situation "improve the following bugs in your drivers or we go with someone else" with the more popular tools that are used in today's games, unfortunately it's usually the finance/marketing department that ends up having their way and buggy games get shipped. They know that we suckers will still buy them - because every other game from everyone else is buggy too. Honestly nowadays I am surprised to get a game that actually runs without first applying a 300+MB patch.

      --
      Seven puppies were harmed during the making of this post.
    8. Re:Yeah right by Anonymous Coward · · Score: 0

      What are you, slow as a spastic in a magnet factory? He was pointing out that Steam games run just fine on Linux, regardless of DirectX.

    9. Re:Yeah right by Tapewolf · · Score: 2

      Am I the only one who remembers the demo scene? Pure DOS. No DirectX.

      Stars, Wonders of the World (1995) - (Contains brief cartoon nudity near start).

    10. Re:Yeah right by Tapewolf · · Score: 1

      Addendum, for those too pressed for time to watch the entire 6:20 demo, the intro finishes at 1:11. Highlights include the face-through-the-wall at 3:13 and the hula-hoop scene at 4:35.

    11. Re:Yeah right by jedrek · · Score: 2

      I remember the demo scene. I remember having to use QEMM to get enough ram for the demos to run, then having them crash. I remember some demos working on my gfx card and not my friends', I remember having drivers for specific sound cards, etc.

    12. Re:Yeah right by Tapewolf · · Score: 3, Interesting

      Amen, mod parent up. Troll? wtf? what shill modded troll?

      Well, I suspect the reason it is considered a troll is because it rewrites history and ignores the facts in order to support its conclusion.
      Stuff like ignoring the thriving DOS games market prior to 1998 or so when Windows finally took over. Brushing OpenGL and SDL under the carpet. I imagine that picking things like nethack and freeciv as a snapshot of linux gaming when you had Wolfenstein 3D, Sauerbraten and various other 3D-accelerated games was what pushed the moderators over the edge. I certainly wouldn't pick Solitaire as an example of what windows gaming looked like, and I loathe Windows.

    13. Re:Yeah right by DJRumpy · · Score: 2

      I agree with some of your points but disagree with a few:

      MS was largely successful with DirectX, and the goal of allowing developers to largely ignore the graphics hardware while concentrating on a standard API was successful. For ill or good, it's driven game design on the dominant platform for years, and arguably kept OpenGL on the defensive.
      MS may provider driver support with their OS because it is to their benefit to have out of the box support, but they have never been best in driver support. They leave that to the GPU vendors and rightly so. MS is often months or years out of date when it comes to drivers.
      Last but not least, developers are not a slave to the MS API. They can always choose OpenGL with the added benefit of portability to other platforms. They simply choose not to, whether that involves cost, development time, or simple unfamiliarity with OpenGL as opposed to DirectX.

      I think a large part of the lack of perceived difference between consoles and PC's these days have a bit to do with the least common denominator, which unfortunately also happens to be an aging dedicated gaming console, and lack of money, time, & resources by developers and publishers to fully stretch the legs of the newest hardware when they can target the lowest common denominator and get by with 'ok' on a PC.

    14. Re:Yeah right by Anonymous Coward · · Score: 0, Flamebait

      Re: "shill", I don't think that word means what you think it means. It's a not a catch-all term for "anyone who doesn't hate Microsoft", you fucking typical Slashdot illiterates. Ah but it's my fault really, expecting intelligence from a festering den of nerd leftoids.

    15. Re:Yeah right by MrHanky · · Score: 1

      It starts out well, but practically everything in the last section is utter bullshit.

    16. Re:Yeah right by sosume · · Score: 1

      No AI. Color cycling. Fractals. What you saw in the demo scene in the eighties, is now available as a visualisation plugin for Media player or Winamp. it looked impressive back then, but it were mere hacks pushing the metal to its fullest. Still they all used the same similar tricks. I watched a few of those again some time ago and was not impressed anymore.

    17. Re:Yeah right by Deus.1.01 · · Score: 0

      You should check out what they do today!
      http://www.pouet.net/prod.php?which=52938

      Also...you gonna tell me a winamp visualizer can do this?
        http://www.pouet.net/prod.php?which=5&howmanycomments=-1

      --
      My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
    18. Re:Yeah right by Anonymous Coward · · Score: 2, Insightful

      As someone who has tried and got pissed off multiple times at the API's, yes the API's need to be much thinner.

      Let's do a quick comparision of how stupidly inefficient game development is...
      1. Xbox/Xbox350 - DirectX,Managed C#
      2. Wii/Gamecube - OpenGL,C/C++
      3. PS2/PS3 - OpenGL, C/C++
      4. PC - DirectX, Managed and Unmanaged C,C++, C#, OpenGL
      5. Max - OpenGL, C/C++,ObjC
      6. Linux - OpenGL, C/C++
      7. Android - OpenGL, Java/Native C/C++ maybe.
      8 iOS - OpenGL, C/C++/ObjC
      9 Windows Phone 7- DirectX, Managed C#
      10, All the other mobile phones and devices- Not DirectX

      So the conventional wisdom is that having two different API's (DirectX, and OpenGL) complicates things much as writing libraries in C and C++ .
      Both of the API's were written after-the-fact to replace existing proprietary 2D API's where everything was done on the CPU and the graphics card simply acted as a display buffer.

      If we were to throw -everything- away and start from scratch, everyone should standardize on a unified C-like base that allows this close to metal application, and instead of having million-line long Make files to determine if the system libraries required are installed during compile, have one unified compiler that can do the compilation of the C-like language into the intermediate language+security/signing to verify it hasn't been altered. Then on the target system, the system compiler will verify the code hasn't been altered, compile and cache it into native binary's that use the hardware close to metal, no intermediate api's, libraries, or other overhead. The entire process would be quick, and as you upgrade your devices, the new system can make better use of new hardware, or the application can run in it's original profile (to avoid the type of problem we have with old software not working when the old shared libraries no longer exist, and the new hardware is too fast.)

    19. Re:Yeah right by swalve · · Score: 1

      How does an API change what you can do with the hardware?

    20. Re:Yeah right by perpenso · · Score: 4, Informative

      And Mac, much to the delight of the four people who want to play games under OS X.

      Last I heard you are about 5 orders of magnitude off with respect to Mac users playing World of Warcraft. :-)

    21. Re:Yeah right by digitig · · Score: 5, Funny

      0.00004 people?

      --
      Quidnam Latine loqui modo coepi?
    22. Re:Yeah right by CharlyFoxtrot · · Score: 4, Insightful

      Don't blame the lack of DirectX for the lack of games on Linux. OpenGL works just fine on it, as it does on Windows.

      And Mac, much to the delight of the four people who want to play games under OS X.

      Don't forget iOS ! Pretty popular gaming platform these days and it supports OpenGL ES 2.0.

      --
      If all else fails, immortality can always be assured by spectacular error.
    23. Re:Yeah right by Anonymous Coward · · Score: 0

      I worked for Spectrum Holobyte and later Microprose after the buyout and name change in the 90s, back when I lived in Alameda. Were you one of the idiot game testers by any chance?

    24. Re:Yeah right by Anonymous Coward · · Score: 0

      MS did when they required card vendors to add tilt bits and other DRM into the hardware. Windows doesn't allow direct access to gfx or
      sound hardware in case you try to pirate stuff. Protected pathways and all that crap.

    25. Re:Yeah right by tepples · · Score: 1

      Don't blame the lack of DirectX for the lack of games on Linux. OpenGL works just fine on it, as it does on Windows.

      Really? I've been told that the proprietary OpenGL drivers on Linux aren't that good quality, especially AMD's.

    26. Re:Yeah right by dagamer34 · · Score: 1

      That's why developers create middleware engines to abstract away most of the low-end stuff because they don't want to be bothered with it. Ever heard of Unreal Engine 3?

    27. Re:Yeah right by CastrTroy · · Score: 5, Interesting

      Yes, things were so much better back in the day when you had to have a very specific graphics card, or audio card, or joystick, otherwise the game wouldn't work. Developers had to code for each piece of hardware individually. If you bought a 3dfx voodoo card, there was a bunch of game you could play, and a bunch you couldn't. If you bought the gravis ultrasound, you were very much out of luck because most stuff was coded for the soundblaster, and a lot of stuff lacked support for your third party sound card. Joystick support was a complete mess. Also, games don't look 10 times as good, because then they could only run on 1% of the machines, and that is not a big enough market. Sure faster computers exist, but the computers that most people own are probably about as powerful as a console, especially if you look at the graphics chip.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    28. Re:Yeah right by Anonymous Coward · · Score: 0

      As far as OpenGL on Windows, I would guess the developers choose not to for a couple of reasons. First, Microsoft did try to kill OpenGL support completely. They did back off of that, but they certainly had it in their plan to not ship it at all. Second, the state of OpenGL in the graphics drivers on Windows is abysmal. I work at a large corporation where we have folks who do geological modeling and whenever we get in a vertical app that uses OpenGL we cringe. The drivers (from both nVidia and ATI) just suck. They render wrong, crash machines, etc. You are always fighting some stupid bug with them. When the app uses DirectX it usually works OK. This isn't the folks writing the OpenGL app screwing up. It is the lack of development and testing effort on the part of the driver manufacturer. Anyway, it is truly to be avoided until ATI and nVidia decide to devote the resources to actually making it solid.

    29. Re:Yeah right by __aaqvdr516 · · Score: 1

      Never attribute to malicious intent that which can be attributed to ignorance.

      If you're like most people out there, you haven't really given *nix a try.

      I'm not a dev. I don't know why OpenGL is not as popular as DirectX. I only know that DirectX has all the games I currently play. I can only guess why that is.

    30. Re:Yeah right by icebraining · · Score: 1

      The big titles for the Xbox 360 are developed in C/C++, no managed C#.

      In fact, it's kind of obvious, considering the massive work it would require to port games between the Xbox 360 and the PS3.

    31. Re:Yeah right by garyebickford · · Score: 1

      Haha. Good answer! :D

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    32. Re:Yeah right by garyebickford · · Score: 1

      And while we're at it, I'd like a pony! :D

      --
      It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
    33. Re:Yeah right by TheRaven64 · · Score: 2

      Because, and this is the entire point of the article, you only have the API, you don't have the low-level access to the device. It's like only being able to run Java / CLR bytecode instead of native code on your CPU. If the abstractions picked by the people who designed the bytecode are a good match for what you're doing, then that's great, but if not then you're stuck.

      The DirectX / OpenGL stack is optimised for certain uses. If you had complete access to the card at a low level (which can be done safely on modern GPUs - they're designed to allow userspace apps to send commands directly, it's just that the userspace code doing this is typically an OpenGL or Direct3D library), then you can tweak the entire rendering system for your game. This lets you squeeze more performance out of the system than relying on a big blob of someone else's code between you and the hardware.

      --
      I am TheRaven on Soylent News
    34. Re:Yeah right by drinkypoo · · Score: 3, Informative

      Really? I've been told that the proprietary OpenGL drivers on Linux aren't that good quality, especially AMD's.

      You might use Mozilla's list of Blocklisted Graphics Drivers as your guideline to the reliability of drivers in general at this time since they are currently going through it. They assert (in other sources as well) that only nVidia has a working OpenGL pipeline on Linux.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    35. Re:Yeah right by Anonymous Coward · · Score: 1

      Microsoft, Intel and NVIDIA. All great companies with great products that are truly working for PC games.

      BS. How is nvidia miles ahead of AMD? In what way? Even if AMD CPUs are slower than Intel, they and the required motherboard are less expensive so the buyer would have more money left over to buy a more expensive video card, which makes a bigger difference than CPU in gaming anyway. Your fanboyness is blinding you, man.

    36. Re:Yeah right by Anonymous Coward · · Score: 1

      -- "DirectX is the sole reason we have good games and graphics on PC"

      I think you misspelled OpenGL.

      I find it hard to believe that someone who worked for Microprose 20 years ago would know so little about Linux. http://oilrush-game.com/screenshots/

    37. Re:Yeah right by drinkypoo · · Score: 1

      Because, and this is the entire point of the article, you only have the API, you don't have the low-level access to the device.

      ATI "could" change this any old time they wanted by exposing more of their own API within their driver. They are not doing this for one or more reasons which should be fairly obvious but I will take a stab at a couple of them now. One of them could be that some of their secret sauce would be exposed, the stuff in the driver that they claim it's so important to keep secret that they can't just give us code, but they have to dribble out partial specs for video cards so that OSS developers can do a half-assed job supporting them for ATI, which has always had problems producing credible drivers. Mind you, I believe that the OSS 'ati' driver is an amazing thing as is the 'nouveau' driver but in both cases there's a lot of guesswork necessarily going on that hampers progress. The difference, of course, is that ATI has promised to release the information needed for the 'ati' driver, which to be fair does work for some people. It doesn't work for me on a system with ye olde R690M chipset, which has X1250 graphics; it works for a moment and then I get graphics corruption, and have been for... well, it may be years now.

      The other reason of course is that nobody wants it. If you go back far enough then you will remember when games had a Mystique version, and a PowerVR version, and a 3dfx version... Those days are not anything we want to bring back.

      I think it's clear that if 3dfx had brought out MiniGL to begin with instead of the abortion that was GLIDE, the world would be a better place today, a world without Direct3D. 3dfx opened that door; if they had gone with OpenGL as their interface (even missing functions as MiniGL was) from the beginning then developers would have already been in the habit of using the available, Open standard, and Microsoft would never have had its opportunity. 3dfx made this opening for Microsoft out of hubris; they imagined that they would be able to create a 3D API that would stand the test of time, which has been conclusively proven false.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    38. Re:Yeah right by Anonymous Coward · · Score: 2, Informative

      The NVidia one is feature complete with the windows one. Runs beautifully. only thing it doesn't have is hybrid SLI/ Optimus. and that could be possibly fixed when wayland comes out.

      NVvidia has been putting alot of love into linux even if it is tough love like not giving us open source drivers or following standards like KMS.

    39. Re:Yeah right by Anonymous Coward · · Score: 0

      And yet some people simply don't like most DirectX games. Your anecdotal evidence has failed. Better luck next time!

      Only a fool would thank Microsoft for repackaging and releasing a crappy knock off of free software (yet again) that eventually takes over due to monopoly tactics and not technical merits. I would wager a fair bet that game graphics would be much MUCH more advanced if DX had never existed.

    40. Re:Yeah right by Anonymous Coward · · Score: 0

      GUS support was rather good at the time.. Plus real MIDI, much better than a SoundBlaster unless you happened to have a WaveBlaster, and the GUS had SB compatibility.

    41. Re:Yeah right by supersloshy · · Score: 2

      Don't blame the lack of DirectX for the lack of games on Linux. OpenGL works just fine on it, as it does on Windows.

      I completely agree! I have World of Goo, Braid, Osmos, Penumbra, Nexuiz/Xonotic, NetHack (of course), Scorched 3D, Battle for Wesnoth (get it, it's awesome), emulators for pretty much every console on the planet except the really powerful ones, and also a ton of games in Wine (Civilization IV with no DRM, pretty much every one of Telltale's adventure games, Baldur's Gate, Psychonauts, Portal/HL2) and they all work perfectly (in fact, sometimes better than on my Windows XP partition). OpenGL is more than what most games need to work properly. DirectX certainly isn't needed, and the lack of games is simply because of a lack of popular support (though I've found that nearly every Linux junkie I know is a gamer... hmm...).

      --
      "Our country is not nearly so overrun with the bigoted as it is overrun with the broadminded." -Archbishop Fulton Sheen
    42. Re:Yeah right by Anonymous Coward · · Score: 0

      Mac drivers for ATI and nVidia are OpenGL, and rock solid. Surely they don't lose that much when writing similar drivers for Windows?

    43. Re:Yeah right by bmo · · Score: 1

      Any sufficiently advanced incompetence is indistinguishable from malice.

      --
      BMO

    44. Re:Yeah right by Anonymous Coward · · Score: 1

      You've been told dead-wrong. NVidia used to have much better proprietary drivers, stable, frequently updated, etc. They were very good. In the past 1-1/2 years, AMD has fixed all the nonsense garbage that was the ATI driver lump. Now, I love AMD's drivers. It's the nVidia ones that lag kernel releases, aren't stable, etc.

      My newest hand-built system running 3 different ATI cards to drive 4 flat-panels is solid as a rock. My laptop with an nVidia 9600 card in it has issues--certain programs will cause it to nuke the display and never come back. Have to SSH in from another box, shut everything in the X-session down, and FORCE-remove the driver from the kernel before I can get it all sorted out.

    45. Re:Yeah right by Anonymous Coward · · Score: 0

      AMD drivers don't do OpenGL right, period. They're a DX shop that just releases OpenGL support at the last minute.

    46. Re:Yeah right by tp_xyzzy · · Score: 1

      Not only that but directX and opengl are actually making writing games considerably more difficult. The problem is that they both enforce some arbitrary rules in their api's, while game developers would want freedom to do anything the hardware is capable of doing. Writing what developer wanted was easy when you could directly access the screen pixels. Now that is not possible and developers need to do hacks to get the same thing. The problem is these arbitrary restrictions that the api's are enforcing.

      The fact is that neither opengl nor directx is designed for the game developers. They're designed to make game development so difficult that hobbyists cannot do it! So that the playing field is completely reserved for companies.

    47. Re:Yeah right by tuxicle · · Score: 1

      Funny, "Elevated" (the 4k intro) uses D3D...

    48. Re:Yeah right by UnknownSoldier · · Score: 4, Informative

      > Let's do a quick comparison of how stupidly inefficient game development is...
      > 2. Wii/Gamecube - OpenGL,C/C++
      > 3. PS2/PS3 - OpenGL, C/C++

      Your facts are wrong. I've _shipped_ games on Wii, PS2, amongst other consoles. Currently, I do compiler support on the PS3 and am familiar with the rendering APIs that drive the RSX.

      * The Wii does NOT use OpenGL. I personally know because I wrote an OpenGL implementation over _top_ of the native GX calls. While the GX*() API _is_ strongly _based_ on OpenGL, it is NOT OpenGL.

      * The PS2 does NOT have OpenGL. You either
        a) manually build a packet to set the GS registers,
        b) use the sce*() calls, or
        c) write your own API.
      At one job, where I wrote the Wii-OpenGL, we had an in-house implementation of OpenGL running on the PS2, but that was, again, over _top_ of the native GS registers.

      * There are 2 rendering APIs on the PS3. CGM and OpenGL. I could probably count on one hand the total number developers that have shipped their game with OpenGL. Almost no one ships OpenGL it because it is SLOWER and LESS EFFICIENT then CGM.

      Please get your facts straight before looking like an ignorant fool.

      Cheers

    49. Re:Yeah right by John+Betonschaar · · Score: 1

      The GUS sound blaster support (it was emulated, by the way) was terrible and didn't work properly in many games. When games started to go to Windows the GUS was basically dead, because Gravis never managed to write decent drivers for it, which had something to do with the fact that the GUS did not support DMA streamed audio or something. It's wavetable/sequencer-based design was basically almost fundamentally incompatible with the way Windows sound drivers were supposed to work. I never managed to get decent WIndows performance out of the GUS under Windows with the experimental drivers Gravis released but stopped developing before they actually worked.

      Which was a shame, because I always loved my GUS, back then it was without any doubt the best soundcard for wavetable sequencer music, and years ahead of the competition. I did buy a Gravis Ultrasound MAX after that, which had a secondary SB16 compatible chip (an ESS Maestro something) for Windows sound.

    50. Re:Yeah right by Anthony+Mouse · · Score: 1

      1. Xbox/Xbox350 - DirectX,Managed C#
      2. Wii/Gamecube - OpenGL,C/C++
      3. PS2/PS3 - OpenGL, C/C++
      4. PC - DirectX, Managed and Unmanaged C,C++, C#, OpenGL
      5. Max - OpenGL, C/C++,ObjC
      6. Linux - OpenGL, C/C++
      7. Android - OpenGL, Java/Native C/C++ maybe.
      8 iOS - OpenGL, C/C++/ObjC
      9 Windows Phone 7- DirectX, Managed C#
      10, All the other mobile phones and devices- Not DirectX

      It looks to me like you can hit everything on your list but WP7 and XBOX with OpenGL and C/C++. And it's not like WP7 is a huge market at this point. So if you don't want futz around with multiple APIs and languages, all you really have to give up is XBOX.

    51. Re:Yeah right by bami · · Score: 1

      Only XBLA and indie games run in managed C# using XNA, since Microsoft wants some sort of protection against running full unsigned code on the device (which makes the xbox the only console that hasn't been completly rooted).

      Also, AMD can suck it. The reason for PC games to look the same as the console versions is not the fact that developers hate directx or opengl apis, it's the fact that it takes a buttload of work to make content in higher resolutions for PC only. Content budgets are already sky-high, and making higher res textures, models and shaders just for PC isn't financially viable for a platform that has such a high percentage of piracy.

      tl;dr: Content creation for games takes a lot of resources, and developers really don't want to make everything in higher resolutions. They don't care if there is an API in the way, you don't need direct access to the video hardware anyways, and most stuff is already accessible to make hacks like carmacks reverse technique for shadowing.

    52. Re:Yeah right by hairyfeet · · Score: 3, Interesting

      Can I say something AC? As a game developer you can bitch all you want (in fact I'm gonna bitch about you in a minute) but I sure as hell don't trust your coding skills which means letting you have "bare metal access" so you can make my PC as crashy as Win9x is a big DO NOT WANT.

      People seem to forget we've already been down this road and it was called DOS. Sure games ran crazy fast, and frankly could pull off graphics that you weren't able to imagine the hardware was capable of. The problem was one buggy game could bring it falling down and things like rebooting or even having to yank the power cord to get control of your PC after the game went FUBAR was SOP of the day. Do we REALLY want to go back to that, when games are already so drool worthy on PCs you can spend 30 minutes dying on a new game because you're too busy admiring the purty to play the thing?

      Now for the ragging part: game developers suck I'm sorry but its true, you guys really really REALLY suck. You want us to trust you with bare metal when every damned game that comes out nowadays needs damned near the size of the game in fricking patches because your shit is so buggy? And for every ONE developer that puts out a TRUE PC PORT, you know, one actually designed to take advantage of the PC platform with decent controls and will upgrade and degrade gracefully depending on GPU we have two dozen shitball console ports that frankly all the "bare metal" in the world won't help since your code is designed for a different arch than what it is running on. That would be like the guys at SheepShaver bitching because OS9 doesn't run with native speed and control on Intel OSX. Well duh! One is for a PPC and the other x86!

      So frankly IMHO both you and the AMD guy are so full of shit your eyes are brown. There is not a damned thing wrong with DirectX and these designers that are bitching about "bare metal" are most likely putting out shitty unoptimized console ports and then having the brass balls to bitch because their sloppy code doesn't run fast. Frankly do us both a favor and just don't bother, as I'd rather have no game at all than your shitty unoptimized console twaddle. When my quad core with an HD4850 struggles because of your crap console code it ain't the fault of DirectX, it is your fault for putting out lame console shit without bothering to optimize for the platform. So make the world a better place, either do the job right or don't do it at all. Me and the other PC gamers will thank you for it.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    53. Re:Yeah right by Anonymous Coward · · Score: 0

      What do you mean by "remember"??? The demoscene is *still* kicking in this modern era of shader technology. (4K intros especially have benefited from today's shaders.) And they uses APIs!!!

    54. Re:Yeah right by HermMunster · · Score: 1

      I'd say you were informed up to a point, though you make the fallacious conclusion that DirectX results in better looking games and that Linux games suck because of the lack of DirectX . OpenGL exists, and great looking well done games can be created for use with that API. The problem is the commitment by the large game development houses to support the 100 million Linux users. Some do. The problem is the same as AMD is complaining of--ONLY SO MUCH RESOURCES CAN BE THROWN AT A PROJECT BY ANY GIVEN DEVELOPER.

      Your statement about how laughable the situation is belies the difference between how the OpenGL games look and play vs. their DirectX equivalent--that those differences are imperceivable. Unreal Tournament is a great example. There's no perceived visual or play characteristics that make the DirectX version better.

      --
      You can lead a man with reason but you can't make him think.
    55. Re:Yeah right by Anthony+Mouse · · Score: 2

      ATI "could" change this any old time they wanted by exposing more of their own API within their driver. ... The other reason of course is that nobody wants it. If you go back far enough then you will remember when games had a Mystique version, and a PowerVR version, and a 3dfx version... Those days are not anything we want to bring back.

      I agree that we don't want to have a different API for every piece of hardware, but I don't think that's really the idea here. You don't want the GPU equivalent of assembly language, you want the GPU equivalent of C -- something as low level as possible without being hardware-specific, and then a compiler or equivalent with a back end for each different hardware architecture.

    56. Re:Yeah right by Anthony+Mouse · · Score: 3, Insightful

      As a game developer you can bitch all you want (in fact I'm gonna bitch about you in a minute) but I sure as hell don't trust your coding skills which means letting you have "bare metal access" so you can make my PC as crashy as Win9x is a big DO NOT WANT.

      There is a difference between exposing lower level instructions on a GPU to the programmer and doing away with protected mode and virtual memory.

    57. Re:Yeah right by Anonymous Coward · · Score: 0

      Really? You don't think someone with a new account who writes a 5-paragraph post and then submits it to Slashdot in < 60 seconds isn't suspicious? I mean, let's just ignore that no less than 6 different accounts have been discovered in the last two weeks which are methodically doing the same thing while praising Microsoft. His post, while semi accurate, states a bunch of loose claims with no reinforcing evidence - he even mixes in gems like "we all should thank Microsoft" and "Microsoft is basically doing all the innovation."

      The final damning clue should be that his entire post is off topic: the AMD rep. was discussing what developers were commenting about DirectX - he implicitly excluded the consoles' effect on PC games. Note the "for good reasons and bad" explanation in TFS.

      If anything, I think Slashdot is being trolled by some of these, for the lolz like some might say. This is clearly not done on behalf of Microsoft (you really think they care about what can be achieved by such posts on our little corner of the web?), I suspect quite the opposite if anything is happening.

    58. Re:Yeah right by Anonymous Coward · · Score: 0

      Who we should bitch at are the lazy developers and AMD, who also has been lagging behind. NVIDIA and Microsoft is basically doing all the innovation, and their hardware is miles ahead of AMD's...

      You are right, NVIDIA launched the first DirectX 11 Graphic Card.... oh wait...

      There is no DirectX on Linux and just look at how laughtable the situation is. Yeah theres nethack and some clone of Civilization 2 with worse graphics, but it's far from both console games and PC games that gamers play. It's a joke.

      So, what the fuck is Unreal Tournament 2004? Any person that uses FreeCiv to indicate what are the best graphics on Linux games is a TROLLLL!!!

    59. Re:Yeah right by Anonymous Coward · · Score: 0

      Bah, who needs Windows or Games when you have awesome Demos like Facts of Life and Unreal?

    60. Re:Yeah right by Anonymous Coward · · Score: 0

      OpenGL definitely exists. It is also definitely not a replacement for DirectX. It doesn't have any of the modern Dx10/11 features and most game developers ignore it. Yes, some steam games (and by that you mean source engine games, not steam games) support OpenGL and work in Linux. But just because half life 2 can run in linux, thats hardly saying that linux is getting PC developer attention, or that games running on openGL are keeping up with or are a viable alternative to directX.

      shush, you!

    61. Re:Yeah right by Anonymous Coward · · Score: 0

      Sounds like console gaming, no?

    62. Re:Yeah right by Unequivocal · · Score: 1

      And second addendum is to mute your audio before playing as that has to be the most annoying bass riff I've ever heard.

    63. Re:Yeah right by Khyber · · Score: 2

      Go pick up .kkreiger and get back to me when you're done with it :)

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    64. Re:Yeah right by Khyber · · Score: 1

      I'd personally doubt the Microprose story entirely.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    65. Re:Yeah right by Anonymous Coward · · Score: 0

      I agree that the majority of his posts are clearly just trolling attempts, but every now and then he posts something so warped and deluded that you're left thinking he really is employed at some marketing firm - he's just that good at emulating the brain dead lowlives.

    66. Re:Yeah right by Anonymous Coward · · Score: 0

      Cannot agree enough. OpenGL exists and is a fine open-source alternative, although it has always lagged behind DirectX's development because of Microsoft's backing. DirectX's existence isn't destroying OpenGL, and its not crippling developer creativity either. Ever since the addition of shader languages, DirectX can do whatever the hell you can imagine the video card could do for you. If there's a reason why PC games don't look 10x better than 360 games, its because everybody these days complains that there's too much piracy on PC, so they develop for 360 first and then either port to PC fast or don't port at all.

      The PC port of RE4 had no lighting, pre-rendered cutscenes, and no mouse support.

      The Gamecube version had realtime lighting, realtime cutscenes, and looked and played great.

      It has nothing to do with the API whatsoever. I hate Microsoft's guts and I think DirectX is a pretty solid graphics API.

      The problem is with the industry perception that piracy is less a problem on 360 (thats bullshit) and other consoles than on PC.

        Any game which actually targets PC, say Crysis 2, looks amazing on PC and easily outdoes the consoles. But even then, maybe it isn't pushing the PC as far as it could go. But if thats true, again, its because they didn't spend all their time on the PC version, not because the API was bad for PC.

      The API on the PS3 is probably as bad as can be, so how does this not apply to consoles as well? Somebody didn't think this through. Bad APIs would hold back game development across the board. Don't blame directX just cuz its the only one you know.

    67. Re:Yeah right by Anonymous Coward · · Score: 0

      There is no DirectX on Linux and just look at how laughtable the situation is.

      I've put my copies of Doom3, Quake 4, and UT2004 on both WindowsXP and Linux; they look, sound, and play exactly the same, to me. Zero difference.

    68. Re:Yeah right by Anonymous Coward · · Score: 0

      Native games. Emulating (dont go into semantics about what emulating is, i dont care) is not native.

    69. Re:Yeah right by shentino · · Score: 1

      Microsoft probably likes it that OEMs are keeping their specs under wraps and writing their own drivers.

      A pleasant side effect for them is that it makes it very difficult for Linux to take advantage of that proprietary hardware, leaving more of the gaming market for Microsoft.

    70. Re:Yeah right by Anonymous Coward · · Score: 0

      It demonstrates how important it was to get a good composer for your demo. Any demo, no matter how good-looking, would have sucked ass with that soundtrack.

    71. Re:Yeah right by Stiletto · · Score: 1

      Or, in other words:

      1. Microsoft platforms - DirectX, C#
      2. Everyone else - OpenGL, C, C++

      The problem here, as usual, is Microsoft. As they have done for decades now, they are deliberately pitting home-grown competing technologies against common standards to drive a wedge into the developer world. The outcome is wasted effort and less innovation.

      I went to a mobile developer talk hosted by MS a few weeks ago, and they insisted that developers will just love to abandon industry standards and get locked into their proprietary techs, re-writing all of their existing code just to run on Windows Phone 7. It would have been hilarious if I didn't think they were serious.

    72. Re:Yeah right by Deus.1.01 · · Score: 0

      It was originally coded in GL but they needed to port it so they could shave of a few bytes...
      But wasnt really alluding to the main topic, hell demosceners today swears by DirectX and OpenGL evenly, they need it to try to cram as much graphical CS theory into their prods as they can.

      But there is still plenty of instruction tinkering going on....
      Lightshaft, edge of disgrace and jesus christ motorcross is as testament to that...as well as this dozy:

      http://www.youtube.com/watch?v=sNCqrylNY-0

      --
      My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
    73. Re:Yeah right by the+linux+geek · · Score: 1

      Read your sibling posters before you go on a rant. Xbox 360 is normally programmed in C/C++, except XBLA, and PS2 and PS3 use a proprietary Sony-specific API.

    74. Re:Yeah right by cheekyjohnson · · Score: 1

      isn't financially viable for a platform that has such a high percentage of piracy.

      Where did you get this information?

      --
      Filthy, filthy copyrapists!
    75. Re:Yeah right by Anonymous Coward · · Score: 0

      As someone who has tried and got pissed off multiple times at the API's, yes the API's need to be much thinner.

      Let's do a quick comparision of how stupidly inefficient game development is... 1. Xbox/Xbox350 - DirectX,Managed C# 2. Wii/Gamecube - OpenGL,C/C++ 3. PS2/PS3 - OpenGL, C/C++ 4. PC - DirectX, Managed and Unmanaged C,C++, C#, OpenGL 5. Max - OpenGL, C/C++,ObjC 6. Linux - OpenGL, C/C++ 7. Android - OpenGL, Java/Native C/C++ maybe. 8 iOS - OpenGL, C/C++/ObjC 9 Windows Phone 7- DirectX, Managed C#

      Ok, you made a list. Where's your comparison?

    76. Re:Yeah right by twocows · · Score: 1

      ATI innovated far more than Nvidia in late 2009/early 2010. The competition brought by ATI's stellar 5000 series forced Nvidia to step up their 400 series; the 200 they had put out was just a rebrand of a rebrand of the 8800 GT.

    77. Re:Yeah right by Anonymous Coward · · Score: 0

      But there is OpenGL on Linux, and until very recently, it was better than DirectX (and if the OpenGL folk would finally come up with an innovative version, they would be ahead again). There was nothing stopping developers from putting games out for OpenGL (in fact, a lot did), and there is nothing with framerate or special effects coming out of video cards running on a Linux box. The only thing stopping it was microsoft, once again, threatening to cut the balls off of any games company that ports a game to Linux. They just ship of DrDos, with microsoft games and applications from the mid 1980's and early 1990's, and show how the applications work with MSDOS, and how they appear to cough up a weird system error with DrDos, and when all you do is change an identification string in DrDos to show "Microsoft", they all miraculously start working perfectly. Then microsoft throws in a cartoon, showing the name of the games company and Linux circled in a bubble, pointing to DrDos, and another bubble circling Microsoft and the name of the games company, and an arrow pointing to things working and happy users. Its a subtle stick, but they have been using it for years. Don't lie and chock it up to something else. For extra curricular reading, Google "Whack Dell". Thanks buddy!

    78. Re:Yeah right by underlord_999 · · Score: 1

      Actually, the Gravis Ultrasound *did* support DMA to its on-board memory (up to 1 MB in 1992) and no other SB card had onboard memory or processing at the time.

      I know this because I wrote a MOD player in assembly for a college course (independent study) could use either programmed i/o or DMA to load the sample-memory banks.

      The GUS was WAY ahead of the SoundBlaster at the time. 14 channels mixed *in hardware* at 44100 Hz. 28 voices at 22050 Hz and max 32 channels at 19200 Hz. The on-board memory was great for music sample loading and sound effects loading. You had a hardware interrupt that would flag you as the processor was reaching the end of the sample buffer, at which point you would load in the next segment of sound. So streaming audio was actually quite easy for the GUS.

      I also wouldn't say that the emulation under DOS was terrible. When running the Sound Blaster emulation software ('SBOS Installed!'), most games' music sounded cleaner because you were getting an actual piano / drums / whatever in place of the synthetic sounds coming from a SoundBlaster. And games that were written to take advantage of Ultrasound were amazing ( Star Control II for example ).

      Gravis didn't release a driver for Windows NT 4.0 which was a shame. If I had more free time at the time and had I known they would never get to it, I would've written one for them.

    79. Re:Yeah right by Anonymous Coward · · Score: 0

      AMD still playing catch up with NVIDIA on Linux. Zero question about that.

      It used to be AMD wasn't even in the same library for driver quality. These days, they are at least in the same book. AMD is closing the quality gap with NVIDIA, but for now, NVIDIA on Linux is still, by far, the perferred OpenGL solution. Chances are that will change over the next year or three; meaning, feature and quality parity will finally have been reached by AMD.

    80. Re:Yeah right by Anonymous Coward · · Score: 0

      Don't blame the lack of DirectX for the lack of games on Linux. OpenGL works just fine on it, as it does on Windows.

      Didn't John Carmack, who was or still is a part of OpenGL development, recently just say that Direct3D is much better than OpenGL?

      I can't recall his actual involvement with OpenGL and wikipedia didn't help, but I thought he was a technical director or a member of the board or something a while back.

      Anyway, OP is right, and I just wanted to use arguably one of the best game programmer's thoughts as a citation.

    81. Re:Yeah right by jcombel · · Score: 2

      Funny, Steam games run just fine.

      using an implementation of OpenGL with much worse graphics and features than D3D. in a conversation about advancing graphics technology, steam on linux and osx is pretty laughable, as parent put it.

    82. Re:Yeah right by drsmithy · · Score: 2

      Microsoft failed to deliver - suddenly when the OS was shipped, it was no longer a priority to keep drivers up to date - this now became the responsibility of the hardware OEM.

      It's always been the responsibility of the hardware OEM. Outside of the Linux world, OSes have stable kernel ABIs that allow hardware vendors to write drivers without having to worry about next week's minor kernel patch breaking them.

      Do not project the unusual and disadvantageous situation with Linux onto every other platform.

    83. Re:Yeah right by drsmithy · · Score: 1

      MS did when they required card vendors to add tilt bits and other DRM into the hardware. Windows doesn't allow direct access to gfx or sound hardware in case you try to pirate stuff. Protected pathways and all that crap.

      The protected path is only active when you are playing DRM-encumbered media with a DRM-capable player.

    84. Re:Yeah right by Tharsman · · Score: 1

      The age where AMD offered slower but better performance per dollar chips is long gone. I used to build all my PCs with AMD back in the day, but they stayed behind the day the multi-core chips became the trend, becoming too expensive for the no-longer-just-slight performance lag.

    85. Re:Yeah right by Anonymous Coward · · Score: 0

      Don't forget DX10 was actually crippled due to NVidia's then latest and greatest in development wouldn't match the requirements.

    86. Re:Yeah right by Anonymous Coward · · Score: 0

      Didn't John Carmack, who was or still is a part of OpenGL development, recently just say that Direct3D is much better than OpenGL?

      Yep:

      http://games.slashdot.org/story/11/03/11/1832205/Doom-Creator-Says-Direct3D-Is-Now-Better-Than-OpenGL

    87. Re:Yeah right by somersault · · Score: 1

      The fact is that neither opengl nor directx is designed for the game developers. They're designed to make game development so difficult that hobbyists cannot do it! So that the playing field is completely reserved for companies.

      I think you're taking that way too far. I messed around with OpenGL when I was maybe 16 (11 years ago) and it seemed fine to me. You can manipulate individual pixels in the scene buffer if you really want to btw.

      --
      which is totally what she said
    88. Re:Yeah right by Count+Fenring · · Score: 1

      Hooookay there. There may very well be problems with OpenGL and DirectX, but saying that it's actually a plot to kill hobbyist game development is just a little crackers.

      For the broadest-base possible reality check, note that indie games have actually been RISING in prominence over the past ten years. Also note that, really, there's nothing stopping you from using a different abstraction, non-openGL libraries, etc, etc. There are a number of low-end intermediate libraries to make OpenGL coding simpler for people not needing the complexity - SDL comes to mind.

    89. Re:Yeah right by qubezz · · Score: 3, Informative

      Yup, been there. I recently tossed out 'direct to metal' CD versions of Descent, Tomb Raider, Motocross Madness, and many others, that were chipset-specific, made for architectures like the Rendition Vérité, 3dFX Voodoo, S3 Virge, etc. Not because they aren't great games, or because I couldn't run them on a DOS virtual machine or boot to a DOS environment, but because I don't have the video card they were written for, or even a slot to plug one into. However, the majority of Windows DirectX 3 games from ~1996 are install-and-play on even Windows 7. ATI (nee AMD) and NVidia were the graphics chipset makers that rode on DirectX instead of a native hardware API, and are the winners. It's too bad that a cross-platform and cross-vendor platform like OpenGL didn't come out ahead also.

      BTW, I worked for Diamond Multimedia (there's a Diamond card in each Wikipedia reference above) during the graphics good times of six-month upgrade cycles, and got to play with bleeding-edge 3D hardware while the public was still looking at a replica card in a CES glass box.

    90. Re:Yeah right by qubezz · · Score: 2

      I'm guessing Control Panel -> All control Panel Items -> Programs and Features...

    91. Re:Yeah right by SanityInAnarchy · · Score: 1

      I'm sorry but its true, you guys really really REALLY suck.

      Somewhat, but not as much as you imagine. In particular:

      every damned game that comes out nowadays needs damned near the size of the game in fricking patches because your shit is so buggy?

      I would put the blame for this mostly on management, and on the industry as a whole.

      See, game developers are forced to do the two worst possible things for stability: They're forced to optimize the hell out of their games by working at a very low level, and they're forced to develop games as fast as they possibly can. Failure to do either of these means your game looks worse than the competition -- if you work at a higher level, your game runs slower, which means it either lags or doesn't look as good. If you don't get to market fast enough, the entire industry may have shifted, or at the very least, your game just won't look as awesome visually compared to what people are doing these days.

      Consoles have made the "get to market immediately" part less important, because most gamers are on consoles with the same hardware, and if TFA is right, the PC just doesn't look that much better, no matter how much hardware you throw at the problem. But the industry is still built around the idea that you need to build the next Quake -- something which pushes the boundaries of what your hardware can do, and does it before everyone else does.

      Now consider that games are on the order of multiple gigabytes, much more than most other applications require. I challenge you to find a single game which has been patched as often as any modern browser -- but the game's patches will be bigger, because the game itself is bigger.

      I tend to agree that game developers suck, but that's only because it seems to me that every single one of these problems is solvable. Even on a console, it seems like most aspects of most games could take a performance hit of 5x or more and still run just as smoothly. Especially with consoles around, it seems like being first to market with a buggy game isn't going to be that much better than spending a few more months on testing and refinement, especially on any sort of investment in a solid engine you can carry from game to game.

      Still, I have to call bullshit on this:

      When my quad core with an HD4850 struggles because of your crap console code it ain't the fault of DirectX, it is your fault for putting out lame console shit without bothering to optimize for the platform.

      This may be the case, and certainly is the case with some games, but if a game can be thoroughly optimized for the 360, PS3, sometimes even a Wii, you'd think they'd be able to optimize for the PC. Maybe they're onto something -- maybe sometimes, they do actually have the budget, time, and skills to optimize for the PC just as they could optimize for a console, but there's something about the PC platform which gets in the way.

      --
      Don't thank God, thank a doctor!
    92. Re:Yeah right by jedidiah · · Score: 1

      > There is no DirectX on Linux and just look at how laughtable the situation is.

      There is this little thing called OpenGL. It predated Direct3D by a good long while and it's still in use. Perhaps you've heard of it.

      If you are going to crow about Monopolyware technology, at least get your terminology right.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    93. Re:Yeah right by jedidiah · · Score: 1

      If OpenGL gets ignored it has more to do with marketshare than features. Direct3D is the API that Microsoft pushes.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    94. Re:Yeah right by canadian_right · · Score: 1

      I did game programming in the 80's. You DON'T want to go back to programming the bare metal. It isn't actually much fun to have to support 8 sound cards and 5 flavours of graphics cards.

      DirectX is not the reason PC games lag behind consoles - it is market share and the effort put into ports.

      --
      Anarchists never rule
    95. Re:Yeah right by Joe+Tie. · · Score: 1

      Games using source that run from steam run fine, usually. If not at first, then after a few weeks of release. I have a fair amount of games that I've bought over steam, and I'd say that not even 1 in 4 run well enough under wine to keep me from booting into windows.

      --
      Everything will be taken away from you.
    96. Re:Yeah right by kyrio · · Score: 1

      Nope. The person who helped make OpenGL recently admitted that it sucks, compared to DirectX.

    97. Re:Yeah right by IronSight · · Score: 1

      Too bad you threw out descent before checking out dxx-rebirth. The new open source engine runs in any resolution you want in opengl in windows mac and linux with online udp. But yeah, the old days of games having to code for specific hardware did blow. Have a sound card? Is it soundblaster compatible? Does your video card run glide, opengl, or direct3d? Those days were hell. Almost as much hell as modern linux audio... Pulseaudio? Alsa? OSS? etc...

    98. Re:Yeah right by Grishnakh · · Score: 1

      But the situation on Linux isn't nearly as dire as the picture the Microsoft shill OP paints. There's plenty of 3D games for Linux, including open-source ones like TORCS, and commercial ones like HL2, Quake, etc. Sure, they're not the latest and greatest things the game companies are churning out, but they're a far cry from just Nethack and a clone of Civ2, which the OP says is all is available on Linux, and is an outright lie.

      It's simple, really. If you're a very casual gamer, and are happy with some older titles like HL2, or just open-source efforts, then Linux is fine. If you're a hard-core gamer and demand the very latest games and hardware, and basically all your money goes to gaming, then Windows it is. For those of us who use our computers for real work most of the time, and enjoy a game now and then for a diversion and don't care if it's a little old or a good open-source game like Neverball, then Linux is a better way to go.

    99. Re:Yeah right by Grishnakh · · Score: 1

      Not exactly. You're talking about John Carmack, the founder of id Software, and lead programmer of Wolfenstein 3D, Doom, and Quake. According to his Wikipedia article, he has worked to improve the OpenGL drivers for Linux through the Utah GLX project, but he's not one of the people behind OpenGL itself, he simply advocated for its use.

    100. Re:Yeah right by ravyne · · Score: 1

      To be fair, WOW players aren't really people :)

    101. Re:Yeah right by Anonymous Coward · · Score: 0

      right and now you just use openGL, and SDL and you are done, and that should work on a large number of platforms with a simple recompile.

    102. Re:Yeah right by Anonymous Coward · · Score: 0

      DirectX might be ahead in the minds and hearts of the most numerous or most influential game developers, but OpenGL is ahead in all the ways that matter to me. DirectX is only going to do well as long as Microsoft is also doing well. Reliance on proprietary APIs is not a good long-term solution.

    103. Re:Yeah right by Belial6 · · Score: 1

      Well, heck, if you want to take it to that extent, then there pretty much are no native games. Pretty much every single game made today runs through at least one level of abstraction. I don't get why people care if a game is run under emulation or not. Does the game run? Is it fun? Then who cares how many levels of abstraction it went through to get there?

    104. Re:Yeah right by hairyfeet · · Score: 2

      Well I have to call bullshit on your bullshit, as in point of fact if 5 year plus old games like Far Cry or FEAR can run damned well on a 3.4Ghz P4 with an HD3650 then there is no damned excuse why your 2011 game looks like ass and runs like shit on the latest and greatest, there just isn't.

      Sadly in my own research into cheapo games (I like cheese, so I often hit the bargain bins looking for the next MST3K of gaming) I have found even the big budget games that run like ass turn out to be console ports that is obvious there was ZERO optimization on the platform. That is like taking an app written for ARM, adding just enough to where it will actually run, and then bitching when it doesn't run fast,well duh! ALL of the current consoles are PPC based and you can't just drop PPC code straight onto i586, be it x86 or x64, and expect to have it run well, you just can't do it.

      Let me give an example of a game that I love...Just Cause 2. Now that game it is pretty obvious that it has been optimized for PC, as the PC game not only looks MUCH better than the console, but I've tried it on everything from a 2.8Ghz Netburst Pentium D to the latest AMD quads (before anyone screams Pirate! My friends watched me play it and they all bought it so they could experience the fun) and on all the systems it plays beautifully, on everything from a 9xxx Geforce (sorry I don't his exact make) through the ATI 4650,4830,4850, and 5770. On ALL it runs great, some may have less bling like smoke, but all are smooth and controls work well, from Vista HP 32 to Win 7 pro X64.

      So I saw the first Just Cause for $6 at Amazon and thought "Yay, more Just Cause!" and picked it up, frankly even with me having an AMD quad with the 4850 it is still glitchy and skippy when compared to the new one, even though the new one has better graphics,why? Because you play it for 5 minutes you realize it is just a straight console port with the code even having the loading "jerk" in the same spots it had on the console. The sad part is one of the ports was for the original Xbox which is basically an HTPC, yet it STILL runs like ass, why?

      Because it is still acting like it is running on a console with the same optimizations for the constrained CPU,RAM, and GPU of the console and not instead taking advantage of the platform and it is THAT, that right there, that is the problem. So while I feel sorry for anybody that works a shit job, and after reading "EA wife" I believe most game coder jobs ARE shitty, but still that is no excuse. Screaming about bare metal when you don't even use what you have is just the classic "throw more (insert cycles,CPU,RAM,GPU) at it!" which is just as much bullshit as "Intel giveth,MSFT taketh away". Well they tried that with Vista, didn't go over too well did it?

      If you want us to buy your product then give us a product for our platform and not some console reguritation designed to play "lets screw them out of some cash" okay? because frankly there are thousands of games out there written for the PC platform that run excellent so I (and I bet many others) would prefer nothing at all than to waste $40+ on a retread that is about as enjoyable as a stale McDonald's cheeseburger. If so many other can do it and have done it in the past, what's the excuse for halfassing now?

      And sorry about the length but after getting burnt so many times by console lameness that I have a whole shelf full of games I'll never play again it really bugs me.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    105. Re:Yeah right by Anonymous Coward · · Score: 0

      Thank you thank you thank you for F-19 Stealth Fighter, F-15 Strike Eagle II, and a variety of other games that have since slipped from my memory. I wasted a massive portion of my childhood on those games!

    106. Re:Yeah right by kuzb · · Score: 1

      iOS as a gaming platform is still shit. Most of the ports translate badly to it and only a very small number of companies write games that are even worth playing.

      --
      BeauHD. Worst editor since kdawson.
    107. Re:Yeah right by Anonymous Coward · · Score: 0

      ATI (nee AMD)

      FYI, née means born. If anything, it should be AMD née ATI.

    108. Re:Yeah right by Kevin+Fishburne · · Score: 1

      "There is no DirectX on Linux and just look at how laughtable the situation is."

      It might be SUPER laughtable if that were a word in any known human language. Maybe you're referring to some database of laughs I'm not aware of.

      Do you seriously think that your assertion has anything to do with the graphics APIs that are available in Linux? If Microsoft ported DirectX to Linux, then holy shit what graphically superior games Linux would suddenly have! Without specifically addressing your other points, this one point taints your ability to make any sense to anyone without drool perpetually hanging from their lip.

      All the tools available (no, not you), are more than adequate to produce a game of the highest graphical integrity. DirectX is great, so is OpenGL. The problem is interoperability (so much for MS supporting that as they stated with regard to Linux). When you make a great product that gives the middle finger to any platform other than your own, you invite the wrath of those who just want to do the work once. No one wants to make their game support twenty different variations of graphics/sound/input/network/physics/etc. APIs, so these things need to be standardized across platforms. DirectX lives in a narrow ecosystem and acts like it's everyone else's fault for even existing.

      Windows-exclusive software doesn't work on other platforms, not because those platforms are shit and don't "support" it, but because people don't compile it for them. The fault is with the application developer, not the platform. People continually do not understand this basic concept.

      --
      Buy your next Linux PC at eightvirtues.com
    109. Re:Yeah right by Kaenneth · · Score: 1

      I think you just described Microsoft's C#/.net

    110. Re:Yeah right by aaron552 · · Score: 1

      Linux audio is nowhere near as bad as those days. ALSA pretty much eliminated the other audio APIs (except JACK, which can output via ALSA, if necessary), and apps that still use those APIs work through PulseAudio (that's what PulseAudio is supposed to do, anyway). It's not hell (anymore) unless your system is misconfigured.

      --
      I had a sig once. It was lost in the great storm of '09.
    111. Re:Yeah right by X0563511 · · Score: 1

      The person? The?

      I think it's a bit more involved than that. And even if it isn't, that's one person - who's probably mad about something.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    112. Re:Yeah right by X0563511 · · Score: 1

      Native games. Emulating (dont go into semantics about what emulating is, i dont care) is not native.

      You should care, because wrapping API calls is not fucking emulating, PERIOD.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    113. Re:Yeah right by grumbel · · Score: 1

      The problem is that they both enforce some arbitrary rules in their api's,

      The rules are not arbitrary, they are the result of hardware acceleration. You simply can't have (fast) direct access to pixels when your GPU still has a whole bunch of work to do before that pixel is even rendered.

    114. Re:Yeah right by BitZtream · · Score: 1

      Yes it is. It doesn't matter if you're too dense to get it. It doesn't matter if the acronym your emulator uses claims its not an emulator.

      If you want to try that shit, then there is no such thing as emulation when it comes to computers as they are all just wrapping someone elses API, sometimes its the hardware API, but none the less, all emulators are just wrappers, some more complex than others.

      I'll buy into your statement when the 'wrappers' you're speaking of are completely handled by the standard C preprocessor, but after that, your emulating.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    115. Re:Yeah right by IronSight · · Score: 1

      Oh, it's better than say... 3-4 years ago. But there's still those few games that you need to kill pulseaudio for in order to play (id engine games mostly like quake wars, doom 3, etc) that try to talk directly to alsa, but I agree that it is better than it used to be. Pulseaudio is maturing and soon I believe we won't have to play with our sound systems at all for all of our audio needs.

    116. Re:Yeah right by Anonymous Coward · · Score: 0

      "There is no DirectX on Linux and just look at how laughtable the situation is."

      Uhh, those linux problems are BECAUSE of DirectX, not because of the lack of DirectX. If everyone used OpenGL + OpenCL, there would be no issue except a few driver provision problems with hardware manufacturers, which would sort itself out because all the games were there waiting for the manufacturers to remove a bottleneck. Right now, developers choosing non-standard APIs are the bottleneck, much as clueless webdevs choosing HTML Tables and flash is/was a bottleneck on the web for years.

    117. Re:Yeah right by drinkypoo · · Score: 1

      I agree that we don't want to have a different API for every piece of hardware, but I don't think that's really the idea here. You don't want the GPU equivalent of assembly language, you want the GPU equivalent of C -- something as low level as possible without being hardware-specific,

      Except that C behaves differently on different hardware, you have to account yourself for endian-ness, word length, and so on. So that pretty much proves my point. We already HAVE what is being asked for, and it's called OpenGL or Direct3D with programmable shaders. If you got any more low-level then you would return the industry to the morass that it was mired in before the GLIDE era... when there became only three APIs to support instead of having to support each GPU separately.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    118. Re:Yeah right by Anonymous Coward · · Score: 0

      man nethack is still awesome... dungeons of moria is mad too... wish there was a modern equivelent.

    119. Re:Yeah right by Anonymous Coward · · Score: 0

      The GUS was WAY ahead of the SoundBlaster at the time. 14 channels mixed *in hardware* at 44100 Hz. 28 voices at 22050 Hz and max 32 channels at 19200 Hz.

      That doesn't do much good when it didn't work with a large number of games, either due to incompatibilities with the SB emulation or the fact that the SBOS utility hoarded too much memory.

      most games' music sounded cleaner because you were getting an actual piano / drums / whatever in place of the synthetic sounds

      Most games that used sequenced music sounded best with FM synth because they were composed with it in mind. Although I owned a Roland Sound Canvas back then, I usually opted for the FM synth on my Sound Blaster because it sounded more "correct".

      And games that were written to take advantage of Ultrasound were amazing ( Star Control II for example ).

      Star Control II used MODs with 8-bit samples for its music. It sounded identical on all sound cards.

    120. Re:Yeah right by CharlyFoxtrot · · Score: 1

      It has a unique input system in that it's touch + motion sensors so of course straight ports are going to have to adapt. If they don't then they won't be much good. There's a number of people that get it right though and I wouldn't say it was small. It's more like going back to the 80's and 90's before the industry was dominated by a few big companies and there were a lot of games from a lot of different companies but only some were real gems.

      That wasn't the point anyhow, it was how the popularity of iOS as a gaming platform provides an even larger audience for people with OpenGL skills.

      --
      If all else fails, immortality can always be assured by spectacular error.
    121. Re:Yeah right by borrrden · · Score: 1

      Thank you for dividing the world into two types of people: casual gamers and losers (/sarcasm)

      What's wrong with enjoying the latest games? Nothing....your sad attempt to turn anyone who plays a game that is newer than 7 years old into some kind of waste of life is pathetic and offensive.

    122. Re:Yeah right by borrrden · · Score: 1

      Adding one more level of abstraction always hurts performance. So the answer to your question "Does the game run?" is usually no. Not in a playable form anyway.

    123. Re:Yeah right by jbolden · · Score: 1

      First off what you are describing is Microsoft's approach. This intermediate C-language sounds a lot like the p-code systems of the 1970s: http://en.wikipedia.org/wiki/P-code_machine . Microsoft implemented that idea with the .NET compilers (CIL) which compile to an intermediate language which isn't hardware specific. The execution environment is, but Microsoft can jump environments easily. GCC has 3 intermediate languages. Java is an intermediate language. And finally the Parrot virtual machine does a lot of what you are asking.

      Those ideas are out there. They have been for 2 generations.

    124. Re:Yeah right by Anthony+Mouse · · Score: 1

      Except that C behaves differently on different hardware, you have to account yourself for endian-ness, word length, and so on. So that pretty much proves my point.

      Almost all of that stuff is optional. A long int is 32-bits on x86 and 64-bits on AMD64, but int32_t is always 32-bits and int64_t is always 64-bits. The only reason you have to use the hardware-dependent versions is if you want to make specific performance optimizations -- using int64_t on x86 can in some cases be materially slower than a pair of 32-bit ints, whereas using 64-bit ints on AMD64 can sometimes be twice as fast as using 32. That's a characteristic of the hardware. If you don't care about the performance difference then you can use intXX_t everywhere and not have to care about the hardware differences at the cost of some performance.

      I think that's really the point: C behaves differently on different hardware, but only because different hardware behaves differently, and you have the ability to ignore it. Use int32_t instead of int, use htonl/htons before you do anything that cares about endianness, etc. However, if you have some function in your critical path that runs twice as fast on AMD64 if you use a 64-bit int instead of 32 and twice as fast on x86 if you use a 32-bit int instead of 64, it may be worth your while to contend with sizeof and preprocessor conditionals to get the performance gain on both architectures. I mean what stops you from using an OpenGL library for 95% of your program but then using GPU C for the critical path? It isn't worth having for that sort of thing?

    125. Re:Yeah right by linuxrocks123 · · Score: 1

      If you want to try /that/ shit, then the following are also emulators:
      1. All current x86 processors (because they use micro-ops)
      2. All DirectX and OpenGL implementations (because they are wrappers for the native graphics card operations)
      3. All operating systems (because provide APIs which are wrappers around the hardware)
      4. All major programming languages in use today other than C, C++, and FORTRAN.

      Do you get it now? If you redefine a words, they stop meaning what you want them to mean. No, Wine Is Not an Emulator, at least not in any sense that is relevant to a discussion about its performance. WINE is an implementation of the Win32 API. Microsoft provides one implementation of the Win32 API; WINE provides another one. Neither one is an "emulator".

      --
      vi ~/.emacs # I'm probably going to Hell for this.
    126. Re:Yeah right by lsatenstein · · Score: 1

      The games the author described are ones that generate Carpel Tunnel problems. Many gamers are moving on to games of skill, and not all of those are games of dexterity. Games of mental skills don't need graphics that show images to the single pixal level. The attack on Linux is unjustified because you must realize that Linux is not bound to run exclusively on Intel Hardware. Therefore, I believe that the graphics for Linux appeals more to providing applications for guys who are age 30 and up, more so than those who are under age 30. If the other platforms use the same GPUs, then rest assured that Linux will be there today, or even in advance of MS for this GUI development. MS developers do not have exclusivity for development skills. I like chess, billiards, and some other simulations. On an image the size of a postage stamp, do I need to see the whiskers on the face of a man in that image? Linux graphics suites me just fine, and it is improving over time. I would wish that MS would actually provide a GUI interface such as found on the IPOD. Linux has it so where is it in Windows 7?

      --
      Leslie Satenstein Montreal Quebec Canada
    127. Re:Yeah right by Belial6 · · Score: 1

      That is simply untrue, and you know it. I have played thousands of games emulated that all ran exactly the same as the same as on the original platform. Millions of other people have had the same experience as me. In some cases, games even run BETTER emulated than on the original platform. You can not even always tell if a game is using emulation or not, and you certainly have no idea how many levels of abstraction there are.

      Honestly, your comment is just bizarre.

    128. Re:Yeah right by drinkypoo · · Score: 1

      I mean what stops you from using an OpenGL library for 95% of your program but then using GPU C for the critical path? It isn't worth having for that sort of thing?

      In a perfect world it might be. (In a perfect world, of course, the provided API would account for each of these uses and the developers would decide what to do with the hardware.) In the real world the actual hardware developers are still figuring out the hardware and still releasing drivers including their own microcode updates, and their own workarounds. The hardware is a moving target you simply can't hit. In some cases a sufficiently high-profile company does a deal with someone who makes GPUs to get the hardware locked down to their specs and to get drivers that provide precisely what they want.

      Given that GPU makers have provided specified access to GPU internals to customers who are actually buying raftloads of GPUs, the obvious truth is that these PC game developers are not important enough to the GPU developers because they do not have sufficient influence on the purchasing decisions of the average consumer. Nintendo or Microsoft may declare that a console shall contain a given GPU. Valve or EA can not declare that thy PC shall contain a specific video card. Those days are over, although I don't deny that they could come again with sufficient loss of diversity in the GPU market. GPU developers are having a hard enough time developing the drivers they are releasing and now they want more access to internals? I'm having problems with a DirectX9.0c game (that's what is bundled with it anyway) and my GT240 with XPSP3. I had to degrade rendering (as in, turn down acceleration features) and disable PAE and NX before my game would run correctly, which is to say, without producing bluescreens in the display driver. And I've had much worse woes with ATI. Oddly my video is working great under Ubuntu Natty, and worked great under Maverick too.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    129. Re:Yeah right by Grishnakh · · Score: 1

      It's merely been my observation that, for the most part, people who demand the very latest games, and who even call themselves "gamers", are almost obsessed with it, and do little else with their computers.

      People who play games casually (like, once a week) aren't like this at all: they don't buy high-end $500 video cards, and don't play the latest games requiring tons of horsepower.

    130. Re:Yeah right by SanityInAnarchy · · Score: 1

      You're going to have to slow down a bit, because I'm seeing you make a lot of points without connecting them at all. For example:

      if 5 year plus old games like Far Cry or FEAR can run damned well on a 3.4Ghz P4 with an HD3650

      Granted...

      then there is no damned excuse why your 2011 game looks like ass and runs like shit on the latest and greatest, there just isn't.

      What? Why on earth would you assume that newer games would perform better than older games?

      Seriously -- Half-Life runs great on any modern PC, probably even Intel GMA. By your logic, I should expect Half-Life 2 to run faster and better than Half-Life. Go look at some screenshots of each game, and then tell me how that makes sense.

      I have found even the big budget games that run like ass turn out to be console ports that is obvious there was ZERO optimization on the platform.

      So you've disassembled them, have you? Combed carefully through the code from the console version and the PC version to see if you could find a difference in quality?

      Not that it matters -- what does this have to do with my post? Zero optimization for a given platform doesn't mean zero optimization, and optimization in the first place can have an adverse effect on stability.

      you can't just drop PPC code straight onto i586, be it x86 or x64, and expect to have it run well, you just can't do it.

      If their code is that closely tied to a given architecture, they are Doing It Wrong on a very profound level. How much actual PPC code does a game developer write? Not nearly as much as they write, say, C++. In fact, you also seem to be aware of a more likely problem, but it's hard to see through all the bullshit:

      the same optimizations for the constrained CPU,RAM, and GPU of the console and not instead taking advantage of the platform

      And yes, there are games that do this.

      I believe most game coder jobs ARE shitty, but still that is no excuse.

      Why not? Do you really believe that it was up to the husband of EA Spouse whether or not the game ran well on a PC? He's already spending an 80-hour week trying to get the console release out the door, where's he going to get another 80 hours to finish up the PC port unless his manager actually gives him that time?

      some console reguritation designed to play "lets screw them out of some cash"

      So, you've gone from "New games all run like shit" to "They just aren't optimized for the platform" to "It's so bad I want my money back!"

      Really?

      Or is it that you buy the same game for multiple platforms, and you don't feel the PC version is worth it when you already have a console?

      How about less rant and more point?

      And sorry about the length but after getting burnt so many times by console lameness...

      See, it's not the length that bothers me, it's the amount of kneejerk vitriol here. At this point, it's sounding like every time a game gives you technical issues, you blame the consoles and the developers, when it's not the developers who are choosing the consoles, and most developers really aren't in a position to make things better.

      The amount of rage here makes it unlikely any developer is going to take you seriously, which makes it harder to solve the real issues.

      --
      Don't thank God, thank a doctor!
    131. Re:Yeah right by allcoolnameswheretak · · Score: 1

      The are so few Linux games not because there is no DirectX on Linux, but because it's not cost-efficient to produce for 2% of desktop systems.

    132. Re:Yeah right by mgiuca · · Score: 1

      Humble Indie Bundle? :D

    133. Re:Yeah right by borrrden · · Score: 1

      What's the newest game you have played using emulation as of 2011? As hardware power increases, the cost of emulating older software becomes a non-issue, I agree, but I was referring to newer games. Perhaps I should have made that clearer...

    134. Re:Yeah right by borrrden · · Score: 1

      I own a $600 graphics card (though I bought it in 2006) and I happen to do a lot with my computer besides playing games. I spend a lot of time playing them when a new one I like comes out, but I wouldn't even say the majority of my time overall is spent playing games. Youtube eats up much more of my time.....

      Yes there are people who are like you say, and there are people who are casual gamers, but there are more types of people than just two.

    135. Re:Yeah right by hairyfeet · · Score: 1

      I'll start from the top and try to keep up, sorry if I'm a little over the place as my GF is here and that tends to make me a little "bouncy". As for the 2011 game? There is no reason why a 2011 game, with the graphics turned down and frankly half the details of something like Far Cry should run like ass, and THAT is what I was talking about. For an example try "Turning Point: Fall of Liberty" which plays like the console no matter what your specs.

      As for how do I know that it isn't optimized? Simple, when even the controls are nearly unusable on the platform you can tell it has had ZERO optimization. I hate to use TP:Fall of Liberty again but it gives a PERFECT example in that even the controls shown on screen are the X360 buttons but you could also try Just Cause I, where the game loads at the same places that it does on the console complete with "jerk" even though the machine it was running on had 20 TIMES the memory so it would make NO sense to buffer that often!

      As for the reason it is no excuse is called "pride in your work" which we ALL should try to have. And NO, I don't blame the developers whenever something goes wrong. For example Bloodlines, which simply bit off more than they could chew. The problem I HAVE (since you stated what was wrong with my post, it is only fair that I retort) is that you have these guys wanting bare metal when frankly I would argue that it is crappy code NOT APIs that are the problem. For a great example the above mentioned Just Cause 2, which no matter what CPU/GPU combo was thrown at it STILL gave a great experience, or the original Medal of Honor:Allied Assault which frankly ran great on a P3 400MHz with an MX4000 and just ran better the more hardware you threw at it JUST LIKE Just Cause 2.

      So I would argue if so many other have done it why can't them? Bioshock I, ran great on a wide range of machines. Bioshock II, which anyone playing it for any length of time would be able to tell it is a console port? Glitchy, skippy, just not a great experience.

      Look, I'm not asking for miracles here, I'm not asking for them to have to rewrite the code from scratch. but is it really so much to ask to have testers run it on a wide range of hardware, or at least can run on the minimum specs on the box? As for the developers not being able to make things better, I'm sure that getting fired would affect their outlook, a lousy games tend to drop off whereas good games sell better. Simple supply and demand. Mercs 2, which I'm sure they spent millions upon millions on is $6 at Fred's.

      So I'm sorry if you are a developer or my post bothers you, same as I'm sorry if my thoughts are a little off, as I'm said I'm kinda bouncy ATM. But if others could do it then today's developers can do it too and let us not forget what "fun" it was like before DirectX, with custom APIs like Glide that only worked on certain hardware, or code that ran on setup X but ran like shit on setup Y. I don't want to go back to that, do you? Whether you approve or not DirectX gives us a common framework so it doesn't matter if you are team green or red you can simply look at the level of DX and know what works, unless of course if it is just a console port, then 'throw more cycles at it!" is the order of the day.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    136. Re:Yeah right by Belial6 · · Score: 1

      It doesn't matter how new the games are. The fact is that emulation does NOT make all games run poorly, and you don't know how many layers of abstraction are in any of the games you play anyway.

    137. Re:Yeah right by drinkypoo · · Score: 1

      Psychonauts doesn't work on MY system, which has nVidia. I love Wine with a passion but it's flaky. I update it and games stop working. I update it again and sometimes they start working again. To be fair, that's not any different from Windows.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    138. Re:Yeah right by drinkypoo · · Score: 1

      People seem to forget we've already been down this road and it was called DOS. Sure games ran crazy fast, and frankly could pull off graphics that you weren't able to imagine the hardware was capable of. The problem was one buggy game could bring it falling down and things like rebooting or even having to yank the power cord to get control of your PC after the game went FUBAR was SOP of the day.

      You're being a bit hyperbolic here. DOS machines overwhelmingly had hard power switches. There was no power cord yanking. I can't even remember a PC with a soft power switch which didn't function like a hard one when held down long enough... and then there's the hard reset button, which was if anything more common in olden times. Also, Windows locks up to the point where it must be hard reset plenty, and further, it also spontaneously reboots itself on occasion. The most recent occasion I saw both of these things was when loading a Direct3D game "Startopia" which makes assumptions about the video card instead of asking D3D about it for reasons I cannot comprehend.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    139. Re:Yeah right by drinkypoo · · Score: 1

      That's why the Amiga demoscene ruled. For a long time there was no hardware that could not be convinced to behave just like the older hardware. There were only people who didn't have enough RAM to run some demos (and sometimes people without enough of the right type!)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    140. Re:Yeah right by im_thatoneguy · · Score: 1

      You don't want the GPU equivalent of assembly language, you want the GPU equivalent of C

      You mean something like CUDA?

    141. Re:Yeah right by Anthony+Mouse · · Score: 1

      I was thinking about that, but that's not it exactly. You want something which is better designed to complement the existing graphics libraries. It might be possible to adapt them for this use though. For example, do OpenCL and CUDA currently let you manipulate the pixels on the screen, etc.? (I actually don't know.)

    142. Re:Yeah right by KingMotley · · Score: 1

      ROFL

    143. Re:Yeah right by Anonymous Coward · · Score: 0

      Are those numbers pre or post cataclysm? Because 4 of the 5 Apple owners I know that played wow can't play anymore now because they removed ppc support.

    144. Re:Yeah right by Anonymous Coward · · Score: 0

      The elephant in the room is not the fact we use DirectX, it's the fucking abysmal performance of DirectX.

      The GPUs pretty much interpret DirectX primitives directly. It's a no-brainer to hide the details behind an API; the API isn't the issue. The issue is that DirectX takes so much longer to set the drawlist up than your own code would even under the same programming interface.

      Data point: I wrote most of Direct3D for PS3 in order to port a client's project (it took 3 weeks). A few more weeks and I'd added proper synchronization so any Direct3D call sequence worked properly. A few months later we had a bug where X360 was running at 110% CPU occupancy (at 30fps) while PS3 was only running at 5%. Bear in mind the PS3's CPU is weaker than the X360's. The problem was they were making too many Direct3D calls. But my API accepted the exact same calls.

      Maybe a better solution than "not having an API" (which is ridiculous, for millions of reasons) is to allow AMD and nVidia to implement their own complete path from userspace to the GPU behind the DirectX interfaces. It wouldn't have to be DirectX; the industry could cope with an AMD interface and an nVidia interface, so long as they hide the details of each chipset. Then, using ultra-modern "run-time binding" technology, the correct implementation for each chipset could be loaded.

      This would then free up Microsoft to perform more important tasks, such as improving the shitty performance of Windows threads.

    145. Re:Yeah right by Anonymous Coward · · Score: 0

      They do, because OpenGL is run in an emulation layer in Windows Vista and Windows 7. They cut off native OpenGL support in favor of DirectX and .NET. and the new sound and video subsystems in the two new operating systems that are not backward-compatible with previous versions of Windows. Invoking compatibility mode is basically telling the OS to run that software in the emulation layer.

    146. Re:Yeah right by tp_xyzzy · · Score: 1

      Lets see how it works. Opengl has 4 different ways to use the apis: 1) immediate mode, 2) display lists 3) vertex arrays 4) vbo's.

      It is recommended to use vbo's in all code because it's the fastest. What they forgot to say is that you need to learn display lists and vertex arrays before trying with vbo's. If it takes half year to explore how each different way of using the api works, it takes 2 years before you can get vbo's to work. This effort is trivial if you're a company with 30 developers, but it's very big problem if you're a hobbyist with limited amount of time to use for it. In 2 years, with the old tech using sprites etc it was possible to create the whole game in that time. With opengl, all you can do is just learn the api in that time. How is that an improvement? Of course if you _already_ know the api, it's easy to choose the correct way to do it, but most hobbyist game developers only have time to explore the possibilities of one or two of the alternatives. Each of them have different restrictions. It's just impossible to know the restrictions before you actually try it yourself. And trying it takes long time. And end result after choosing wrong api is that you don't get frame rates working at all. Your game is useless.

      Oh and each of them works different way. Once you learn one way of doing it, and it fails to work, all your previous knowledge of the api is useless. Just waste of time. And time is what hobbyist game developers do not have. Not enough to play with the api _and_ design your game.

      But sure, there are people who invested 10 years of their life for one technology, and they can get some games done with opengl. Or maybe they have a team or company. Either way, it's not getting easier to write these games. Why are people using tech that makes it more difficult to write games?

    147. Re:Yeah right by kuzb · · Score: 1

      We don't want excuses, we want results.

      --
      BeauHD. Worst editor since kdawson.
  2. Unification? by paziek · · Score: 5, Insightful

    Isn't DirectX and OpenGL there so that developer can write application using DirectX 10 and have it working with any card capable of DirectX and having enough memory? Are we gonna have "Works best in Internet Explorer 6" again for graphic cards? I still remember that whole 3dfx thing and I didn't like it.

    1. Re:Unification? by smallfries · · Score: 5, Insightful

      The whole 3dfx era was horrific, and as someone has already pointed out below DirectX made a huge positive impact in PC gaming. The article describes a real problem though: if I want to hit 50fps then my rendering needs to execute in under 20ms. Performing 5k system calls to draw chunks of geometry means that each syscall needs to be less than 4us, or about 12000 cycles on a 3Ghz processor. That is not a lot of time to do all of the internal housekeeping that the API requires and talk to the hardware as well.

      The solution is not to throw away the API. The interface does need to change drastically, but not to raw hardware access. More of the geometry management needs to move onto the card and that probably means that devs will need to write in some shader language. It's not really lower-level / rawer access to the hardware. It is more that shader languages are becoming standardised as a compilation target and the API is moving on to this new target.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    2. Re:Unification? by SCPRedMage · · Score: 2

      Mod parent +1 Has a Fucking Clue.

      --
      My sig can beat up your sig.
    3. Re:Unification? by JackDW · · Score: 3, Interesting

      This is a very good point, the overhead of API calls can be a significant bottleneck.

      I'd suggest that a good solution is to move applications to entirely managed code (e.g. C#), so that there is no need for any hardware-enforced barrier between the kernel and the applications (c.f. Singularity). In the best case, you may end up with a situation in which a JIT compiler inlines parts of the kernel's graphics driver directly into the application code, effectively run-time specialising the application for the available hardware. We already see hints of this happening, for instance the use of LLVM bit code in Apple's OpenGL stack.

      --
      You're an immobile computer, remember?
    4. Re:Unification? by cpu6502 · · Score: 1

      Since you seem knowledgeable:

      How is this handled on the consoles? Do the programmers go direct to the hardware, as they did in the days of the N64 and PS1, or do the modern PowerPC-based consoles also have a DirectX-style interface?

      --
      My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
    5. Re:Unification? by Anonymous Coward · · Score: 0

      What makes things more difficult is that you cut most of the geometry (you do away with the hidden parts) before sending it to the video card for faster drawing.

      So yeah, you could do geometry transformation on the card, but then you'd have to load more geometry data

    6. Re:Unification? by Sam+Douglas · · Score: 1

      I have no experience in console games development, but I suspect that modern console SDKs have graphics APIs available to them that are higher level than hardware access. I believe the Xbox consoles use a DirectX-like API.

    7. Re:Unification? by Anonymous Coward · · Score: 0

      Quite simple really. Each console has only one type of graphics card, so you write an API that is a light wrapper around direct calls to the GPU, and then you inline the API calls in the client code.

    8. Re:Unification? by binarylarry · · Score: 0

      LOL! This is the funniest comment I've seen in quite a while.

      --
      Mod me down, my New Earth Global Warmingist friends!
    9. Re:Unification? by Anonymous Coward · · Score: 0

      The Xbox 360 uses DirectX and I think the PS3 might use something resembling OpenGL. The consoles generally don't do as much work as desktop cards are able to do so the API bottlenecks are less of a factor.

    10. Re:Unification? by Anonymous Coward · · Score: 1

      Going off my old and rusty memory:
      Xbox 360 uses pretty much a Direct X 9 API with some changes (The sound API is from what I remember XAudio2 like).

      The PS3 has Open GL ES, but to get the speed out of the machine you need to write very specific code for the PS3, which is a pita.

      An API isn't the problem, it is how flexible it is. Most things are off loaded to the GPU, so you load the geometry, textures etc into the GPU accessible memory and use vertex/pixel shades, the former for doing animation and wot not where ever possible.

    11. Re:Unification? by Twinbee · · Score: 1

      I just wish they gave us an easier way to access the gfx card's pixel buffer - you know what ultimately comes out on the monitor. It's ridiculous the amount of code that's needed to write a simple pixel to a screen or window, especially if animation/video is involved.

      --
      Why OpalCalc is the best Windows calc
    12. Re:Unification? by Anonymous Coward · · Score: 0

      ^this

    13. Re:Unification? by click2005 · · Score: 1

      Only pirates want that kind of direct access these days if you believe the FUD.

      --
      I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
    14. Re:Unification? by tepples · · Score: 1

      The Xbox 360 is most often* programmed in C# using the XNA API, which is very much a managed counterpart to DirectX.

      * I can explain what I mean by this.

    15. Re:Unification? by Anonymous Coward · · Score: 0

      Nobody should be using shader languages any more. You should be using DirectCompute or OpenCL as the best portable way to program on the various GPU's.

      Shader languages were just a stop gap until we could get something more general purpose.

      DirectX and DirectCompute go together for Windows specific solutions. OpenGL and OpenCL go together for truly portable solutions (basically all platforms and GPU's).

    16. Re:Unification? by tepples · · Score: 1

      They did. It was called DirectDraw. But if your game is running in a window, direct access to the frame buffer can violate the user's privacy. Microsoft deprecated DirectDraw in favor of Direct3D and later Direct2D because even an Intel GMA is substantially faster than software rendering. As for video, why can't you generate that into a texture and draw it as a quad?

    17. Re:Unification? by Anonymous Coward · · Score: 0

      Performing 5k system calls to draw chunks of geometry means that each syscall needs to be less than 4us, or about 12000 cycles on a 3Ghz processor. That is not a lot of time to do all of the internal housekeeping that the API requires and talk to the hardware as well.

      What is this, the 1940s, where CPUs dont instruction pipeline?

    18. Re:Unification? by JackDW · · Score: 1

      It certainly wasn't intended that way and I can't imagine why you would think that.

      One of the great things about the Singularity approach is that the overhead of system calls is reduced to almost nothing. I'd have thought that the benefits for high-end graphics would be obvious.

      --
      You're an immobile computer, remember?
    19. Re:Unification? by TheRaven64 · · Score: 2

      I'd suggest that a good solution is to move applications to entirely managed code (e.g. C#), so that there is no need for any hardware-enforced barrier between the kernel and the applications

      Superb idea! Why do something quickly in hardware, when you can do it slowly in software?

      We already see hints of this happening, for instance the use of LLVM bit code in Apple's OpenGL stack

      You realise that Apple only uses LLVM in the painfully slow case (i.e. when it has to execute shaders on the CPU, rather than the GPU), right? And that shaders are already JIT compiled for the target hardware on all OpenGL / Direct3D implementations? And that JIT compilation doesn't require managed code, nor does it require a VM?

      --
      I am TheRaven on Soylent News
    20. Re:Unification? by Rockoon · · Score: 3, Interesting

      As for video, why can't you generate that into a texture and draw it as a quad?

      Textures arent any different than frame buffers when you get right down to it. You still need to lock its buffer/etc.

      But in all honesty, the bus is so slow that you never want to write individual pixels over it anyways.... once you have settled on shuttling millions of bytes at a time over the bus for efficiency reasons, then it really doesnt matter what the boiler plate is surrounding that operation is... aggregated over all those pixels the overhead can only be minimal.

      I think AMD's point tho is that something like DirectX enforces the rasterization paradigm when the hardware could be so much more if it wasnt forced to offer good performance for that specific API.

      We are at the point now where the number of computations per second performed by todays GPU hardware should be enough to handle realtime raytracing.. nothing spectacular yet in the secondary ray department.. maybe just a few secondary rays per pixel.. interesting/unique stuff. But the hardware simply doesnt expose the functionality in a way that allows the leveraging of its horsepower in that way effectively, and that could in fact be blamed on DirectX bring the only API that matters. What if the hardware could be designed differently so that fill rate (as an example.. lots of triangles leading to lots of overdraw requires lots of fill rate) wasnt as important?

      --
      "His name was James Damore."
    21. Re:Unification? by Anonymous Coward · · Score: 0

      Indie games use C# and XNA. As a consequence, they never perform as well and look as good as "professional" games. XNA is all about the overhead.

    22. Re:Unification? by JackDW · · Score: 1

      Superb idea! Why do something quickly in hardware, when you can do it slowly in software?

      I don't think you understand what I am getting at. I am not saying that memory protection and privilege levels should be enforced by software - that is not what Singularity does. The whole point of managed code is that memory protection does not need to be enforced at all. The result is that you can run everything in ring 0, in the same memory space. No matter how fast your hardware already is, removing these overheads makes it faster.

      --
      You're an immobile computer, remember?
    23. Re:Unification? by TheRaven64 · · Score: 2

      The whole point of managed code is that memory protection does not need to be enforced at all. The result is that you can run everything in ring 0, in the same memory space.

      Yes, I understand, I've read the papers related to Singularity, and it remains a stupid idea. You're replacing a mechanism that the CPU can do in hardware, basically for free, with a software implementation. By running everything in ring 0, you make any VM bug into a a kernel-level hole. Still think this is a good idea? Pick your favourite VM from the JVM, Flash VM, and .NET VM. Now go and look at the number of exploitable bugs that have allowed code to break free of the sandboxing. For the JVM, the oldest, we are up at close to triple figures now. Now compare that to the number of exploitable bugs in MMUs in general purpose CPUs. You'll find that the number of MMU bugs in the entire industry is lower than the number of MMU-replacement bugs in any single VM that you pick.

      When someone says 'we can improve security by adding this layer of complexity,' what they mean is 'I am an idiot, disregard everything that I say.'

      --
      I am TheRaven on Soylent News
    24. Re:Unification? by smallfries · · Score: 1

      We're not quite there yet, but you are right that it should be close. Take a GTX-580 for example. It can sustain 800GFlops on certain code sequences. If we assume that real-time means 50fps and 1080p is the target resolution then if we could average out the workload we'd hit 8000Flops per pixel per frame. That's certainly enough to do something interesting.

      Sadly it doesn't work like that. We hit that huge performance number on a SIMD array with a really deep pipeline and partially manual cache management. As a result certain things are hard to do. Scene management is currently the painful thing to do as fitting a spatial division tree into memory in a way that those SIMD threads can access is really hard.

      Your comments about exposing the functionality were correct a few generations of the hardware ago. They're no longer true as the programming model exposed by CUDA isn't tied to rasterisation at all. But it is still tied to running kernels over regular problem instances as that is what a SIMD architecture can do.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    25. Re:Unification? by ThePhilips · · Score: 0

      It certainly wasn't intended that way and I can't imagine why you would think that.

      One of the great things about the Singularity approach is that the overhead of system calls is reduced to almost nothing. I'd have thought that the benefits for high-end graphics would be obvious.

      I already imagine it in all sweet beauty: viruses and malware mixed with the kernel code! Nothing could go wrong!!

      --
      All hope abandon ye who enter here.
    26. Re:Unification? by JackDW · · Score: 1

      Thanks for clarifying.

      The argument here is not about security, but performance. The possibility of being able to "optimise out" an entire API, even across the system call barrier, is (I think) an interesting one, and that's what I was commenting on.

      The thing is that hardware security does not actually come for free - there is a time cost, and the implication of the article we're commenting on here is that the time cost is significant.

      You are of course right that VMs have not always been particularly secure. But you must be aware that kernels share the same problem. Privilege escalation bugs have been plentiful, not only in Windows and Linux but also on games consoles with their relatively simple hypervisors. In all of these cases the MMU may be relatively simple, but the supporting code is not. So I'm not entirely convinced by your line of argument, which amounts to "managed code can never be secure", because it seems altogether too similar to "kernels can never be secure".

      --
      You're an immobile computer, remember?
    27. Re:Unification? by smallfries · · Score: 1

      It's a shame that you are being lambasted by posters who didn't understand your point. Yes - lifting the code to a higher level of abstraction would definitely enable specialisation. Managed code is one way to go, certification would be another. In either case eliminating direct memory access, or proving that it is safe woud allow the removal of the barrier between hardware access and user-land code. That is precisely what is needed in this case.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    28. Re:Unification? by Anonymous Coward · · Score: 0

      Please do - because Xbox games (aside from the indie scene) are usually programmed in C/C++, and scripted with whatever language the engine supports.

      Where does MANAGED DirectX fit into this ecosystem, other than the indie-oriented XNA Framework?

    29. Re:Unification? by NoSig · · Score: 1

      You don't understand the suggestion.

    30. Re:Unification? by Mathlol1 · · Score: 1

      This comment is brilliant. Once again AMD embarrasses itself. It can't write software, which is why people like nvidia. Now here's a guy complaining about other people's software when their own isn't even regulated to a feasible working level, free of the most basic complications.

    31. Re:Unification? by ThePhilips · · Score: 1

      Not that suggestion was properly explained and explained by somebody who actually knows what role syscalls play and why they are relatively expensive.

      --
      All hope abandon ye who enter here.
    32. Re:Unification? by Anonymous Coward · · Score: 0

      It depends on the console.
      The Xbox360 has a DirectX9 interface with some additions.
      The GameCube/Wii (same thing) have a user space OpenGL-ish API with the ability to generate and store GPU commands in display lists with very low overhead to submit to the GPU.
      The PS2 has two different APIs available, an OpenGL ES variant that no serious game uses and a direct to the metal lib called GCM. The OpenGL ES API is built on top of GCM and the source is available. The real win for GCM is you can use most of it on the SPUs and completely remove the overhead from the PPU,
      To give you an idea how much faster going to the metal is 10 years ago on the GameCube (with a 486MHz CPU) a typical draw call (including shader setup) was around 4us for the rendering back end I wrote. The PPU overhead for submitting a draw call to the SPU backend is on the order of 1K cycles or about .3us. We never bothered with making the SPU do the higher level scene management because all the games on the PS3 are completely GPU bound.

    33. Re:Unification? by Khyber · · Score: 1

      You don't understand the inherent weakness of the approach, which is why it was abandoned back in NT4 days (or was it NT5?)

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    34. Re:Unification? by Rockoon · · Score: 1

      Your comments about exposing the functionality were correct a few generations of the hardware ago. They're no longer true as the programming model exposed by CUDA isn't tied to rasterisation at all.

      It isnt a fixed-function pipeline anymore, but the hardware is still tailored to the needs high performance rasterization rather than high performance computation. The market is looking for good DirtectX performance, and if it doesnt have that then NOBODY BUYS THE GPU. So here we are, locked into the demands of rasterization even if the FFP was eliminated a few generations ago. Its moot that the hardware is more programmable.. its still at its core hardware designed only for high performance rasterization.

      --
      "His name was James Damore."
    35. Re:Unification? by Anonymous Coward · · Score: 0

      Yah cuz it's from Micr0$ux I bet it has BOB in the kernel LOL!!!!!1!1!!11one

      MS research laughs at you and write better software than you can imagine. Literally. I actually don't think you have the mental capacity to imagine it whenever you hear the name that sets you off.

    36. Re:Unification? by cpu6502 · · Score: 1

      What about the Nintendo Wii?
      Gamecube API?
      (ducks)

      --
      My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
    37. Re:Unification? by Anonymous Coward · · Score: 0

      Depends on the platform. The Xbox 360 only provides a DirectX 9 interface, but the "drivers" are statically linked into your executable and all the abstraction layers get optimized away, and there are additional functions and flags which expose raw hardware capabilities. The PS3 has an OpenGL-like implementation that nobody seriously uses, because you can also build your own GPU command buffers and submit them to the RSX for execution. It's not quite poking at registers and writing custom assembly, but it's close enough.

    38. Re:Unification? by billcopc · · Score: 1

      Most of us remember the horrors of hardware-specific APIs. Some of us had to code against them. Remember when a game would be released with different builds for 3Dfx, PowerVR and Riva ? If that's what AMD wants to go back to, well I cordially invite them to do so, and subsequently fuck themselves once there.

      It is no secret that DX saps a chunk of performance out of the system, always has been. We just don't notice it as much anymore with today's powerful GPUs, and to be fair to Microsoft, they did improve performance significantly with DX7.

      Now I'll be frank: I haven't written any DX code in about six years, but the API overhead is easily circumvented through batching, like any other repetitive task, and the true enemy is task scheduling. The impression I get is that consoles "feel" faster due to real-time scheduling. It routinely frustrates me to have my balls-out gaming PC stutter on simple games, because some Windows maintenance process decided to hog a CPU for 20 msec too long. Back in the DOS days, we (game programmers) approximated real-time scheduling via timer interrupts - fuck VSync, we'd sync once and start a perfect 60hz loop during initialization, shove the screen flip or blit into said loop (and little else), so we could spend 99% of the CPU on rendering and gamestate, rather than waste cycles waiting for the display to become ready. So then, why can't DX do the same ? On said balls-out rig, if I don't enable VSync, I inevitably get mid-screen tearing, because $3000 worth of hardware apparently can't be bothered to line up once every 16.6 msec.

      There is a lot of low-hanging fruit in the graphics world, but all AMD's graphics subsidiary cares to do is point fingers and whine about it. Heck, there's a lot of low-hanging fruit in their own graphics drivers, but they'd much rather crash the hardware directly, than fix their notoriously shoddy code, right ?

      --
      -Billco, Fnarg.com
    39. Re:Unification? by JackDW · · Score: 1

      Don't remember anything like this ever being in NT. Are you sure you're not thinking of something else?

      --
      You're an immobile computer, remember?
    40. Re:Unification? by JackDW · · Score: 1

      I didn't think it was necessary to mention viruses and malware because any serious replacement for system calls and the user/kernel space barrier must deal with those issues. There has to be some mechanism to stop a rogue or malicious process trashing everything. The point is that the mechanism doesn't need to be system calls and memory protection. There are other options.

      --
      You're an immobile computer, remember?
    41. Re:Unification? by drsmithy · · Score: 2

      When someone says 'we can improve security by adding this layer of complexity,' what they mean is 'I am an idiot, disregard everything that I say.'

      I think your brush might be a little broad, there. File permissions (even simple UNIX ones) are an additional layer of complexity, but clearly improve security. Similarly for privilege escalation facilities like sudo or UAC. A firewall (or even /etc/hosts.[allow|deny]) is more complexity, but also delivers clear security benefits. Etc.

    42. Re:Unification? by smallfries · · Score: 1

      No, this simply isn't true. It's a SIMD architecture that happens to be very good for rasterisation, and any other task that involves executing the same kernel across a regular set of parameters. It's not set that way specifically to support rasterisation - it's because SIMD arrays can give an order of magnitude performance increase over a MIMD design.

      GPUs stopped being designed as graphics pipelines several generations ago. What the industry is doing now is recycling supercomputing designing from the 80s and early 90s and shrinking them down onto a single die. The highest performance to cost ratio come from single purpose systolic arrays, which is what the first generations of graphics cards were. SIMD arrays have been used to accelerate more general scientific workloads for decades. MIMD architectures give the least performance to cost ratio, but provide the greatest flexibility.

      Just because rasterisation is efficient on an SIMD architecture doesn't mean that it is the only application that is. In the short-term (2-3 years) we'll see some hybrid approaches where alternatives to rasterisation are executed on the current architectures. In the medium to longer term we'll start seeing arrays of MIMD cores on graphics cards at which point the whole API will disappear. Larabee was the first aborted attempt in that direction, but it is inevitable that the market will go that way.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    43. Re:Unification? by Anonymous Coward · · Score: 0

      Ummm, what would the point be of having another layer of abstraction on top of the graphics API when you are guaranteed to be deploying to the same hardware in every single case?

    44. Re:Unification? by Anonymous Coward · · Score: 0

      Err, I don't know what DirectX calls it but with OpenGL you setup buffer objects, submit all of your data in one go, and use shaders to manipulate it. Very little function calls, most processing is handled on the GPU.

      The future you want is already here. The problem with that is you're still locked in to triangles and rasterization as your rendering model unless you do a _lot_ of work to get around it. Although with DirectCompute and OpenCL you have direct "low level" access to do whatever the hell you want on the GPU.

    45. Re:Unification? by shutdown+-p+now · · Score: 1

      The article describes a real problem though: if I want to hit 50fps then my rendering needs to execute in under 20ms. Performing 5k system calls to draw chunks of geometry means that each syscall needs to be less than 4us, or about 12000 cycles on a 3Ghz processor. That is not a lot of time to do all of the internal housekeeping that the API requires and talk to the hardware as well.

      So wait - if there's a problem in that department, then how do older games (both D3D and OGL, in fact) get 150+ FPS on modern PCs?

    46. Re:Unification? by smallfries · · Score: 1

      Because they draw less geometry and so make fewer calls per frame?

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    47. Re:Unification? by smallfries · · Score: 1

      This is only a partial solution. Prior to VBOs (or equivalent) you could only render a few thousand vertices because of the bottleneck. The primitives that you can render using a VBO are contiguous (fans and strips) so now you can render millions of polygons, but only in several thousand objects. Instancing is the next improvement that multiplies the number of objects that you can render each frame but now people want more, unique, objects. Same bottleneck - each time so far the solution has been to do more in each call.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    48. Re:Unification? by sxeraverx · · Score: 1

      Pipelining doesn't affect latency, only throughput. And the throughput increase is reflected in the increase I'n frequency. 3GHz still means that you can only perform 3000 instructions in a us.
      And that assumes none of the instructions trip an interrupt, which requires waiting while the pipeline flushes, and then continuing an interrupt handler; and none of the instructions cause a TLB miss, and none of the instructions cause a cache miss, and all instructions are effectively independent of each other (Hint: none of these situations actually do). Multiple issue and multiple functional units help with getting more out of the pipeline in the case where you have enough instruction independence and you suffer cache and TLB misses. Interrupts, however, still require you to flush the pipeline to guarantee proper operation. Now imagine what happens if every 20th instruction is an API call which triggers a system call by means of an interrupt because it requires privileged access to the GPU.
      I didn't RTFA yet, but that seems to me like the gist of the problem.

    49. Re:Unification? by grahamwest · · Score: 1

      It's mostly moved to APIs now. In the PS2 era, the PS2 used register level programming and assembly language but the Xbox used DirectX and the Gamecube used a custom API that was more or less OpenGL. In the current era the Xbox360 has its own API called XGraphics and the Wii and PS3 use OpenGL. The PS3 has another low-level API called libgcm but it's been a while since I was involved with that platform so I don't know the specifics.

      The same has happened with handhelds. Through Gameboy Advance it was all register level programming but the DS and PSP have OpenGL-like graphics APIs.

      I enjoyed learning to use the PS2 hardware but it was a pain in the ass for full game development. Licensing Renderware saved a lot of time and money. Knowing the hardware well enough to understand PS2 Performance Analyser dumps and help the artists change the assets was plenty good enough.

      --
      Graham
    50. Re:Unification? by Rockoon · · Score: 1

      Seriously.. removing the fixed function pipeline is not evidence of the design goals of the hardware. The hardware is still first and foremost designed to be able to rasterize triangles quickly. The fact that this has become "programmable" is also not evidence of the design goals of the hardware, which is still to perform optimally at DirectX rendering. Its not designed to be optimal at anything else.

      If you think different, then explain the poor performance at branching. Oh, thats right.. rendering triangles doesnt require much branching. If you still think different, then explain the extremely poor cache latency... oh, thats right.. rendering triangles doesnt require low latency memory operations.. Funny how the needs of rasterization has defined the performance of the chips, yet you deny that this is the case.

      --
      "His name was James Damore."
    51. Re:Unification? by smallfries · · Score: 1

      I've already answered your points in the post that you are replying to. Yes, the hardware is good at rasterisation. No, this does not mean that it is not good at anything else. I've already explained to you why this is so. Do you perhaps need a basic class in computer architecture to be able to understand?

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    52. Re:Unification? by drinkypoo · · Score: 1

      Or you could have both MMU and IOMMU and then you could control what resources the code actually had access to... A problem solved in currently-shipping hardware.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    53. Re:Unification? by badkarmadayaccount · · Score: 1

      Hardware bugs are not non-existent, and a VM can be smaller and simpler than those used today, creating a similar attack surface, and no one said it can't be hardware accelerated. Not to mention that the VMem code in the kernel is a layer of complexity in itself.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    54. Re:Unification? by badkarmadayaccount · · Score: 1

      May I remind you that the MMU in itself is not a performance issue - switching CPU state is. Which means that multiple switchable register files and stacks for the CPU would solve the problem, as well as lazy state switching, incrementally writing out state to cache/memory. Though AID tagged caches and TLB is must.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  3. Ten times the tech != ten times the quality by citoxE · · Score: 1

    You can have as much technology as you want in a computer, in the end graphics can only be so good. Maybe the fact that console graphics can rival PC graphics (supposedly) says more about the PC than it does the console. Gaming PCs are still better than any console if you care about more than just how pretty your game looks on you monitor.

    1. Re:Ten times the tech != ten times the quality by MrHanky · · Score: 1

      Console graphics can't really rival PC graphics. Take a look at this comparison of PC vs Xbox vs PS3 in GTA4. Then consider the fact that most modern gaming PCs (i.e. quad core with a midrange GPU or better) easily run the game at 1920x1080 @60 FPS, whereas the consoles use lower resolution and get choppier frame rates.

    2. Re:Ten times the tech != ten times the quality by Anonymous Coward · · Score: 0

      A large part of this effect is that artistic quality matters much more than technical quality, especially to normal (non-nerdy) people. I've had friends over who gasped about how beautiful a SNES rpg that I played in an emulator was. And as the technical differences are getting smaller and less easily perceived, that effect will only get bigger.
      It is already the case that a few 3D games from ten years ago look better than some of the most high-end games published now. Now it's only a few, but as the years pass, there will be more and more old games that will be able to compete for longer and longer against the latest game releases.
      And I don't think that's a bad thing. It will force game developers to focus on other things that are much more important to me, e.g.: story, artistic quality or a sense of polish in the UI and game mechanics.

    3. Re:Ten times the tech != ten times the quality by Anonymous Coward · · Score: 0

      Console graphics can't really rival PC graphics.

      For crappy ports. Check exclusive native console games for each console and you would be surprised at how good it looks. (PS3: GT5, Killzone 3, Uncharted 2, God of War 3, Heavy rain ...)

    4. Re:Ten times the tech != ten times the quality by binarylarry · · Score: 1

      That game was designed for consoles and PORTED to PC.

      PC > Consoles

      --
      Mod me down, my New Earth Global Warmingist friends!
    5. Re:Ten times the tech != ten times the quality by Raenex · · Score: 2

      Console graphics can't really rival PC graphics. Take a look at this comparison of PC vs Xbox vs PS3 in GTA4 [gamespot.com].

      I took a look. Totally underwhelmed at the differences. The problem is we have reached diminishing returns in graphics quality per hardware improvement.

      I remember the jumps in each generation of PC and console graphics before 2000, and each one was huge and made the earlier generation look dated. When the PS3 and 360 came out, they were clearly better, but they weren't *that* much better. The same goes for today's PC graphics vs the aging consoles.

      I don't see this situation changing until realtime ray tracing with realistic looking people (even the best today look like mannequins) comes about. That is, when you can't tell at a glance that you're looking at a game.

    6. Re:Ten times the tech != ten times the quality by Anonymous Coward · · Score: 0

      gta IV is over 3 years old... you can't compare that game to the current level of graphics on the PC, just look at crysis 2

      my opinion on this quote is that he simply doesn't understand how game development works. He's ignorant, I don't know how amd will deal with nvidia with this guy at the helm

    7. Re:Ten times the tech != ten times the quality by Tridus · · Score: 1

      And none of those look as good as something like Crysis 2 that's got some decent PC optimizations.

      The power comparison isn't even close, and that's if you just look at CPU/GPU speed & features and ignore stuff like RAM. The consoles are so memory starved that it's had a major impact on game design.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    8. Re:Ten times the tech != ten times the quality by click2005 · · Score: 1

      Crysis is a better example. The engine used in Crysis 2 (Cryengine3) has been dumbed down so it'll work on consoles.

      --
      I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
    9. Re:Ten times the tech != ten times the quality by MrHanky · · Score: 1

      You're not looking. The leaves on the trees, for instance. The PC version is clearly more detailed. When looking at them in full resolution, there's really no comparison.

    10. Re:Ten times the tech != ten times the quality by mehemiah · · Score: 1

      you should have replied to parent. your comment is replying to a point about PS3's custom hardware comparing to the PC

    11. Re:Ten times the tech != ten times the quality by Raenex · · Score: 1

      You're missing the point. I don't dispute the graphics are noticeably better. I'm saying it's not impressive or worth caring that much about compared to previous generations.

      Before 2000, if you bought a modern game one year, and then another one 3-5 years later, the difference would have been huge. Look at the jump between the last two console generations, from PS2 to PS3, compared to the PS1 to the PS2. The diminishing returns are blatantly obvious.

    12. Re:Ten times the tech != ten times the quality by Nemyst · · Score: 1

      No, the problem is that Rockstar made a shoddy PC port for an already relatively old game. You can't exactly see the difference if they didn't bother making any! What you're seeing is the inherent higher quality a PC can do, not an optimized game specifically for the PC. Had they actually worked on making a proper PC port with better graphics, you'd probably be rightfully amazed.

    13. Re:Ten times the tech != ten times the quality by hedwards · · Score: 1

      The main difference is that consoles top out at 720p, whereas a decent PC graphics card can handle 1080p without too much trouble, even my somewhat antiquated nVidia GeForce 9400GT from a few years back, which cost me less than a hundred dollars at the time, can handle 1080p without too much trouble if it does get a wee bit choppy at times.

      When I play anything on the PS3 the aliasing is probably the most notable distraction in terms of graphics, and that only really goes away with high resolutions. Probably way over 1080p, but the more pixels you've got the closer the approximations are and the less anti-aliasing you have to do in order to get rid of the stair stepping. And it's more of a problem now than it used to be now that the hardware can handle things which approximate circles and spheres with significantly increased accuracy.

    14. Re:Ten times the tech != ten times the quality by Eric(b0mb)Dennis · · Score: 1

      Mannequins? Have you SEEN the battlefield 3 play videos?

      http://www.ea.com/battlefield3/videos/faultline-ep1

      Seriously, some parts of that video are *photorealistic* to me.. I can barely tell the different at certain points.

      I cannot wait! (to majorly upgrade my hardware... lol)

      --
      Excuse me, I don't mean to impose, but I am the ocean
  4. Credit by calzakk · · Score: 3, Insightful

    Before Windows 95 and DirectX there was MS-DOS. Let's at least give credit where credit's due; DirectX has had a huge positive influence on Windows and Xbox gaming.

    1. Re:Credit by Anonymous Coward · · Score: 0

      Which is bad for everything else. No explanation needed here.

    2. Re:Credit by Lord+Lode · · Score: 1

      Aw come on, the DOS4GW era was great!

    3. Re:Credit by Pharmboy · · Score: 1

      But isn't asking to have "more direct, low level access" to the hardware EXACTLY like asking for the DOS days again, in a way? That was the first thing I thought. In reality, it would allow for faster game experience and better utilization of the hardware. Of course, this makes programming games a freaking nightmare as there are a million possible combinations, which would mean fewer games in that mode.

      I always thought a "dedicated game mode" for the OS would be interesting, where all other services are put to sleep and the system virtually reboots to a more plain Jane state, with just networking and low level services. (yes, like the old DOS days, but in a more controlled and predicable way) Of course, that would be a perfect vector to infect a system....that and MS doesn't use a microkernel design, which is what we are likely talking about.

      --
      Tequila: It's not just for breakfast anymore!
    4. Re:Credit by Sam+Douglas · · Score: 1

      DirectX helped to standardise the feature set of graphics cards, as well as provide a partially hardware-independent programming model. Without that it would be expensive for developers (have to develop for many different hardware configurations and quirks) and gamers (cheaper hardware, choice of manufacturer doesn't affect games that can be played, older cards stay useful longer).

      Developing games is still hard; DirectX doesn't make everything cushy, but it does limit the variance in device capabilities across generations.

    5. Re:Credit by hedwards · · Score: 2

      You're ignoring the fact that we already had OpenGL and that it had been in development and use for many, many years before MS decided to fragment the market. The real question is whether or not it's better than what was the status quo of OpenGL prior to all those stupid specialized APIs for the various graphics accelerators.

    6. Re:Credit by blahplusplus · · Score: 1

      "DirectX has had a huge positive influence on Windows and Xbox gaming."

      At the very beginning it had a HUGE NEGATIVE influence, so negative in fact that many games required you to 'reboot in MS-DOS mode'. Direct X didn't start becoming good until about 5-6. Just try playing an old copy of mechwarrior 2 for windows and see what I mean.

    7. Re:Credit by shutdown+-p+now · · Score: 1

      You're ignoring the fact that we already had OpenGL and that it had been in development and use for many, many years before MS decided to fragment the market

      Initially, OpenGL was practically non-existent on DOS/Windows. When 3D came on that platform, the first big API was 3dfx Glide - there were several years when practically all 3D games (except id stuff) were written for Glide first and often nothing else. Heck, Unreal Tournament - released in the end of 1999 - still ran faster using Glide drivers than it did with either D3D or OGL.

      That's where the fragmentation started from.

    8. Re:Credit by drinkypoo · · Score: 1

      Initially, OpenGL was practically non-existent on DOS/Windows. When 3D came on that platform, the first big API was 3dfx Glide - there were several years when practically all 3D games (except id stuff) were written for Glide first and often nothing else.

      That is true, but OpenGL did exist on Windows at the time. It was, of course, heinously expensive until about the Voodoo 2 era, when Permedia 2 came out at affordable prices. It was just a touch slower than a Voodoo 2, but offered real live GL.

      That's where the fragmentation started from.

      I couldn't agree more. Not a conversation like this goes by that I don't curse 3dfx's name for GLIDE.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  5. A better explaination? by mustPushCart · · Score: 2

    I RTFA and i still didnt understand why the API is bottlenecking, why the draw calls are one third of the draw calls possible on the consoles and why going direct to metal gives you orders of magnitude performance boost after considering both hardwares. Does directX reject the stream processors? or what exactly?

    1. Re:A better explaination? by Anonymous Coward · · Score: 0

      It's a CPU side bottleneck in the API & driver.

      1) You have to context switch to kernel mode to do I/O with the graphics card. Not very fast on Windows, takes over a microsecond.
      2) Every draw call has to compile state changes into GPU command buffers first. Not that fast on DX9 since the state calls don't match current architecture too well.
      3) The application has to sit around while this happens instead of doing other things because multithreading is a DX11 only feature.

  6. Hardware needs to change DX is obsolete. by goruka · · Score: 5, Interesting

    Discaimer: I am a pro game developer, wrote a few engines for commercial games, etc. I know what this guy means and ill try to explain it a bit better. The biggest problem with the DX model (which was inherited from GL) is the high dependency on the CPU to instruct it what to do.
    State changes and draw commands are all sent from the CPU, buffered and then processed in the GPU. While this speeds up rendering considerably (the GPU is always a frame ore two behind the CPU) it makes it limiting, to get feedback from the GPU about the rendering state, and since the all the DX/GL commands are buffered, retrieving state or data means flushing/sync.
    From modern algorithms related to occlusion estimation, or global illumination to overall reduction of state changes, it would benefit greatly if, for most tasks, the GPU could act by itself by running an user-made kernel that instructs it what to do (commands and state changes) instead of relying on DX, but for some reason this is not the direction GPUs are heading to, and it really doesnt make sense. Maybe Microsoft has something to do with it, but since Directx9 became the standard for game development, the API only became easier to program in versions 10 and 11, but didn't have major changes.

    1. Re:Hardware needs to change DX is obsolete. by Anonymous Coward · · Score: 0

      So basically remove the CPU from being the middle-man between the game and the GPU?

    2. Re:Hardware needs to change DX is obsolete. by Anonymous Coward · · Score: 1

      It didn't inherit it from OpenGL really. SGI started with OpenGL and realised that in order to really scale... you need the graphics card to hold all the data, and the CPU tell it higher level instructions. Not have the CPU telling the GPU to draw polygons.

      Stuff like OpenSceneGraph are the grandchildren of all that work. Microsoft just never bothered.

    3. Re:Hardware needs to change DX is obsolete. by goruka · · Score: 2

      I think the problem is not so much about the CPU being the middle man, but the CPU having to issue every draw/state change call. Instancing is one of the many examples about why the current model is wrong.
      A for() loop for drawing an object 5000 times is slow because there is a lot of cpu-gpu communication. Instancing fixes this but makes it less flexible (you cant change which arrays are drawn or most of the state between objects).

    4. Re:Hardware needs to change DX is obsolete. by Twinbee · · Score: 1

      I'm not so sure that it's not the direction GPUs are heading. For example, NVidia's future Maxwell chip that combines a CPU and GPU into one will have true multitasking, and maybe take the pressure off the CPU completely. Perhaps AMD's Fusion already supports that kind of thing? You're right though, it would be great to have DMA to the GPU.

      --
      Why OpalCalc is the best Windows calc
    5. Re:Hardware needs to change DX is obsolete. by Zevensoft · · Score: 4, Interesting

      I've programmed DS game engines as well as high performance industrial OpenGL, and the frustrating thing about OpenGL (or DX, they're both just wrappers around NV or AMD) is the inability to send data in the other direction, ie. from the GPU to the CPU without killing performance. The DS didn't have that problem because the vertex processor was decoupled from the pixel processor, and even still you could redirect outputs wherever you like, as well as having full access to the 4 channel DMA controller! We would do occlusion culling on the vertex processor before animation, and also reducing polygon counts for the rasteriser.

    6. Re:Hardware needs to change DX is obsolete. by Dayofswords · · Score: 1

      (super newbie programmer, merely guessing)
      So rather than having to go to the CPU ask what's next, you just give the GPU data, package of commands(in form of algorithms, like the for loop) finish doing those then come back to the CPU for the next set?

      i assume right now it's cpu does for, gpu draws, cpu does for, gpu draws
      and what you want is cpu gives a package of stuff, gpu executes and draws

      basically, have the GPU do some of the thinking
      maybe?

      --
      Someday we'll hit the human carrying capacity. And the band will just play on.
    7. Re:Hardware needs to change DX is obsolete. by NewWorldDan · · Score: 3, Interesting

      I suspect one of the reasons for this is that Microsoft has taken the view, in the last 6-7 years, that the GPU can be used for accellerating and enhancing the desktop experiance (Aero, IE9). Their other goal, to a certain extent, is cross platform compatibility. Making it possible to write casual games from Windows, phone, and xbox.

      Disclaimer: I wrote a game way back in 1994, directly interfacing the VGA card. In straight x86 assembly. I was total bare metal 17 years ago. I haven't really kept up on game development much since then. However, I wrote a clone of it in XNA recently. It took me about 4 hours to replicate 9 months of work from 1994. That includes the time to download, install, and learn XNA. My, how things have changed.

    8. Re:Hardware needs to change DX is obsolete. by mehemiah · · Score: 1

      what DS games did u program?

    9. Re:Hardware needs to change DX is obsolete. by drinkypoo · · Score: 1

      From modern algorithms related to occlusion estimation, or global illumination to overall reduction of state changes, it would benefit greatly if, for most tasks, the GPU could act by itself by running an user-made kernel that instructs it what to do (commands and state changes) instead of relying on DX, but for some reason this is not the direction GPUs are heading to, and it really doesnt make sense.

      It makes perfect sense if you are trying to sell new generations of GPUs and have code which targeted the old generation of GPUs work on the new one. You're asking them to create a situation which continually breaks backwards compatibility or which requires them to go to great lengths to emulate old hardware to preserve it, which will necessitate added silicon. For a games console it makes sense to give you that kind of access to the hardware but only insofar as it does not make development more complicated for those who have no interest in getting that close to the hardware because their application does not demand it for whatever reason. We have seen in the past that ports to systems with complicated development models such as the PS2 or the PS3 have suffered due to the high complexity of the system and the great extent to which each of these systems is different from its competitors and from all other popular systems which preceded them. Indeed, it was cited as an issue repeatedly by Saturn developers and was supposedly a big part of the reason why Sony put so much work into making development for the original Playstation as easy as possible, which makes the design of the PS2 and PS3 all the more ironic.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:Hardware needs to change DX is obsolete. by fleeped · · Score: 1

      How could the GPU act by itself? You'd need a low-level API. And would you like an API per platform / graphics card? At least companies don't, as the development costs would get even higher if you were to support same features in different platforms. Companies already strive hard to produce similar features in different consoles ( Disclaimer, I've worked as a programmer for such a company), and by eliminating such high level APIs you just rise the dev costs. New hardware would also mean new stuff to learn and master, which sends .
      DX just needs to get leaner-and-meaner. So does OGL. Allow more pipelines, but give a common API, regardless of the underlying hardware. Keep abstractions, but allow compositions of custom pipelines. Keep the proven stuff in HW. As programmers, we need abstractions to cut dev & debugging time, specialisations might be fun but that's one of the reasons games nowadays cost a LOT to make ( at least AAA).

    11. Re:Hardware needs to change DX is obsolete. by Prune · · Score: 1

      In GL since 4.0 one could use the indirectdraw calls (GL_ARB_draw_indirect) which read the drawing parameters from GPU memory and so those can be generated by transform feedback. Combine that with NVIDIA's bindless graphics extension which gives you essentially GPU pointers you can use to make in-GPU data structures, and you could build a self-drawing scenegraph on the GPU.

      --
      "Politicians and diapers must be changed often, and for the same reason."
    12. Re:Hardware needs to change DX is obsolete. by Anonymous Coward · · Score: 0

      > Their other goal, to a certain extent, is cross platform compatibility. Making it possible to write casual games from Windows, phone, and xbox.

      Well, yes and no. Microsoft's goal is world domination, same as it always was. They didn't get serious about directx until XP and the xbox, and, IMO, part of that was because of the antitrust trial. It was an indirect way they could dump $5billion on a new approach at lock-in (it'll make it easy to make games that run on both PC and console! -> you're locked in to Direct3D and your games can only run on the Xbox and in Windows).

      Before that, directx was hell. It was inconsistent even within the windows ecosystem - they'd do things like refuse to put it on NT, or refuse to have the new one work on windows 2000 (for absolutely no good reason). As a gamer, any time I had the choice between a game using opengl and using direct3d, I would chose opengl, and that would usually be the difference between it working great and not working right. It didn't start consistently working right until, what, version 6? version 7?

      Now I'm at the early stages of thinking about learning some 3D graphics programming, and Direct3D isn't even an option - even though it works now, the lock-in factor is huge, right at a time where there's a proliferation of other devices, OSs, architectures. Macs, Linux, Android, iOS. I could learn something that works everywhere, or I could bind myself to the will of a single company. Hmm.

    13. Re:Hardware needs to change DX is obsolete. by Anonymous Coward · · Score: 0

      You're right though, it would be great to have DMA to the GPU.

      What the hell is that even supposed to mean?

      If you mean directly poking the card memory, the card's framebuffer is already memory mapped (though if you have more than 512MiB VRAM, it will take a huge bite out of your 4GiB memory limit on a 32bit Windows/Linux installation). Programs don't get to access that because it's slow as hell (PCI-E bus is high bandwidth but not as high as the CPU's Memory Bus), MS is also moving in the direction of allowing multiple programs to share the card simultaneously (Aero) which makes it a security bug to allow such access.

      If you mean DMA as in the literal Direct Memory Access functionality then that is just stupid, all DMA does is copy memory from point A to point B without the CPU having to do it itself. DMA is slow, even more so now that the memory is directly hooked to the CPU so the DMA chip has to go through the CPU anyway to get to the memory.

      If you meant anything else then "you keep using that word, I don't think it means what you seem to think it means".

  7. Games Tied To Hardware? by borrrden · · Score: 2

    So are they implying that they'd rather develop a game for a very specific set of hardware? Seems like an awful business model to me. Two of the reasons console games look good with lower specs on their hardware is because they are designed solely for gaming, and their specs do not change throughout the life cycle of the device so there is no need to develop for a broad base of hardware types. On the other hand, PC hardware is constantly evolving and multitasking is always going on. Scrap the API and develop directly for hardware, and see what it gets you. A lot of angry customers once they upgrade their card and it doesn't work anymore.

    1. Re:Games Tied To Hardware? by Anonymous Coward · · Score: 2, Interesting

      Nope. Right now the GPU-CPU situation looks like my boss dictating an email to his secretary - it probably wouldn't take as long if he just told her to inform the recipient he's going to be late. The developers want all possible API ops moved to the GPU where the CPU doesn't get in the way. They still want a standard API and most certainly don't want to develop straight for the metal.

    2. Re:Games Tied To Hardware? by LO0G · · Score: 1

      Remember - the comment came from AMD. Games which tie themselves to a particular GPU is a *great* business model for AMD.

      Not so good for anyone else but...

  8. Alternate Title - MS Software makes CPUs run slow by cpu6502 · · Score: 0

    Old news.

    --
    My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
  9. Linux? by Anonymous Coward · · Score: 2, Insightful

    Alright AMD. Make a game for Linux. That will give you the lower level access you want. Impress me :)

    1. Re:Linux? by Anonymous Coward · · Score: 0

      I want BF3 for Linux! That would be awesome. :)

    2. Re:Linux? by Anonymous Coward · · Score: 0

      You fail both in understanding what he's saying, and in somehow thinking AMD is a game development house.

  10. Once again by McTickles · · Score: 0

    OpenGL is the way to go, no more porting headaches because of very wide support across platforms.

    I find also that OpenGL code tend to be more straightforward and cleaner.

    1. Re:Once again by Anonymous Coward · · Score: 0

      You are right, but the rubes mod'ing you are morons.

    2. Re:Once again by Narishma · · Score: 1

      He's getting modded down because what he's saying is off-topic. This isn't about DirectX vs OpenGL. Everything that's been said in the article about DirectX also applies to OpenGL.

      --
      Mada mada dane.
  11. If true where are the.. by Anonymous Coward · · Score: 0

    10x better then a console graphics demos on Linux for AMD GPUs?

  12. Funny, John Carmack thinks just the opposite by AlienIntelligence · · Score: 1

    John Carmack is quoted as saying almost the exact opposite:
    [ http://techreport.com/discussions.x/20580 ]
    [ http://www.bit-tech.net/news/gaming/2011/03/11/carmack-directx-better-opengl/1 ]

    Eight days ago
    [ http://games.slashdot.org/story/11/03/11/1832205/Doom-Creator-Says-Direct3D-Is-Now-Better-Than-OpenGL ]

    For the lazy clickers:
    Speaking to bit-tech for a forthcoming Custom PC feature about the future of OpenGL in PC gaming, Carmack said 'I actually think that Direct3D is a rather better API today.' He also added that 'Microsoft had the courage to continue making significant incompatible changes to improve the API, while OpenGL has been held back by compatibility concerns. Direct3D handles multi-threading better, and newer versions manage state better.'

    In case you're unfamiliar with the mighty Carmack, he co-founded id Software in 1990, and had a large part in programming Wolfenstein 3D and the original Doom and Quake games. Since then, id has rigidly stuck by OpenGL for both Doom III and Quake 4, while many other cutting-edge PC game developers have moved entirely over to Direct3D.

    Well, I did say, almost.

    -AI

    --
    For me, it is far better to grasp the Universe as it really is than to persist in delusion
    1. Re:Funny, John Carmack thinks just the opposite by bigstrat2003 · · Score: 3, Insightful

      The two issues under discussion are different. TFA says that DirectX is holding back PC gaming, while Carmack says DirectX is better than OpenGL. Those two are not mutually exclusive.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    2. Re:Funny, John Carmack thinks just the opposite by Anonymous Coward · · Score: 2, Informative

      That's not true.

      If you're going to pretend to be knowledgeable, then it's a good idea to at least read the article.

      Carmack's talkng about OpenGL vs DirectX. Arguably... DirectX is now a better API for writing games than OpenGL. I say arguably because I don't think it's a settled question - it is, however, one that is up for discussion - comparing Apples and Apples.

      This article though... that's about the model used by both DX and OpenGL. Which basically means the CPU tells the GPU to draw each polygon (ok... it's a little more high level than that.. shaders, VBOs etc but essentially this is correct). On a console, the standard architecture means the developers hit the hardware directly and make their own in essence make their own API that makes the most of the balance of power between the CPU and the GPU.

      On the PC - despite the fact that PC GPU hardware (even the cheap stuff) is massively more powerful... the CPU is still making system calls to DirectX very low level commands (effectively) to draw polygons. System calls are expensive and this is seriously limiting the ability of PCs to make use of the humongous power of these GPUs to draw real-time scenes.

      The article is calling for a different model from the one used by DX and OpenGL - one that solves this problem. See also: scene graphs.

    3. Re:Funny, John Carmack thinks just the opposite by next_ghost · · Score: 2

      And there's a very good reason behind Carmack's exclusive use of OpenGL for the past decade. When he first tried giving Quake a hardware accelerated video backend, he chose Rendition Verite's proprietary API (google for "vquake"). After VQuake's release, it turned out that Verite cards are horribly broken with no chance of being fixed in the near future so the entire project was a huge waste of time and money. So Carmack made the right decision to give up on proprietary API crap and stick with vendor-neutral open standards. If somebody wants to go down this road again, they'll simply discover all over again that Carmack was right 15 years ago.

      Console game developers should realize that once they switch over to PCs, they no longer have the luxury of writing code for single unified combination of hardware. That's why they need some kind of abstract API.

  13. Re:Slashdot does it again... by _Shad0w_ · · Score: 1

    It is possible for something which was innovative and liberating to become stale and restraining, you know.

    --

    Yeah, I had a sig once; I got bored of it.

  14. Really? by Phoshi · · Score: 1

    That might make sense, were it a case that PC graphics weren't 10x ahead of console graphics, and yet we're maxing out our cards. We are not. A mid end card handles even the most visually intensive games very well at above console resolutions. Yes, we could get more power out of our cards, no, it is not the reason graphics are not improving.

  15. Here's what's really getting in the way. by Anonymous Coward · · Score: 0

    1. Whiny gamers who want it NOW NOW NOW
    2. Impatient gamers who want it NOW NOW NOW
    3. M$/$ony who pay dev teams to develop for consoles first, thereby stifling advancements for the PC. You can only port so well, guys.
    4. Dev teams who decide to get paid by M$/$ony in order to make money up front, instead of more down the road.

    Switch gears, people. DICE shouldn't be one of the only companies that seems to give a damn about doing it kind of right. All of you should give a damn about doing it completely right.

  16. Console APIs vs PC APIs - an explanation by LordHavoc · · Score: 5, Interesting

    The way things work on consoles is approximately similar to Windows/Linux/Mac, except for these important distinctions:
    1. the hardware is a known target, as such the shader compilers and other components are carefully optimized only for this hardware, they do not produce intermediate bytecode formats or make basic assumptions of all hardware.
    2. the APIs allow injecting raw command buffers, which means that you do not have to use the API to deliver geometry in any way shape or form, the overhead goes away but the burden of producing a good command buffer falls on the application when they use these direct-to-hardware API calls.
    3. the APIs have much lower overhead as they are not a middle-man on the way to the hardware, but an API implemented (if not designed) specifically for the hardware. For example Microsoft had the legendary Michael Abrash working on their console drivers.
    4. the hardware memory layout and access bandwidth is known to the developers, and certain optimization techniques become possible, for example rendering to a framebuffer in system memory for software processing (on Xbox 360 this is done for certain effects, on PS3 it is heavily utilized for deferred shading, motion blur and other techniques that run faster on the Cell SPE units), in some cases this has other special implications, like storage of sound effects in video memory on PS3 because the Cell SPE units have a separate memory path to video memory and thus can tap into this otherwise "unused" bandwidth for their purposes of sound mixing.
    5. 3D stereo rendering is basic functionality on consoles.

    The article is making the argument that we should be able to produce command buffers directly and insert them into the rendering stream (akin to OpenGL display-lists but new ones produced every frame instead of statically stored).

    It is also making the argument that we should have explicit control over where our buffers are stored in memory (for instance rendering to system memory for software analysis techniques, like id Software Megatexture technology, which analyzes each frame which parts of the virtual texture need to be loaded).

    There are more subtle aspects, such as knowing the exact hardware capabilities and designing for them, which are less of a "No API!" argument and more of a case of "Please optimize specifically for our cards!", which is a tough sell in the game industry.

    AMD has already published much of the information that studios will need to make use of such functionality, for example the Radeon HD 6000 series shader microcode reference manual is public already.

    Intel also has a track record of hardware specifications being public.

    However NVIDIA is likely to require a non-disclosure agreement with each studio to unlock this kind of functionality, which prevents open discussion of techniques specific to their hardware.

    Overall this may give AMD and Intel a substantial edge in the PC hardware market - because open discussion of graphics techniques is the backbone of the game industry.

    On the fifth point it is worth noting that NVIDIA Geforce drivers offer stereo rendering in Direct3D but not OpenGL (despite it having a stereo rendering API from the beginning), they reserve this feature only for their Quadro series cards for purely marketing reasons, and this restriction prevents use of stereo rendering in many OpenGL-based indie games, another case of consoles besting PC in functionality for ridiculous reasons.

    --
    "Any sufficiently advanced technology is indistinguishable from a rigged demo." - James Klass
    1. Re:Console APIs vs PC APIs - an explanation by Anonymous Coward · · Score: 0

      Nvidia and AMD also artificially slow down double precision shader performance just for marketing, i.e. better sales. ) Additionally, AMD even produces cheaper cards without double precision support on die).
      Full blown double precision cores are reserved for special, quite expensive, Professional (Quadro and Firegl) and GPGPU (Tesla, not sure about AMD) offerings. However they will be screwed once games start depending on double precision performance.

      Yes, GPU using should gradually proceed from batched model to SMP (memory sharing) model, where you basically run a multithreaded app where a thread (group) is running on a GPU and performs communication with the CPU part in a smarter way, meaning a custom way written by the developer, than batch buffering. Fusion should in theory be that, but for now it seems to be integrated GPU on the same die as CPU.
      API - DirectX can still exist, but direct access should be possible by an instruction set, and/or API which is basically a set of standard libraries being executed in virtualized environment on GPU,analogous to how protected mode programs run on a x86 CPU.
      Oh yes, this really means that portions of the instruction set should be open, at least those used by kernel for controlling the virtualization of "GPU user mode". The remaining secrets and differences between vendors can be hidden in libraries.
      Languages analogous to HLSL/GLSL can be used for making sure that the user code runs, as you can always use CPU to compile from high level code to machine code instead of precompiling for every GPU architecture.

      In 10 years GPU and CPU will probably merge, so expect that the kernel will have to control the heterogeneous model of CPU-GPU SMP. If you want, Cell is a kind of predecessor for that, just wasn't powerful enough to match a discrete graphic card.

    2. Re:Console APIs vs PC APIs - an explanation by del_diablo · · Score: 1

      So why are none of these companies submitting a draft to openGL where they remove most of the overhead and stupidity in the API that causes slowdowns?
      If I want to make a game, I won't do anything "close to the metal", because that would mean coding for each spesific hardware architecture, which means the system breaks the moment something else is used. While has gotten better in the years(Read: A lot of CPU and GPU manifactures has died for the mainstream), the problem is still present.

  17. Open hardware API by h00manist · · Score: 0

    Perhaps then the GPU makers should have talking about implementing a common open spec for a hardware-based API

    --
    Build your own energy sources from scratch. http://otherpower.com/
    1. Re:Open hardware API by Tharsman · · Score: 1

      Hmmm an open graphic library.... There is an idea!

    2. Re:Open hardware API by _0rm_ · · Score: 1

      I really, really hope you aren't as ignorant as your statement makes you out to be.

      --
      Boredom is bliss.
    3. Re:Open hardware API by thoughtsatthemoment · · Score: 1

      Jokes aside, an open graphic library with hardware acceleration does not exist. Cairo comes close but it's opengl backend was still experimental last time I checked.

  18. Lowest common denominator is Intel's Graphics My by tepples · · Score: 1

    I think a large part of the lack of perceived difference between consoles and PC's these days have a bit to do with the least common denominator, which unfortunately also happens to be an aging dedicated gaming console

    As I understand it, the lowest common denominator console for "grown-up" consoles (Xbox 360) is far more powerful graphically than the lowest common denominator PC (any PC with integrated video). Half a GB of RAM and an AMD Radeon X1900 beat 2 GB of RAM and an Intel "Graphics My Ass".

  19. Easy workaround by WegianWarrior · · Score: 2

    Those of us who are old enough to remember a time before the GUI was the only show in town surely remember that "big" games almost always came with their own boot disk. Would it be so hard to go back to that, if the benefits were worth it? A DVD, or a flash drive, with a small Linux kernel, a library of drivers for the wide range of hardware out there and the game files - optimized for speed, with no loss of performance because a huge, bloated GUIed OS gets in your way. If the game developer uses an off-beat file system, it'll also prevent piracy!

    Granted it'll also bring back the bad old days of cursing up a storm because the latest game didn't support your Gravis Ultrasound, but only the crappy SoundBlaster... and off course the game would have to include it's own TCP/IP stack if you want multiplayer... and a few gigs of drivers for the various motherboards, graphics adapters and so on and so forth that the casual gamer may or may not have - but at least you don't have to worry about a system put in place to simplify all that stuff getting in your way.

    --
    Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
    1. Re:Easy workaround by Andor666 · · Score: 1

      That's a game console :D

    2. Re:Easy workaround by cratermoon · · Score: 1

      the game would have to include it's own TCP/IP stack if you want multiplayer

      Interesting thought experiment that comes to me paralleling the graphics performance vs. portability discussion.

      As a parody:

      Multiplayer online games suffer from various network degredation and lag problems. Why do they depend on the tcp/ip sockets API to handle networking for them? Doesn't that introduce all kinds of latency and performance issues? Think how much data throughput we could get if we were able to program directly to the ethernet card? We could manage our own buffer, segment, and windows sizes, multiplex streams using our own interrupt or polling instead of relying on select(). We could even be free of the constraints of pesky things like slow start, congestion control algorithms, and the overhead of Van Jacobson header compression. Let's just ACK when we feel like it instead of when the OS makes us.

      Why not get rid of those bloated IP packet fields and headers we don't care about while we're at it? Not programming directly to the OSI Physical Layer is such a performance loss, game programmers should be able to access the network card registers and interrupts directly!

      HARUMPH!!

    3. Re:Easy workaround by Anonymous Coward · · Score: 0

      Mod parent up, case closed.

      I like to multitask with my games (windowed mode) or chat using vent/msn/other mediums.

  20. Get to the hardware? by xtracto · · Score: 2

    By giving you access to the hardware at the very low level, you give games developers a chance to innovate

    I am ready!

    MOV DX, 03D4h
    MOV AX, 06B00h
    OUT DX, AX

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  21. Sounds like a good idea by phanboy_iv · · Score: 1

    'Oh hey! Let's start coding the graphics engines for our multi-million dollar games in a basic low-level chip-specific language! That'll let us squeeze the most out of that 5 year old GPU we have to use!'

    1. Re:Sounds like a good idea by spyked · · Score: 1

      Your argument would hold if DirectX were portable. I don't really see it running natively anywhere except Windows and Xbox.

      I really don't understand some people's aversion towards assembly language. Yes, sure, we all want a user-friendly programming environment, but not when it comes to squeezing all we can out of the hardware. My two cents.

    2. Re:Sounds like a good idea by phanboy_iv · · Score: 1

      It may not be totally portable, but it is undoubtedly more portable than assembly.

    3. Re:Sounds like a good idea by spyked · · Score: 1

      I agree with that, but developers often sacrifice portability for performance, that's a fact. CUDA isn't any more portable than assembly, yet it can improve performance a great deal if used correctly. IBM Cell processors can be programmed at assembly level, which is why a Playstation 3 can perform better than a PC, marketing and everything else aside. When a computer architecture like those mentioned is odd enough that the compiler isn't able to optimize, you just have to go there.

  22. Re:Lowest common denominator is Intel's Graphics M by Anonymous Coward · · Score: 0

    You do realize the 360 has a 500MHz ATI Xenos? Hardly top of the line. It's a 2005 graphics card.

  23. What a great plan. by degeneratemonkey · · Score: 1
    Because my eyes swell up as I reminisce about the days of supporting 30 different display drivers, each using a unique set of control registers to perform trivial operations on the hardware.

    Also:

    Perhaps then the GPU makers should have talking about implementing a common open spec for a hardware-based API

    Not sure if serious. This is exactly what shader languages are. GLSL, HLSL. This is exactly what shader languages are. The use of shaders should probably be (officially) separated into standalone APIs so that developers can utilize the hardware without GL/D3D driver management, but that's really just an extension of existing APIs.

  24. Waiting for the day... by degeneratemonkey · · Score: 1

    ...when addon GPU cards are a thing of the past, having been supplanted by superior CPU architectures. We'll still want APIs when this happens, but the market of available low-level APIs will probably expand rapidly due to the inevitable convergence (I'm an optimist!) of architectures and the resulting weakening of the stranglehold that companies like NVIDIA and AMD have over how developers do things on the metal.

    I'm sure AMD would love to cajole developers into using proprietary AMD "non-"APIs. I'm also sure that (good) developers want no part in such nonsense. Been there, done that.

  25. That's what the Cell was, didn't work by loufoque · · Score: 2

    The Cell is a mini vector processor cluster which is not completely unlike graphics cards and was, at the time it was released, more powerful than them.
    You had the usual C/C++ toolchain available, and it was a fairly simple architecture to use compared to a GPU (and even compared to an x86 -- SIMD is simpler on the Cell than on x86).

    Yet it was a failure, because game developers were completely unable to use it. Game development is a quick and dirty process, and they need to be multi-platform to sell more. There is no time to learn the specifics of a platform and designing your game to exploit it.
    That's why they prefer having one API to rule them all (DirectX).

    Even within the whole of the Ubisoft studios, there are only a couple of people capable of getting near 80% of the Cell processing power.

    1. Re:That's what the Cell was, didn't work by theweatherelectric · · Score: 1

      Game development is a quick and dirty process, and they need to be multi-platform to sell more. There is no time to learn the specifics of a platform and designing your game to exploit it.

      And that's why you use platform specific libraries to exploit it if you don't have the time to do it yourself. God of War III's morphological anti-aliasing is a good example of the capability enabled by Cell:

      http://www.eurogamer.net/articles/the-making-of-god-of-war-iii
      http://www.eurogamer.net/articles/digitalfoundry-mlaa-360-pc-article

      To quote the relevant part of the first article:

      According to director of technology Tim Moss, God of War III worked with the Sony technology group in the UK to produce an edge-smoothing technique for the game that the developers call MLAA, or morphological anti-aliasing. Indeed, Moss's colleague Christer Ericson took us to task on the specifics of MLAA a few months back in this DF blog post, revealing that the team has put extensive research into this in search of their own solution.

      "The core implementation of the anti-aliasing was written by some great SCEE guys in the UK, but came very late in our development cycle making the integration a daunting task," adds senior staff programmer Ben Diamand.

      The specifics of the implementation are still unknown at this time (though Ken Feldman suggests it "goes beyond" the papers Ericson spoke about in the DF piece) but the bottom line is that the final result in God of War III is simply phenomenal: aliasing is all but eliminated and the sub-pixel jitter typically associated with this technique has been massively reduced compared to other implementations we've seen.

      The custom anti-aliasing solution is also another example of how PlayStation 3 developers are using the Cell CPU as a parallel graphics chip working in tandem with the RSX. As Richard Lemarchand discussed in his Uncharted 2 post-mortem, the basic theory is all about moving tasks typically performed by the graphics chip over the Cell. Post-processing effects in particular work well being ported across.

      The more flexible nature of the CPU means that while such tasks can be more computationally expensive, you get a higher-quality result. The increased latency incurred can be reduced by parallelising across multiple SPUs.

      In the case of God of War III, any given frame typically takes between 16ms and 30ms to render, give or take a millisecond or two. The original 2x multisampling AA solution took a big chunk of rendering time, at 5ms. Now, the hugely more impressive MLAA algorithm takes a total of 20ms of CPU time. However, it's running across five SPUs, meaning that overall latency is a mere 4ms. So the final result is actually faster, and that previous 5ms of GPU time can be repurposed for other tasks.

    2. Re:That's what the Cell was, didn't work by drinkypoo · · Score: 1

      And that's why you use platform specific libraries to exploit it if you don't have the time to do it yourself.

      But the problem is that these libraries didn't exist when the PS3 hit the streets, let alone before that. From your own quote, "The core implementation of the anti-aliasing was written by some great SCEE guys in the UK, but came very late in our development cycle making the integration a daunting task," adds senior staff programmer Ben Diamand. But they did it anyway, because figuring out how to keep the Cell busy is an even more daunting task.

      The cell processor is a failure for Sony. What's hilarious is that it represents their forgetting everything they learned in their first foray into gaming. They gained a leg up on the Saturn by making development easier. The Saturn was a true "bare metal" system designed by one developer as a "pile of chips" on a board. It had almost twice as much CPU power as the Playstation by having two CPU cores. It has no hardware for 3d transparency so you either have to do shitty screen door effects or do transparency manually with the second CPU, as some titles did. Unfortunately nobody figured out how to do this well until late in the system's life, much to its detriment, and Sega's. Meanwhile Sony put together an unprecedentedly easy-to-use development system for the Playstation and fantastic-looking titles began to roll out almost immediately.

      This, of course, makes it spectacularly puzzling that Sony would opt to produce what they surely had to know would be the most difficult system to utilize in the next generation. And when the multitudes of game developers complained about the difficulty of developing for the PS2, and typically managed to produce a better-looking game on the Xbox whether development occurred in parallel or not, and Sony then did it again with the PS3, I concluded that they had completely lost their fucking minds. It is some kind of arrogance that leads them to continue to piss on the meat of the market.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  26. Re:Lowest common denominator is Intel's Graphics M by tepples · · Score: 1

    You do realize the 360 has a 500MHz ATI Xenos? Hardly top of the line. It's a 2005 graphics card.

    You do realize that the GMA isn't even as powerful as a 2005 graphics card?

  27. No thank you by kshade · · Score: 1

    Graphics are fine, we're slowly getting to a point where screaming "OMG LOOK AT TEH PRETTY PICTSHURS" isn't enough to sell a game anymore. Please keep it that way.

  28. OpenGL by Anonymous Coward · · Score: 0

    We should all go back to OpenGL!

  29. Re:Lowest common denominator is Intel's Graphics M by bami · · Score: 1

    Actually, while the pixel processor might be slow, it has 12 MB of very very fast EDRAM. This allows you to do render-to-textures (and thus, post processing) with very little load on the GPU. This makes a lot of effects very cheap (time-wise) and you can pull off a lot of nice things with that.

  30. Sheer quantity by tepples · · Score: 1

    Xbox games (aside from the indie scene) are usually programmed in C/C++

    I was under the impression that indie games had surpassed non-indie games in quantity; therefore, a randomly selected game would "most often" be an indie game and therefore use XNA.

    1. Re:Sheer quantity by PwnzerDragoon · · Score: 1

      I think "game" is a very generous term for most of the dreck available on the XBLIG marketplace... Don't get me wrong, there are some gems in there, but it has far more noise than signal.

  31. ummm... by buddyglass · · Score: 1

    APIs exist for a reason. They abstract out reusable functionality, which frees developers from the need to reinvent the wheel and/or maintain separate code for different types of hardware. There's always some cost in performance, but a well-designed API should minimize that cost. Take DirectX and OpenGL out of the equation and you'd see fewer games developed at a higher cost-per-game.

  32. I'll pass. by Altanar · · Score: 1

    What AMD is trying to say is that they want to be able to give a game developer millions of dollars to "persuade" them into "optimizing" their game to such a point where it you essentially can't play their game with anything other than an AMD video card. No thanks. I would rather my game's graphics be a little more inefficient and not have to worry if my brand new nVidia card will play an AMD optimized game at all.

    1. Re:I'll pass. by Anonymous Coward · · Score: 0

      Nah. The argument is lower-level than AMD-vs-nvidia. There's a feedback loop due to Microsoft owning both DirectX and the Xbox. Since one of the big things they pushed DirectX for was to be able to write games for both their console and windows at the same time (or do one first and easily port in either direction later), developers are naturally pushed to aim for the lowest common denominator (or whatever platform they expect to make the most money on; either way, when you're considering a big new game on PC-vs-360, that means the 360). Thus many, many developers have tied themselves to the long-generation console hardware features, and have intentionally neglected a few later generations of PC hardware. If a feature won't run on the 360, it doesn't get used! Even if we don't count new features, at the very least this has ramifications for texture sizes and screen resolutions for the PC ports. And gamers have indeed been complaining about the quality of 360->PC ports for a while now.

      It might also be relevant to mention some equivalent scorched earth from Intel, too. Intel pinned their graphics hope on 80-core raytracing beasts that never materialized... but back when they thought it would, they also moved to block AMD and nvidia from getting their stuff built into motherboards for Intel's chips. Lawsuits ensued, but meanwhile graphics performance of baseline PCs has been held back.

  33. Nothing is optimized fully for DX11/GL4 yet by rasmusneckelmann · · Score: 4, Interesting

    I don't think many (if any) game developers are using either OpenGL 4 or DirectX 11 at their full potentials yet. Especially DirectX 11 is designed to allow a lot of multithreading and decoupling the GPU pipeline from the CPU. If you implement a naive rendering engine with OpenGL or DirectX, sure, you'll find that most of the time you're just sitting around waiting for synchronization and buffers flushing. But if you design your software around multithreading and the new API features, you can squeeze a lot more juice out of the system. Also, I'm sure there's a lot of geometry shader pipeline tricks waiting to be discovered, which will further decouple the GPU from the CPU. I wouldn't be surprised if we "soon" see the merging of the vertex and geometry shader pipelines, might even together with compute shaders. When that happens, the differences between OpenGL and DX is propably going to be very minor (and very, very close to the hardware layer).

  34. Lazy pc gamers who pirate are the problem by Anonymous Coward · · Score: 0

    Single player, high-end pc games regularly have piracy rates of over 70%. That means fewer than 3 in 10 actually buy the game. How can anyone get upset with game developers for not wanting to focus on them?

    1. Re:Lazy pc gamers who pirate are the problem by Anonymous Coward · · Score: 0

      6 out of the 10 are broke or living with their parents and couldn't purchase it anyway.

    2. Re:Lazy pc gamers who pirate are the problem by Anonymous Coward · · Score: 0

      Charging what a game is actually worth would make a lot of sense to me. Where is it written that every new game enters the market at $60 a pop? Your game is worth $10 to me, at most, and that is what I wait to pay for, used. Even at $10, you'd still make a decent living. Not, like, hollywood billionz or anything, but the same income as your average professional.

  35. AMD as stupid as usual... by Anonymous Coward · · Score: 0

    As a game developer I can say that DirectX is not holding games back. Lazy developers who are more concerned about quick hacks than game quality are responsible for this. My team have built a from-scratch 3d game engine which can use OpenGL and DirectX depending on the compile options. Porting from Windows!DirectX to iPad!OpenGL was trivial (ignoring that the OpenGL API is complete /ass/ compared to the DirectX one) as all of the rendering code was abstracted to its own library. It took us twice as long with this method but the bug count after changing things is almost always 0.

    TL;DR version: Good developers write good extendable code, Bad developers write bad breaky code.

  36. wrong problem by roscocoltran · · Score: 2

    Graphics are not the problem with games nowadays. Content is, or rather: lack of content. I don't care to be able to count the number of leaves on a tree of seeing or not the shadows of these leaves. I want to be able to interact with the tree. It's the corridor syndrom, I don't care the graphics of a corridor, it's still a corridor and it's only designed to be walked trough. How fun... Tell me why minecraft has so much success ? The funky design of the cubes maybe ?

  37. title should be "DirectX redesign needed" by Anonymous Coward · · Score: 0

    If the issue is large overhead from the current version of DirectX, then change the architecture of DirectX for the next version, NOT 'get rid of DirectX'.

  38. Ten times the tech CAN = Ten times the quality by Plekto · · Score: 1

    If you take a look at what modern lighting effects (Halflife2 gave you a hint of it with their tech demos) and also look at what you can do with ray-tracing (DirectX 12), it's really a matter of us not getting these in PC games because of everything being ported these days FROM the consoles, which lack the power to deal with such complex physics and lighting environments. This would require a complete ground-up rebuild of the engine for PCs and they simply don't do it. So we get rubbish like Mass Effect which looks and feels exactly like a console game on the PC.(great game, terrible graphics)

    What it requires is for stand-alone PC only games that are essentially "PC Exclusives." ie - DirectX 10+ only. You can get a glimpse of this in a few online games, though, like DDO online and WoW, where the tech and overall look and feel is noticeably better because there is no console port for it. Even though they do use DirectX, the issue isn't DirectX itself. It's that the majority of console games are still using DirectX 9 to maintain compatibility with the gaming consoles. Freed of that limitation, the graphics can literally charge ahead and use all of the power at their disposal. Either to add better physics and effects, to support higher resolutions, or to free up the CPU so that it can concentrate more on AI and other features to make the game not such a joke to play against. And game developers DO do that without question. But it does mean that the games won't run on consoles or older systems without a whole other DX9 build.

    http://en.wikipedia.org/wiki/List_of_games_with_DirectX_11_support
    The easiest way to see this in action is to download Dungeons and Dragons Online under Windows 7 (with a DX11 card of course). It's free and simply awesome looking. Even the DX10 version of most games is worlds better than a console Note - this means a full build vs "works under DX10", and few companies have done that.(or have jumped directly to DX11)

    You can see this as well in several PS3 exclusives lately(which don't use DirectX of course). They are gorgeous and look far better than anything on an XBox 360 because the designers could focus on one set of hardware specs and run as far as they could with it.

    Simply put, we need to drop Direct X 9 support as quickly as possible from the PC market and move on. I fear that we'll be looking at DX12 cards that are still running DX9 level technology due to the developers being caught in the XBox trap.

    1. Re:Ten times the tech CAN = Ten times the quality by ADRA · · Score: 1

      I thought most devs were caught in the XP trap, not the Xbox trap.. *shrugs*

      --
      Bye!
    2. Re:Ten times the tech CAN = Ten times the quality by Plekto · · Score: 1

      Same difference, really.

  39. OpenCL? by WilCompute · · Score: 1

    Isn't OpenCL supposed to allow a a lot of this offloading? Aren't you supposed to be able to give the gpu a kernel, then just send it data. Then aren't you able to send it to OpenGL to render on screen? I don't have access to a OpenCL capable gpu, yet, but asa soon as I do, that seems the best solution? Let me know if I am wrong, as I hate being right to much.

    --
    NDxTreme Content on the Edge.
  40. API pushdown by sjames · · Score: 1

    What we really need is to push the API down. That is, have the hardware support a standardized mid-level interface (with a defined way to bypass it). All benchmarks should exclusively access that interface so the hardware vendors have to care about it. It's not like different graphics cards do radically different things.

    I know it's just a pipe dream, but it would solve the problem.

  41. Deja Vu by darkwing_bmf · · Score: 1

    I could swear this is something I read about ten years ago. And ten years before that - although, at that time the debate was more along the lines of assembly vs higher level languages. But the concept was the same. Maybe I'm just getting old.

  42. I think I agree by jabjoe · · Score: 1

    I don't like graphics cards. It's a like a whole separate computer, with all that processing power and memory, not accessible from the main computer properly. It would be better to bring it all back to the centre. RAM is the best example of this. The graphics card can have nearly as much RAM as the rest of the system but day to day, my graphics needs are tiny. So why can't that RAM be used to cache disk, which would be much more useful to me. The processing power, ok, it's in the form of a bag of stream processors taking different instruction set to the CPU, but I'm sure it can be used for more than graphics. Yes there are APIs to do that already, and yes, we are clearly heading in this direction anyway.
    This doesn't take away DirectX or OpenGL, it just means you don't have to use them. It also means other, new breed, APIs can come along that generically use all that unified power, and don't care about make/model of hardware like graphics card. Like in the old days of software rending. Back then, the screen was just an address, and what you did with that address was up to you. You could use an off the shelf renders, but you where free to write some crazy thing of your own if you wanted. In Linux world, Gallium is interesting because it heading in this direction, making graphics APIs implementations hardware agnostic, but it doesn't have the game market to really go crazy with it. We could maybe hope for some crazy demos though. :-)

    1. Re:I think I agree by drinkypoo · · Score: 1

      You don't have to have a system with a discrete graphics card, though. You apparently elected to do so. If you didn't then you'd have shared memory, like the Xbox 360, or like most budget PCs. I have such a machine with a Dual-Core Athlon 64 at 2 GHz, and with onboard 6100LE graphics. They suck real bad though, so that machine has an nVidia 8600GT (or something like that) in it. I think I went with the 256MB version to save money, even. It's not enough RAM to really care if it's sitting idle compared to the 2GB in the system, at least given what I'm doing with it; Running XP for XBMC and for Netflix (Firefox, Silverlight.) I only upgraded the video card to play games back when it was my primary desktop system. Now I have a Phenom II X3 720 system with a GT240... built to be a low-power rig and to have basic gaming ability. Still plays any game I care about.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  43. Re:Lowest common denominator is Intel's Graphics M by jedidiah · · Score: 1

    It all depends on what you are comparing it too. An ATI GPU from 2005 probably wipes the floor with anything Intel.

    A lot of games on the PC or Mac don't support Intel ANYTHING.

    Very annoying really.

    With Windows PC gaming really only supporting ATI and Nvidia, the situation on Linux doesn't seem nearly as dire.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  44. Hey AMD! by kuzb · · Score: 1

    The Crysis engine would like to have a word with you. I remember the time when you'd have to pry the AMD hardware from my cold, dead hands - unfortunately the little company that could started to suck as it got larger. I can't believe the excuses you guys are coming up with now.

    --
    BeauHD. Worst editor since kdawson.
  45. bare metal forceps chainsaw by epine · · Score: 1

    There's something about the phrase "bare metal" that triggers an amygdala release in most people, even people who were there and lived through it, and ought to know better though the potato peeler of hindsight.

    We all know the story. Right around when really cool things become possible there's an outbreak of mass hysteria, with every hardware vendor and software library scrambling for momentary glimpses of nirvana (and market traction), with swollen trade rags tarting legions of pretenders in pancake drag; the entire industry begins playing the Jonestown edition of "Where's Waldo?"

    I recall in particular some of those early 3D video cards awarded hot scores for performance breakthroughs deserving five hot turds for advances in low-pass filtering of the rendered pixel stream. You know, the 4x4 analog mud filter. But the heavy benchmark breathers barely seemed to notice the visual stench.

    Sure, no one wants to return to the sketchy birth scene of a technology that's only made it halfway out of the birth canal. Some people hear "bare metal" and can't get past traumatic recollections of delivery forceps.

    Eventually that day comes where Joe Radome paystud can afford to sacrifice ultimate performance in order to work twice as fast on top of an API that provides some shelter and refuge from the carnage of innovation. At this juncture, even poser pixels have spiffy RAMDACs. The wild west bifurcates into suburbs and scissorhands. Elite coders stick it out on the cactus mesas. The moon-shot is a harsh mistress, but there's glory in it; a sapho-stained gore-fest crosses the Rubicon into adolescent ground truth.

    Less remarked upon is the comfortable third age: when the underlying hardware has become so powerful, that the fat API sheltering you from the gory details hinders what it abets. Every API begins life with the mandate to bring order to chaos. Later we regard the heroic efforts of developers leaping into the line of fire as "legacy cruft". The soul of the machine is steeped in blood sacrifice. There's a thin red line between pragmatism and incompetence. If only that API could talk, what stories it could tell.

    Fast forward to Jetsonville, a retro fetish won't shackle you to kilobyte sample-buffer backflips, or optimizing SNR on a 16-bit integer DSP. Radial tires are here to stay, man. All the same, not every advance is a step forward. Floaty-boats from 1950-1970 had the plush suspension to conceal other engineering faults though mock levitation. Those faults are gone and no-one thinks that floaty-boat suspension is the only thing protecting the industry from Mad Max IV. A little agility greases the pavement.

    I think in modern video cards the pain is not so much in Grangerford versus Shepardson pipeline architectures, but the extreme variation in resourcing and optimal orchestration. Isn't this one of the problems that Apple is attacking with clang/LLVM? It certainly gives me a slight tingle of bare metal blood lust.

    In R, I've started to play with the Rccp and inline packages. Welcome to the bare-metal luxury resort. Barstool PTSD greybeards need not apply. Hey dude, sometimes the bare metal is 18-10 stainless or aircraft aluminum. You don't always get tetanus. You have to stop for a moment when someone hands you the chainsaw of yesteryear to ask which end of the chainsaw is being offered up and reflect on the general era of manufacture.

    What Doom never taught you.

    Make no little plans. They have no magic to stir men's blood.

    And gentlemen in England now-a-bed
    Shall think themselves accurs'd they were not here,
    And hold their manhoods cheap whiles any speaks
    That fought with us upon Saint Crispin's day.

    There's something to be said for squeezing DirectX out the pinhole.

  46. Missing the point by Anonymous Coward · · Score: 0

    I don't think that AMD are saying that API like DirectX are a problem in themselves, its just that MS have geared the developlment of Directx to consoles. So basically there are features that could be harnessed in PC GPU that are not getting the proper treatment since they are being held back by DirectX roadmap.
    Whats needed is an API thats specific for the needs of the PC. Yes that could be OpenGL or whatever but whatever it is it should not cripple PC development.

  47. You're ALL talk and bullshit by Anonymous Coward · · Score: 0

    You're ALL talk, and you couldn't do any of what these game devs do to save your life.

  48. Re:Lowest common denominator is Intel's Graphics M by drinkypoo · · Score: 1

    The Xbox 360 beats the crap out of the LCD PC on every level but quantity of memory. On the other hand, if you shop sales you can literally build a faster PC for about the same price, today.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  49. PC game graphics are not enough to drive profits. by LordZardoz · · Score: 1

    If the goal is to make a game with bleeding edge graphics that blow everything else out of the water, then yes, going directly 'to the metal' would work.

    If the goal is to make a game that is actually profitable, or if the goal is to make a game that can be used with the least amount of grief by the majority of your customers, then that kind of thinking is not going to help you meet that goal.

    I think that any demand for PC specific API's that can take full advantage of the newest video cards is overstated. Simply put, while the PC user base is especially vocal, it is not especially profitable, and cash speaks louder then long and ranting forum posts about how the PC is a superior platform. At the moment, most developers are racing head long towards the iOS / Android smart phone platforms because the combination of low dev costs and large potential user base are extraordinarily tempting. Whether or not you think this is a good or especially wise thing (which I do not) is beside the point.

    Do any of you think that so many developers are rushing to that platform because they expect to push bleeding edge graphics on it? If anything, DirectX is most likely going to be modified to make it easier to put decent graphics on the Windows phone long before improving the utilization of PC graphics cards becomes a priority.

    END COMMUNICATION

  50. Um by Anonymous Coward · · Score: 0

    Direct X is about direct access to hardware, its why Direct is in the name.

    Funny how John Carmack suggests that Direct X is pushing PC gaming graphics further then OpenGL.

  51. Swarovski outle by jinglian · · Score: 0

    Do you always hesitate for what to buy jewelry.But now you didn't worry about,the Swarovski outlet is present different kinds of crystal jewelry for your selection.So if you have this desire you can visit Swarovski outlet online it may bring you different surprise.