Home Unreal Engine

DX11- Whats the verdict?

Hey guys,

I am working on a UDK PC game and wanted to get the verdict on DX11 from someone who is very familiar with it.

Basically, ive heard alot of bad things, and some good things. I understand it works from a feature standpoint, but is it integrated well enough for it to be applicable on a full scale game?

Features id really like to get from it..

-Tessellation: How performance friendly is it in UDK? Can the triangle count be lowered to a reasonable amount while still getting decent sillohuet changes? Does it LOD properly? Does it crash? Ideally it would only be used spraingly for things like brick walls that really push the shape.

- Reflections and shader features: Things like Image Based Reflections and Sub Surface Scattering. How well do they work, are they borked?

What other features work well and which dont? When i switch my UDK from DX9 mode to DX11 it goes from 90 FPS to 45 FPS with no DX11 features turned on. Is that common?

I know a few games have used DX11 with UE3 successfully such as Blacklight: Retribution and Batman Arkham City. Is it really not applicable to use in a current gen UDK/UE3 game? Is it more of a failed expirement, only useful for portfolio shots and the like?

Any feedback appreciated, thanks!

Replies

  • FlynT
    Options
    Offline / Send Message
    FlynT polycounter lvl 8
    Well that's quite a huge topic you've started here. I would recommend to search for some documents from nVidia and AMD. Here is one from nVida about DX11 in the UDK.
    http://www.docstoc.com/docs/150124518/The-Technology-Behind-the-DirectX-11-Unreal-Engine----Nvidia

    For a personal short opinion run down of the features you named i have to say.

    Tessellation is something that can come in handy but tbh a skilled character artist can create characters that don't need tessellation to look stunning, same applies for environment artists.

    Image based Reflections are dope and can massively improve the scene!

    Sub Surface Scattering is nice but can also be "faked" quite believable with DX9. There are some topics about it here on polycount.

    Hope it helps a bit to get you started, as i said before it's quite a huge topic but at the end it all comes down to optimization.
  • mAlkAv!An
    Options
    Offline / Send Message
    mAlkAv!An polycounter lvl 5
    Basrakan wrote: »
    What other features work well and which dont? When i switch my UDK from DX9 mode to DX11 it goes from 90 FPS to 45 FPS with no DX11 features turned on. Is that common?

    Unfortunately this is very commen. Depepends on your level/scene but espacially with lots of masked material (-> foliage) FPS can go down by 40-60% easily. There is just on case where DX11 is faster or equally and this is with multiple dynamic (non-shadowcasting) lights.

    As for tessellation there is adaptive screen-space adjustment but it's quite bad implemented. Subdivisions are constantly increasing so that the surface is somewhat wobbling all the time as you get closer. And it goes up upto the highest level (you can't limit the max tessellation factor) which means low FPS with many gfx cards.
    If you really want to use tessellation I suggest to get an older UDK build, pre august 2011. 06-2011 is still available: http://download.udk.com/UDKInstall-2011-06-BETA.exe
    These older versions don't have adaptive tessellation. You can directly set the number of subdivisions and create materials that lower the tessellation factor based on distance. The drawback is that crackfree displacement is missing here so you end up with gaps across UV seams.
  • Rekmar
    Options
    Offline / Send Message
    Rekmar polycounter lvl 19
    also real-time shadows in DX11 are jagged and there's no value you can change in the light's properties or in the ini files to fix it

    as far as my experience with DX11 goes in UDK, I'd say it falls an unfinished experiment as you say. good for portfolio showcase but not suitable for final game production
  • ambershee
    Options
    Offline / Send Message
    ambershee polycounter lvl 17
    Rekmar wrote: »
    as far as my experience with DX11 goes in UDK, I'd say it falls an unfinished experiment as you say. good for portfolio showcase but not suitable for final game production

    This - the implementation is pretty half-baked and quite unreliable. While it may work nicely for some users, others may experience things like nasty artifacts. I personally wouldn't use Dx11 in a UDK game.
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Yup, I agree, its not suitable for making a game in. As an add-on with some extra fluff-features like bokehDOF in cutscenes and apex cloth simulation etc, sure, but the performance you loose is better spent elsewhere.
  • ambershee
    Options
    Offline / Send Message
    ambershee polycounter lvl 17
    I was under the impression all the Apex stuff worked under Dx9?
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Oh, maybe it does. You are probably right, I just know they added it as the same time as the other dx11 features so I just assumed, I havent checked.
  • ufna
    Options
    Offline / Send Message
    mAlkAv!An wrote: »
    If you really want to use tessellation I suggest to get an older UDK build, pre august 2011. 06-2011 is still available: http://download.udk.com/UDKInstall-2011-06-BETA.exe
    These older versions don't have adaptive tessellation. You can directly set the number of subdivisions and create materials that lower the tessellation factor based on distance. The drawback is that crackfree displacement is missing here so you end up with gaps across UV seams.

    Dynamic distance-based tessellation factor is possible in last UDK build too. I'm using it right now :)
  • mAlkAv!An
    Options
    Offline / Send Message
    mAlkAv!An polycounter lvl 5
    The point is that there is adaptive tessellation built-in over which you don't have any direct control. You can't set the tessellation factors in current UDK builds, there is only a multiplier for the automatic screen space based adjustments. This is a huge disadvantage.
  • ufna
    Options
    Offline / Send Message
    mAlkAv!An wrote: »
    The point is that there is adaptive tessellation built-in over which you don't have any direct control. You can't set the tessellation factors in current UDK builds, there is only a multiplier for the automatic screen space based adjustments. This is a huge disadvantage.

    Oh, understood what you mean. Can't say nothing, it's ok for me.
  • Rekmar
    Options
    Offline / Send Message
    Rekmar polycounter lvl 19
    mAlkAv!An wrote: »
    The point is that there is adaptive tessellation built-in over which you don't have any direct control. You can't set the tessellation factors in current UDK builds, there is only a multiplier for the automatic screen space based adjustments. This is a huge disadvantage.
    indeed. it just sucks.
    here's thread I made in the UDK forums about it, where I explain and show my problems with DX11 (tesselation and shadows). as with anything I post in the Issues subforum, it went ignored by the devs :/

    also if I apply a material with tesselation to any of my meshes in-game, I'm forced to re-import the mesh first or UDK crashes bigtime
Sign In or Register to comment.