Is Crysis Shader Model 2.0 based?

Discussion in 'Rendering Technology and APIs' started by frameavenger, Mar 17, 2008.

  1. frameavenger

    Newcomer

    Joined:
    Oct 27, 2006
    Messages:
    32
    Likes Received:
    0
    Hi all


    Above the Quantities at map Harbor.cry :

    Shaders Model 3.0 (DX9c) : 257

    Shaders Model 2.0 (DX9b) : 5559 :shock:

    Shaders Model 4.0 (DX10) : Z E R O :shock:



    Note: I open the file Level.pak at C:\Program Files\Electronic Arts\Crytek\Crysis\Game\Levels\harbor and I counted the ocurrences.


    Is Crysis Shader Model 2.0 based?



    Best Regards
     
  2. Richard

    Richard Mord's imaginary friend
    Veteran

    Joined:
    Jan 22, 2004
    Messages:
    3,508
    Likes Received:
    40
    Location:
    PT, EU
    If your only measure for determining the "shader model base" is the number of shaders then yes. By itself, however, that's not an interesting metric.

    Also, SM2 is bound to have more individual shaders as you often have to break apart high level effects to fit under the SM2.0 constraints. And are you lumping together 2.0, 2.0a and 2.0b shaders?
     
  3. Zengar

    Regular

    Joined:
    Dec 3, 2003
    Messages:
    288
    Likes Received:
    1
    So what? It still needs SM3 hardware to run. Honestly, if you have ability to use branching in shaders, it does not mean that you MUST use it all teh time. There are plenty of usefull shaders that doesn't reque SM3 features. It doesn't make a game more "SM2" or "SM3", this is just ridiculous way to think about it.
     
  4. MJP

    MJP
    Regular

    Joined:
    Feb 21, 2007
    Messages:
    566
    Likes Received:
    187
    Location:
    Irvine, CA
    Indeed. IIRC, the programming guides for Nvidia's SM3-capable GPU's always recommended compiling to ps_2_0 and ps_2_a whenever possible, and only compiling to ps_3_0 if you actually needed it.
     
  5. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    I don't recall seeing that kind of recommendation from Nvidia, and I don't see any reason why they would recommend such a thing. If the game requires SM3.0 there's no good reason why they should include any SM2.0 shaders. Compiling to SM3.0 is likely to be faster.
     
  6. Zengar

    Regular

    Joined:
    Dec 3, 2003
    Messages:
    288
    Likes Received:
    1
    Nvidia did recommend it in their older GPU guide. I think it is more relevant to the older generations like GFFX, where they could trade precision for speed with lower shader models. They haven't published a new guide for a long time.
     
  7. frameavenger

    Newcomer

    Joined:
    Oct 27, 2006
    Messages:
    32
    Likes Received:
    0
    Yes.

    Is Unreal Engine3.0 SM3.0 pure engine?


    Ok, but, Crysis, is a "high-tech" game developed to old cards with the worst performance of the world !!! Thanks to Nvidia.

    omg, non-sense, where SM3.0 e SM4 own the present and the future, I don't see a good reason for Crytek stay on the past... :shock:
     
  8. Zengar

    Regular

    Joined:
    Dec 3, 2003
    Messages:
    288
    Likes Received:
    1
    Are you sure you are not a troll?
     
  9. frameavenger

    Newcomer

    Joined:
    Oct 27, 2006
    Messages:
    32
    Likes Received:
    0


    KKK, my opinion, only this..... :roll:
     
  10. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,976
    Likes Received:
    523
    Location:
    35.1415,-90.056
    I don't think you understand... Let's change the subject for just a moment:

    You know about steel, right? I'm talking about steel metal -- cold, strong, heavy. Steel is modern, much more so than crappy old wood and brick.

    So why do people make modern houses out of wood and brick? Steel is FAR stronger, doesn't get eaten by termites, and won't rust (if you get stainless).

    The reality is, you don't need steel for a generic house.

    Just like, the reality being you don't need SM3 or SM4 to do a whole slew of shaders. If you need a rusty pipe surface shader, you likely don't need 65,500 instructions and 16 texture lookups to make it work -- it will be fine in SM2.

    So why make things more complicated and/or expensive than they need to be? If SM2 fits what you need, then use SM2. When you take a shader assembly program and compile it, if it can be fit into a lower-spec shader model, then it will be.

    And just because the game is made of several thousand SM2 shaders doesn't mean it still can't cripple a shader powerhouse like a G92 or R6x0
     
  11. frameavenger

    Newcomer

    Joined:
    Oct 27, 2006
    Messages:
    32
    Likes Received:
    0
    Good Post.

    Ok, I understand, but features how Geometry Shaders, long shaders, Instancing DX10 Cloning factory ,Texture Arrays can speed up the game , and Crytek lost the chance to implement it. This is the point here, for me.:oops:

    Best regards
     
  12. Bludd

    Bludd Experiencing A Significant Gravitas Shortfall
    Veteran

    Joined:
    Oct 26, 2003
    Messages:
    3,631
    Likes Received:
    1,240
    Location:
    Funny, It Worked Last Time...
    Lost the chance? Do you realise how long the game was in development? They were working on it before the 8800 series even came out.
     
  13. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    I believe UE3 has some backward compatibility mode for SM2 cards.

    Not if you have a SM3 requirement for the game, then it makes no sense whatsoever to compile to SM2.

    The shader will be compiled to the profile you specify. Just because it can be compiled to SM2 doesn't make HLSL generate a SM2 shader.
     
  14. Nick

    Veteran

    Joined:
    Jan 7, 2003
    Messages:
    1,881
    Likes Received:
    17
    Location:
    Montreal, Quebec
    Crysis only requires Shader Model 2.0.
     
  15. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,976
    Likes Received:
    523
    Location:
    35.1415,-90.056
    I'm not talking about artificial requirements; I'm talking about straight best programming practices. If your shader is entirely capable of working at full speed without loss of quality in an SM2 profile, why would you "up-compile" it? Other than of course to be a complete douche-bag and stamp it with a "requires SM3" sticker :twisted:

    Yeah, that was a stupid remark -- my bad. Was thinking of something else entirely unrelated to graphics programming :oops:
     
  16. Novum

    Regular

    Joined:
    Jun 28, 2006
    Messages:
    335
    Likes Received:
    8
    Location:
    Germany
    If you compile a SM 2 shader with a SM 3 profile the compiler can optimize a few things more, but it probably won't make a difference on a SM 3 GPU because the driver shader compiler will likely do the same thing with the shader compiled with a SM 2 profile.
     
  17. Frontino

    Newcomer

    Joined:
    Feb 21, 2008
    Messages:
    84
    Likes Received:
    0
    I see NVIDIA's dirty rich hands on all this mess.
     
  18. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,976
    Likes Received:
    523
    Location:
    35.1415,-90.056
    I don't see why anyone would think NVIDIA has anything to do with the number of SM2 vs SM3 compiled shaders. Unless you're somehow harkening back to the NV30 days, in which case, get real and leave the fanboi-isms aside.

    You use SM2 where it's needed, and you use SM3 where it's needed. If you hardware can't do SM3, then hopefully the developer wrote an SM2 fallback for you -- in this case, I'd wager they did exactly that.
     
  19. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    77
    Location:
    Stockholm, Sweden
    Depending on the complexity of the shader, you might get some performance increase.
     
  20. Frontino

    Newcomer

    Joined:
    Feb 21, 2008
    Messages:
    84
    Likes Received:
    0
    Because Crysis is extremely heavy on the GPU, even without any SM4 effects and it has a DX10 renderer that doesn't use any of its features.
    I'm not talking about textures (even my GeForce 6200 can handle them at their max res). Right now I can play only in Sketch Mode (lower than Low), beside I can set Textures, Physics and Sound to Very High. If it was for me, I would prevent any contact between software house and hardware developer ($$$).
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...