Home Technical Talk

Does the Crydev engine instance objects when you duplicate them?

polycounter lvl 11
Offline / Send Message
Zepic polycounter lvl 11
I was wondering when you ctl+c an object (copy it) does the engine still count that as one draw call or will it count as two?

Replies

  • e-freak
    Options
    Offline / Send Message
    it creates additional Drawcalls (check the DP Number in the r_displayinfo 3 information in the top right of the viewport) in the current version of the FreeSDK.
  • Zepic
    Options
    Offline / Send Message
    Zepic polycounter lvl 11
    Is there a way for the engine to essentially group like objects and only count them as one drawcall? (similar to what the Frostbyte engine does) Or do I have to combine geo in Max and then export it out as one object?
  • ParoXum
    Options
    Offline / Send Message
    ParoXum polycounter lvl 9
    It's better to merge objects using the same materials together do reduce the DCs. ;)
  • iniside
    Options
    Offline / Send Message
    iniside polycounter lvl 6
    All objects are instanced by default (if you have e_geomInstancing = 1).
    Instanced object WILL add DrawCalls. Always. Instancing is not meant to save drawcalls but to save memory.
    Although they may reduce drawcalls to some amount as well. But that doesn't mean it will redence 81273 meshes in single DC (;. There are just to many variables to make it possible.

    If you really want to reduce drawcall amount you should collapse you objects inside your DCC tool before exporting, so they are one huge mesh.
    Always do it if you are working on big open map. Small modular meshes + big open maps, just do not work well togather in terms of perfomance.

    Remember that amount of Submaterials is not that important in CryEngine3. It's better to have single huge object with 20 sub materials than 100 objects with single material.
    Rule of thumb big objects that are not repeated like crazy, can have many sub materials.
    Objects that are reapted very often (like grass), should have only one texture and material.


    Also remember of object culling. You can still use small meshes if:
    1. You cull them when they are not visible
    2. You cull them when you are far.


    Bear in mind that DX11 + Geom Instancing + Radeons do not work togather in newest build.
  • Ruan
    Options
    Offline / Send Message
    iniside wrote: »
    Bear in mind that DX11 + Geom Instancing + Radeons do not work togather in newest build.
    It doesn't work on Nvidia hardware either afaik, it just fails gracefully there (whereas AMD cards get a driver error).
Sign In or Register to comment.