Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
AMD Graphics Games

Crysis 2 Update a Perfect Case of Wasted Polygons 159

crookedvulture writes "Crytek made news earlier this summer by releasing a big DirectX 11 update for the PC version of its latest game, Crysis 2. Among other things, the update added extensive tessellation to render in-game elements with a much higher number of polygons. Unfortunately, it looks like most of those extra polygons have been wasted on flat objects that don't require more detail or on invisible layers of water that are rendered even in scenes made up entirely of dry land. Screenshots showing the tessellated polygon meshes for various items make the issue pretty obvious, and developer tools confirm graphics cards are wasting substantial resources rendering these useless or unseen polygons. Interestingly, Nvidia had a hand in getting the DirectX 11 update rolled out, and its GeForce graphic cards just happen to perform better with heavy tessellation than AMD's competing Radeons."
This discussion has been archived. No new comments can be posted.

Crysis 2 Update a Perfect Case of Wasted Polygons

Comments Filter:
  • Hmmmm. (Score:5, Insightful)

    by Moryath ( 553296 ) on Tuesday August 16, 2011 @11:25PM (#37115058)

    So you're saying that a graphics card company just *might* have tried to get a company writing a largely-used benchmark in their favor.

    Not that it's ever happened before... *coughintelnvidiacough*...

    • Re:Hmmmm. (Score:4, Informative)

      by Luckyo ( 1726890 ) on Wednesday August 17, 2011 @12:54AM (#37115512)

      It's worth noting that most benchmarks use a certain version of popular games. If next version breaks benchmark functionality in a significant way, testers simply continue using old version.

      Then again, has crysis 2 ever been used a serious benchmark? The game actually looked worse then crysis (especially warhead) in terms of graphics in spite of having higher polygon counts and such, and was designed from ground up to work on machines that would never be able to run original crysis or warhead (current gen consoles).

      • by scumdamn ( 82357 )
        I'm betting a lot of review sites wanted to use it as a DX11 benchmark but they found out about this crap and put a stop to that. If you do see a review site using it to benchmark DX11 you know they're shady or biased or not terribly thorough.
    • Re: (Score:2, Interesting)

      I'm not convinced. I'll have to talk to my friends in DX development to give me the final nod one way or another but I know this author is clueless about the subject.

      There are a lot of times in computer graphics where something is seemingly wasteful--but is the most efficient solution.

      For example the claim that "This is the most detailed parking barrier in cinema or game history" is untrue. Pixar's Renderman renderer at least for now is still probably the most popular renderer in VFX. For every pixel it

      • Re:Hmmmm. (Score:5, Insightful)

        by Anonymous Coward on Wednesday August 17, 2011 @04:34AM (#37116634)

        I work in games. You sir, are an idiot. Are you seriously comparing a game engine to RenderMan? We have to render a game's frame in 16ms, you have to render a frame in something less than a minute. I read the entire article. This was clearly a patch meant to appease the PC gamers into thinking that it wasn't a shoddy console port.

      • by makomk ( 752139 )

        They're just being dumb - or favouring NVidia. The tesselation support is designed to make it pretty much trivial to adapt tesselation levels based on distance. While NVidia cards can cope with ludicrous levels of tesselation and polygons, ATI cards can't - and the penalty NVidia users pay for getting this support is that their hardware offers worse price/performance on everything else, which is why NVidia are so keen for all games to use this.

        (There have been similarly fishy things before. For example, som

      • Using a negative frustrum-exclusion algorithm to selectively render only certain parts of the view graph is really common. It's trivial to eliminate things from the render pipeline based on visibility.

        • by grumbel ( 592662 )

          Frustum culling removes parts of the scene outside your field of view, it does not remove parts based on visibility, for that you have to go into occlusion queries, which are a whole lot more complicated. I however seems to remember seeing screenshots of occlusion queries being used in Crysis 1 to cut down on the amount of water being rendered, so it looks a bit weird seeing them wasting so many polygons here on water that is neither visible or even needed, given that it would be invisible the whole time.

  • Not surprised (Score:5, Interesting)

    by 0123456 ( 636235 ) on Tuesday August 16, 2011 @11:34PM (#37115120)

    One thing I learned from writing video drivers is that game developers are probably the very last people who should be developing graphics engines. We were constantly amazed by the insanely performance-sucking tricks they used to play which we then had to detect and work around; often their poorly-designed method of rendering something would be 10-100x slower than a sensible implementation.

    Valve and id are the most obvious exceptions; I don't think we ever found them doing anything really retarded unlike certain big name developers I could mention.

    • by Anonymous Coward

      Not that I don't believe you... I have (many) reasons to... but a technical example of bad optimization would be nice. It's boring reading endless amounts of non-substantiated claims on Slashdot.

      • Re: (Score:1, Offtopic)

        by vlueboy ( 1799360 )

        Tsk tsk tsk!
        The internet isn't as "safe" as all of you gossipers, want us to believe. That thing there in the GP is a username, '0123456' and he just gave out two company names 'id' and 'valve'. If you know the USA or have read any lawsuit nightmares here, then you know that giving out his any more triangulating info gets too specific.

        Anyone who worked with him on that section of code will notice today, or on a google search a month from now, and is bound to be drawing eyeballs to quote us here for other f

        • by Anonymous Coward

          If the GP wants anonymity then they should post as AC or STFU. Their +5 Interesting comment is completely devoid of any valuable information. Apparently some developers wrote inefficient code at some point in time. Whoa, you're blowing my mind.

    • The one I've noticed the most is sound stuttering. Half-Life 2 had some bad sound stuttering issues back when it came out. Valve swore up and down it was a soundcard issue, not their engine. Well, it still does it today on a completely different (and stupidly powerful) system as does Team Fortress 2. It isn't horrible, but it is noticeable and there's no excuse give that other games don't do it and my system is extremely overpowered compared to what the games need.

      • by Osgeld ( 1900440 )

        valve has always blown ass in sound, I meant WTF was that crap in half life one, it sounded like someone got drunk and made a proof of concept for pc speaker, 2 decades late, on a sound blaster live

      • by DrXym ( 126579 )
        Sound used to be a huge issue with HL2 & Portal. I don't buy the "it's not our fault" because it always happened when loading data, suggestive of them having a crappy single threaded engine and not cutting the sound properly prior to making that thread busy loading the next scene.
    • by Seumas ( 6865 )

      Oh, yEAh?

    • One thing I learned from writing video games is that driver developers often don't know much about real-world performance. ;-) Much of the performance advice we have seen given by GPU teams in the past had zero benefit to game performance and took weeks of developer time to implement and maintain. On the other hand, sometimes you come across a real gem.

      Short version: good programmers good, bad programmers bad. Sometimes what is good for one case is not good for another case.

      • by 0123456 ( 636235 )

        Much of the performance advice we have seen given by GPU teams in the past had zero benefit to game performance and took weeks of developer time to implement and maintain.

        One thing worth noting is that a change that makes no difference on the card you're testing with may make the difference between the game being playable or a slideshow on a different card.

        One particularly amusing issue I remember was with a new feature in Direct3D where I believe we were the only people who supported it in hardware at that time and everyone else emulated it in software; we got a new game from big name game developer X and it ran vastly slower on our card than on much less powerful systems.

        • One thing worth noting is that a change that makes no difference on the card you're testing with may make the difference between the game being playable or a slideshow on a different card.

          Absolutely true. My anecdotes above were in regards to very specific hardware so this comment doesn't really change what I'm saying, but it's an important thing to understand in a general sense.

          One particularly amusing issue I remember was with a new feature in Direct3D where I believe we were the only people who supported it in hardware at that time and everyone else emulated it in software; we got a new game from big name game developer X and it ran vastly slower on our card than on much less powerful systems. The idea was that you'd enable this feature once and then keep using it, but they were turning it on and off hundreds of times in a frame and each time that caused a major pipeline stall in our hardware. So once we figured that out we just detected the game and dropped back to software emulation like everyone else, but if they'd known what they were doing the game would have worked fine on all cards and been faster on ours because they'd actually have been using the hardware instead of the CPU.

          To be fair, you're accusing the dev in question of not optimising for your card when you admit that the card in question was unusual and probably released after the game in question was developed- otherwise you probably would have worked with them to improve their software? It's all well and good to say "they should

          • by Anonymous Coward

            To be fair, you're accusing the dev in question of not optimising for your card when you admit that the card in question was unusual and probably released after the game in question was developed- otherwise you probably would have worked with them to improve their software?

            on the other hand, it's pretty well known that issueing unecessary state changes to 3d apis is bad and can be costly. So even if they didn't know the extent of the problems it caused on that particular card, enabling and disabling something for no good reason a hundred time per frame is bad.

            • on the other hand, it's pretty well known that issueing unecessary state changes to 3d apis is bad and can be costly. So even if they didn't know the extent of the problems it caused on that particular card, enabling and disabling something for no good reason a hundred time per frame is bad.

              Agreed- however in the (distant) past we've had to do exactly this because of bugs in the driver state caching. I've also seen Cg hitting state changes fairly hard on some platforms- there was an optimisation to prevent this but it used to cause memory leaks. It can be difficult to know exactly what's going on under the hood there and you can't really blame the application developers for this without knowing the specific circumstances.

    • by Ecuador ( 740021 )

      Perhaps though the reason is what is apparent from this article. It seems the developers had a (cash obviously) incentive to make one manufacturer's card look better. While they could optimize for that manufacturer, most sensible optimizations could possibly benefit the other manufacturer too and finding optimizations that would work much better on your preferred manufacturer would be too hard to do.
      So, what if you know there is a particular function that is very slow on the manufacturer you want to show in

    • Do you have a specific example? It's nice to learn from others' mistakes...
  • by Anonymous Coward

    Never attribute to malice that which is adequately explained by stupidity

    It's entirely possible that the tessellation is per-node. E.g. in the case of the barrier, only the top seems to benefit in that the handles jut out (why those handles aren't polygons to begin with is another question, given that it would take only 8 or so for each.. hardly making a dent in polygon budgets), but it's the entire thing that gets tessellation applied. Similarly, unseen parts get tessellated (why there is water underneat

    • Perhaps a better phrase would be "Never attribute to stupidity what can be explained with cold hard cash".
      A title with the triple-A budget of Crysis 2 wouldn't have developers that never once bothered to view the map in wire frame at some point before release.
      Take a look at all the TWIMTBP/Nvidia logos slapped all over the game and you know who is paying the bills.
      • by scumdamn ( 82357 )
        This one is just blatant as fuck. Tessellated invisible water running under everything? Really? Nvidia has been touting their better tessellation performance for how long now? And Crysis was the benchmark of choice so they had to go muddying up Crysis 2 to try to get the advantage.
    • by gmueckl ( 950314 )

      Mybe Crytek was in a hurry to rush out these features and the team was confident to reach acceptable framerates on a hurry.

      I've seen a presentation of a lot of the features the Crysis 2 DX11 patch adds to the game in action in the engine over a year ago. But I get the impression that the Crysis 2 art assets were not initially created to support them. So they took some assets after the fact and touched them up.

      Maybe the water was so low on polys before they added tesselation that they didn't bother to cull i

  • 3D ready (Score:5, Interesting)

    by gmuslera ( 3436 ) * on Tuesday August 16, 2011 @11:41PM (#37115154) Homepage Journal
    Once more software is steps ahead of hardware. The game is ready for hologram projectors, if you can't see those layers of water is because you are using a 2D display.
  • by SilverHatHacker ( 1381259 ) on Tuesday August 16, 2011 @11:57PM (#37115240)
    People actually play Crysis? I thought the whole reason it was made was to be a test for your graphics card? One giant benchmark.
    • by scumdamn ( 82357 )
      Crysis 2 is now one giant benchmark that is biased toward Nvidia.
    • by TheLink ( 130905 )
      Uh that's why this is a problem. If the report is true, it's no longer a good benchmark, but a skewed one.
    • by paziek ( 1329929 )

      I've got it in a bargain for $15, played singleplayer and it wasn't that bad. Didn't play prequel, but this one played pretty good. For $15 I would say it was a fair price. If I were to buy it for more, then I would pass it, just as I did on its launch. Its too bad tho that it ended so quick, wanted more...

    • *facepalm*.
      Wait a minute. Not what.
  • Crysis's claim to fame was that it gave the GPU a real workout, and it did. They ended up rendering a whole world of extra detail to make a realistic looking environment. Along comes Crysis 2 and frankly I am not at all impressed. On a computer that has no troubles handling any other game I had to drop the quality settings to ultra ugly to make the game playable. I'd prefer less pretty garbage on the screen then having to play a game at a resolution where the pixels are the size of a man's fist.

    It just seem

    • Crysis 1 claim to fame was that it was a great game that also gave the GPU a real workout. If the game had sucked it would not of been used for the graphics capability, there are other games that provided high end graphics but not the gameplay.
      Crysis 2 does not look bad even without this DX11 patch but the game play does suck.
      However Crysis 2 does kill the claim from people that they want a game with gameplay not graphics.
    • Crysis 2 didn't look any better than Crysis 1 to me. If anything, it may be a step backwards. And Crysis 1 was unquestionably the better game - it had a better storyline, more varied and bigger levels (Crysis 1 was an on-rails shooter but the levels were so wide open that you didn't notice it - Crysis 2 was an on-rails shooter and that fact was in your face the entire time), and actual vehicle combat which was almost done away with in Crysis 2. The only improvements in Crysis 2 were the controls and maybe t

      • Oh and about performance, if anything Crysis 2 is less demanding than Crysis 1. In Crysis 1 with the settings maxed (except AA, I run 8xAA because 16x crashes for some reason) it runs close to 60fps but drops down to 40-something in some scenes. In Crysis 2 with the settings maxed I was getting a solid 60fps+ with no slowdown. This is with twin GTX260 Superclocked cards, an i7 940 and 12GB DDR3.

  • by Anonymous Coward

    and who's views don't represent that of the company in any official capacity, this pisses me off.
    I don't believe for a second it was an accident. This is bare knuckles marketing pure and simple and I'm glad it's getting some attention.

  • So let me get this straight... A free update makes the game look better by using new DirectX11 features, but the whole article is criticizing the game for using a hardware technology (that's only just starting to appear in game engines), in a way that isn't as optimized as they would like? Are gamers feeling that entitled these days? If you speculatively purchase a faster hardware, it's not anybody's obligation to write software to push it to the limit you know.
    • What do you mean? Gamers have acted entitled for years. They whine and cry when they don't get every last thing they want in the way they want it, and for free to boot, and that's been the case since the 90s. The only way it could get worse is if they decided they deserve to be paid to deign to play the games.

      • by Osgeld ( 1900440 )

        console gamers whine and cry, pc gamers vote with their money, if the game is good they spend it, consolers buy whatever crap fad company X pushes and whine when kinect is not nanosecond perfect. pc gamers want bigger better graphics they buy a fucking video card, consolers on the other hand whine for half a decade about not having AA in 720 P and then buy another 6 games in 4 months.

        or in other words you have your story backwards

      • if a graphics card company and a gaming company conspire together to deceive benchmarks and rip me out of my cash by deceiving me, i feel entitled to many, many things.

        if you do not feel the same when someone attempts to deceive and fraud you, you are a moron of the first order and i have a bridge to sell you.
    • by scumdamn ( 82357 )
      No. There's water under the ground taking up valuable GPU time. It's slowing performance everywhere. Just happens to be worse on AMD cards.
    • Yeah. READ the article before talking like you did above and make yourself stand out as a moron.

      the problem here is, nvidia used some programming gimmicks to make their cards perform better by creating extra load in polygons that are rendered UNDER WATER UNDER LAND, and therefore INVISIBLE.

      no benefit to gamers here. no benefit to anyone. NOONE WILL BE ABLE TO SEE WHAT IS BEING RENDERED.

      however, this will create extra unnecessary load in a way that some nvidia chips can handle better, and show compe
      • by Jorl17 ( 1716772 )
        While I am not saying that Nvidia gets the performance better, I can say that all ATI cards I've had in the last 10 years were SHIT that came with SHITTY drivers. Even when I ran windows that shit kept BSODing and overheating whereas an nvidia card by half the price got the same performance and no BSODs. And let's not get into Linux support which is actually my gaming machine -- and it runs all these games perfectly with NVIDIA machines and even Optimus Prime machines! ATI is shit. AMD is shit. Of course th
  • As best I can tell this essentially boils down to retrofitting directX 11 to an already designed engine after the fact and doing so in a limited time frame.
    I don't really see it as a big deal as a) the game was originally designed for directX9 hardware so anybody trying to run the game on DirectX11 hardware will probably do just fine anyway and secondly the way that modern graphics cards are designed this extra geometry generated on GPU may not even be the bottleneck.

    I think that engines that will really ta

  • Of course there's going to be a lot of flat surfaces... After all the artists have been told to make them with a lot of flat surfaces so that they don't need too many polygons on the non-DX11 platforms.... If you want to see artwork that uses tessellation well, you have to tell artists to make some.
  • by gl4ss ( 559668 ) on Wednesday August 17, 2011 @06:24AM (#37117100) Homepage Journal

    makes the shading on them look different, so it's not all wasted vertices(well, depending on how they calculate the shading). but you can easily test that on some modeller, make a cube that has each side made of two triangles, observe how it's shaded with basic opengl shading - now, turn on some tessalation(while keeping the shape as it is) on it, and you can see the difference, you can see highlights on flat surfaces even without applying some fake phong technique.

    this or any graphics upgrade doesn't help with crysis lacking in complexity due to launch on consoles though so who cares - the memory and cpu available for the game logic was dictated by that.

    • by am 2k ( 217885 )

      makes the shading on them look different, so it's not all wasted vertices(well, depending on how they calculate the shading).

      Uh, nope. Tessellation changes the vertices, while shading is done in the fragment/pixel shader. Those are different stages in the pipeline. The graphics card automatically does linear interpolation of positions, normals, UVs, etc. between the vertices, which is what you want in all cases that I'm aware of.

      Your modeller probably has the most basic material applied (for performance), maybe even Gouraud shading [wikipedia.org], so that's not really a good reference. CryEngine3 uses highly advanced shaders, where things like

      • by gl4ss ( 559668 )

        *(well, depending on how they calculate the shading)*

        and well, you wouldn't want it always, the artist should choose the normals on the model for the desired look, if the normals point outwards from the surface there won't be a hard edge at the corners, but slap some tessalation and you can then all the normals averaged from face normals don't make the shading(not shadows) look so wrong anymore at corners. so what i'm getting at is that tessalation can change the normals you're interpolating between. if tha

    • Sure, you can do shading like that, if you're only using flat shading - a very ancient technique that was made virtually obsolete when pixel shaders hit the mainstream. A proper shading algorithm does not need distinct polys to apply gradients or shadows, it simply calculates the proper lighting value for each pixel. That's why today's GPUs have hundreds of those tiny processors. To do the same via polygons would require prohibitive amounts of memory and just as much processing, since you would wind up w

  • Games use too many polygons, so what? They also use too much RAM, too much disk space, and too much processing power in general.
    The important thing in video games is making them work, not making them optimal.

    Why is tessellation done everywhere even on relatively flat stuff? Because the development team did not waste time studying each object one by one, the tessellation aspect was computer-generated for everything.

    • the issue here is that, the process is done in water that is UNDER LAND and will not be seen by any son of god on this planet in any way.

      basically its a hidden object that favors some nvidia chips, and makes the competitor cards get choked.

      its fraud.
      • Think first, moron. The problem is that the Crysis team designed a piss-poor world with water behind walls and many other less than optimal decisions. Probably shortcuts and hacks to make the world work on a console. Nothing to do with any mal-intent by nVidia... unless you think they were making design decisions for Crysis2... in which case I have a bridge to sell you.
  • I did read TFA.
    It's a missed optimization. Are optimizations compulsory now?

    If ATI cards can't deal with a higher computation load, it's just because they're not as good, that's all there is to it.

    • Oops, wrong place in thread. Can someone remind me why slashdot still doesn't allow editing or deleting posts?

  • It took the game's consolified low-poly meshes and prorgammatically inflated the poly count, barely enhancing the image quality at all, while driving processing requirements way up. It looks more like one of those "repeat N 1000 times" benchmarks, the kind I write when trying to find bottlenecks in a web page, than any sort of effort to make Crysis 2 not look like the steaming EA-published turd it is.

    Crysis 1 still looks better than this half-assed sequel, DX11 be damned.

    If this is some bizarre partnership

  • Techreport seems to be slashdotted. Am I being too harsh, or is that horribly embarrassing for a site that focuses on performance testing and overclocking ?

    Just sayin...

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...