-
-
Save fromasmtodisasm/ccd4e703a3f0f9ea3a1a2ec4cf5029f7 to your computer and use it in GitHub Desktop.
DX 12 vs Vulkan
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 3-6 million lines of code dealing with the hardware abstraction layers, plus another million per API supported. The backing function for Clear in D3D 9 was close to a thousand lines of just logic dealing with how exactly to respond to the command. It'd then call out to the correct function to actually modify the buffer in question. The level of complexity internally is enormous and winding, and even inside the driver code it can be tricky to work out how exactly you get to the fast-path behaviors. Additionally the APIs don't do a great job of matching the hardware, which means that even in the best cases the driver is covering up for a LOT of things you don't know about. There are many, many shadow operations and shadow copies of things down there. | |
| The only advantage that DX12 has are the same one from any DirectX vs OpenGL, for developers: | |
| -> You can fully debug DirectX. OpenGL you can't. You only have absolute pain in the ass, and super primitive debug tools on OpenGL, making development slow and tedious (and as time is money, cost more) | |
| -> DirectX has jam packed documentation for all levels from beginners to advanced. Lots of books. Lots of online resources. | |
| -> DirectX has strong Nvidia support | |
| -> Microsoft support (although not free) | |
| -> Full integration in the best IDE software platform available in programming language where you normally do big games, for developers: Visual Studio | |
| -> Integration with Windows Presentation Foundation and any framework from Microsoft using XAML, allowing developers of applications to use DirectX with greater ease in their software for hardware acceleration, including Direct2D (part of DirectX) by default without the developer knowing as he/she does the program GUI, allowing in providing a rich and nice looking user experience, that is fast and responsive. | |
| -> 'Exclusive mode', where when a game runs in full screen it has exclusive hold of a GPU for greater performance. | |
| -> DirectX runs on XBox One with little to no modification (maybe Windows Phone, but I don't know for sure), while Sony and Nintendo uses a modified version of OpenGL. | |
| So, on the PC side of things, DirectX has a lot of advantages for developers, hence why it has and probably will continue to have strong support, despite the fact that OpenGL is multi-platform (despite that on the mobile side of things, except for a few GPUs chips, it only supports a subset of OpenGL, called OpenGL ES) | |
| So while Vulkan and DirectX12 are the same, unless Vulkan has TRULY a BIG step up over DirectX12, I don't see most PC gaming switching to Vulkan, not unless the points or most points mentioned above are solved. | |
| Also, DirectX12 is out now. We need content. Vulkan is more or less still in the works, and only has an expected release date of 2015 (and we will need games that fully utilizes it.. so expect late 2016 or 2017) | |
| Source and Research: | |
| * http://forum.unity3d.com/threads/vulkan-new-replacement-for-opengl.307559/page-2 | |
| * http://www.kitguru.net/components/graphic-cards/anton-shilov/amd-vulkan-absorbed-best-and-brightest-parts-of-mantle/ | |
| * https://www.developers.slashdot.org/story/15/03/03/1430205/khronos-group-announces-vulkan-to-compete-against-directx-12 | |
| * https://www.gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/#entry5215019 | |
| * http://n4g.com/news/1728716/dx12-a-big-improvement-over-dx11-vulkan-might-be-even-better | |
| * http://www.wheelsandchips.com/2016/03/25/directx-12-vs-vulkan-api-90081/ | |
| * http://arstechnica.com/gadgets/2015/08/android-to-support-vulkan-graphics-api-the-open-answer-to-metal-and-dx12/ | |
| * http://www.kitguru.net/components/graphic-cards/anton-shilov/valve-directx-12-does-not-make-a-lot-of-sense-vulkan-does/ | |
| * https://i.imgur.com/Y4VrGKP.png | |
| * http://www.ntcompatible.com/news/story/amd_vs_nvidia_vulkanopengl_linux_performance_with_the_new_drivers_and_more.html |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| * With Vulkan you won't have to pay licensing fee's. | |
| * You will gain more players from *nix, and older platforms. (could be as much as 20% more players to play Arma 3) | |
| * Vulkan is a continuation of Mantle 1.0, the "foundation" of Vulkan is made up of parts of Mantle. | |
| * DirectX 12 is a massive overhaul of DX11, but still only supports Windows 10 | |
| * Vulkan supports Windows, Linux, and OSX | |
| * Vulkan being supported all over the place is arguably more important in our increasingly fragmented OS usage in gaming. | |
| * DX12 is just another Microsoft attempt to lock users into their OS for another 10+ years. Please do not support it if you want there to be competition. | |
| * If Steam machines are a success, AAA devs will want to use Vulcan, to make their games compatible with SteamOS | |
| * It should work on all gpus from at least 3 years back. - No need to upgrade your GPU just to use it. | |
| * Being Multiplatform means if they want to branch out to other Operating systems, the transition is considerably less painful. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment