Optimization and DX12



  • Hello,

    Congratulations on announcing the new game I’m really looking forward to it! With Mirage using UE4 will it be running on DX12? Also what is the situation with multi-threading in Mirage? Chivalry was limited to 4 CPU cores. It’d be great if Mirage had better multi-threading and took advantage of DX12’s low CPU overhead.

    Thanks,
    GREF



  • I’m no TB-Dev but I seriously hope they ditch DX12 – and go for Vulkan instead. DX12 does only exist because non-MS companies made pressure via designing Mantle and then Vulkan. We shouldn’t give back the power to MS for them to rule for years in Graphics again.

    And Vulkan runs on more platforms, is also in the pipeline of UE4-development, open and almost the same API.

    Not sure whether even more threads would do better so much. Better 4 good threads than more bad ones. If they end up having many threads but also many wait/stalls due to waiting for context-switches or GPU-CPU-Syncs this’d be bad. Also more than 4 cores are still not so usual, simply because optimizing that much for multi-core is difficult and the performance/cost ratio questionable.



  • Thing is DirectX is an increadably safe option.



  • Werent there some issues recently with DX12 not working as intended in some instances?


  • Developer

    UE4’s DX12 and Vulkan renderers are still “experimental”, DX12 performance improvements aren’t yet realized in 4.9, and it’s pretty unlikely any of this will change in time for us to reevaluate officially supporting them for launch.

    Also mind supporting multiple renderers adds a bunch of extra QA work, and possibly bug fixes and other things. DX12 is also limited to Windows 10 which also makes it less of a priority for us to support immediately. We won’t strip them out of the engine, so if they don’t cause any conflicts with any of our custom rendering code they’ll probably be usable by anyone adventurous enough to do so. With our small team size we need to be pragmatic about what we support and what type of resources we spend on things.

    @gref said:

    Also what is the situation with multi-threading in Mirage?

    UE4’s threading architecture is fairly similar to UE3’s, though there is some additional work shoved off into task threads, including some of the animation evaluation. You’ve got one main thread handling the game simulation, one thread for most/all of the rendering, and then a bunch of worker threads for various other things.



  • @lemonater47 said:

    Thing is DirectX is an increadably safe option.

    What do you mean?

    @SgtHannes said:

    Werent there some issues recently with DX12 not working as intended in some instances?

    Well, there are some early bad ports of games to DX12… – I personally doubt it’s DX (although I’d like to, coz I don’t like it :P).
    It most probably a mixture between hastily-done engine/renderer rewrite and drivers which are either not conforming to the spec, incomplete or very strict and thus require the devs to be very careful.

    Anyway, as @CrustaceanSoup said:

    UE4’s DX12 and Vulkan renderers are still “experimental”, DX12 performance improvements aren’t yet realized in 4.9, and it’s pretty unlikely any of this will change in time for us to reevaluate officially supporting them for launch.

    And he’s a dev ;-)

    Also: DX12/Vulkan are supported only be the currently newest (and mid/high-range GPUs) which should actually run the game just fine anyway.
    It gets interesting when either

    • future titles can still be run on now-new but then-old GPUs
    • there are even more crazy effects/shadows/… due to better utilization

    Either way, launching Vulkan/DX12 support now is for tech-demos or if you want to prepare (ie.for engine devs). Targeting it now for TB wouldn’t probably make much sense…



  • Im certainly no coder / developer, but I suppose it will take a good bit of time to fully implement something as deeprooted as a new API. It was the same with DX11, and it will probably be the same with DX12.

    Bohemia Interactive (ArmA Devs) have been doing their investigation into DX12 for a few months now, and they straight up said that they did not find a real advantage in it yet, which may or may not be due to their engine architecture.



  • That is True I forgot that it was only a windows 10 thing. Big disadvantage to it really. Only 1/3 of steam has changed to windows 10 and its been free since its release. Still is free for the next 3 months.



  • @AnoniMouse said:

    Also: DX12/Vulkan are supported only be the currently newest (and mid/high-range GPUs) which should actually run the game just fine anyway.
    It gets interesting when either

    • future titles can still be run on now-new but then-old GPUs
    • there are even more crazy effects/shadows/… due to better utilization

    Well, not really the newest. Any GCN-based AMD GPU (hit market in 2012), and most Nvidia DX11-class GPUs.


  • Mod

    Windows 10 was garbage on my girlfriends laptop. Crashed constantly. Same issue happening to people everywhere. I’m definitely not going to update from win 7 to win 10 just for dx 12. Fortunately she rolled back to Windows 8 in time…



  • You’re quite right mr Ty. Certainly not worth upgrading for some new DX12 thing for a video game.
    That is a nasty very intrusive operating system, it actually gathers every keystroke
    plus what ever programs you use , thus that often small blue circle as it tries to log everything you do.

    Even updates shut down and restart without your approval. Let alone that software removal malicious
    tool was taken to court and lost I read yrs ago as a user won a case against Microsoft for it deleting his
    stuff on the pc etc. Despite that in stead of removing it as ordered they simply kept any news about it hidden
    plus its a part of the Windows 10 update now allowing them to judge, criticise and remove the software they
    didn’t make money from or somebody else, which is refreshed every month by a newer version of this update
    to spy and often delete your software. Plus off course I was testing it as a member
    of that tester program so had it at least a year ago out for a few test drives on various computers of mine here.
    https://twitter.com/Q3loin/status/706043347459284992
    If this windows 10 software was a person you could press charges for harassment tbh



  • @loin It’s probably not much less worse on pre-Win10 Windows OSes. And I guess the same for OSX.
    You cannot be sure on closed-source OSes anyway, at latest if the NSA wants something Apple and MS have to cooperate.

    Anyway, there’s still a way to bring DX12-goodness on older Windowses via Vulkan.

    It is mostly the same, now the spec is released – and it runs on older Windows versions same as on Linux etc.
    Fuck DX12 crap. Vulkan is the better way to go (and UE4 support is already landing in code :D)



  • Good stuff I will looking to this



  • @lemonater47 said:

    Thing is DirectX is an increadably safe option.

    @lemonater47 said:

    Big disadvantage to it really.

    Yay lemon is back haha



  • @gregcau said:

    @lemonater47 said:

    Thing is DirectX is an increadably safe option.

    @lemonater47 said:

    Big disadvantage to it really.

    Yay lemon is back haha

    Dude quote the whole thing before you make others look like twats with selective reading.



  • @SgtHannes said:

    Im certainly no coder / developer, but I suppose it will take a good bit of time to fully implement something as deeprooted as a new API. It was the same with DX11, and it will probably be the same with DX12.

    Bohemia Interactive (ArmA Devs) have been doing their investigation into DX12 for a few months now, and they straight up said that they did not find a real advantage in it yet, which may or may not be due to their engine architecture.

    This api stuff is incredibly easy to work with , don ‘t let them baff you with science.
    many moons ago when I was into this stuff making programs that utilised the various Api’s was good fun from
    flashing captions on windows menu driven software , right into the heart of the windows api’s. Plus other Api’
    covering a range of software. Let alone you could even write your own as long as you covered all the arguments
    or calls plus off course knew what you were doing tbh. Its about time this vulkan stuff came alone tbh.


Log in to reply