ACG_pezman Posted July 24, 2016 Posted July 24, 2016 I'm not a developer or coder, but I believe that DX11 will also speed up frame rates because of the architecture being more efficient and able to take advantage of all the modern bells and whistles of our new generation gfx cards. But that is my humble, layman, opinion.
JG13_opcode Posted July 24, 2016 Posted July 24, 2016 (edited) Simplified: Direct3D 10 gets you: -Geometry shaders to add and subtract vertices from 3D shapes on the GPU instead of the CPU (faster) -Texture flipping in the GPU without having to wait for the CPU -instancing that lets you render multiple copies of something (like trees or buildings) with a single API call Direct3D 11 gets you: -tessellation shaders which are like a better, more scaleable and more flexible geometry shader. One of the benefits is generating shapes and transforming them on the GPU directly instead of doing it on the CPU and then sending it over. -better instancing -multithreaded rendering -compute shaders that let you do things like physics calculations on the gpu instead of the cpu This list is not exhaustive. In short, if the engine supports direct3D 10 or 11, you can use those features of the hardware to speed up rendering and offload more tasks to the GPU hardware which is faster and better for rendering (and has its own memory to use) compared to the CPU which must by definition be general purpose in nature (and thus less efficient). Importantly, this frees up CPU time to do other things that the GPU can't do. It's a more efficient utilization of resources that can increase frame rates and improve render quality since you can do more graphics work faster. What it doesn't do is magically make the game prettier, simply by virtue of being a higher Direct3D number. That will only happen if they prettify the textures or increase the resolution of the models, or improve reflection layers, etc. The big benefit of DX12 over DX11 is improved concurrency in rendering and significantly decreased driver overhead. Whereas in DX11 and under the CPU must send render instructions sequentially, in DX12 the GPU can accept a package of multiple rendering commands to be completed in parallel. Under DX11 the sequential nature resulted in a bottleneck on the PCI/PCIe bus which is the pipe between the CPU and the graphics card. Under DX12 this pipe is more efficiently utilized which lets you throw a lot more instructions per second to the graphics card(s). Edited July 24, 2016 by 13GIAP_opcode 2
VBF-12_Stick-95 Posted July 24, 2016 Posted July 24, 2016 ...prettify... My new word of the day. Ya, I know, I don't get out much.
Dakpilot Posted July 24, 2016 Posted July 24, 2016 Seems complicated but for further info it is reasonably explained here https://en.wikipedia.org/wiki/Direct3D#Direct3D_11 and here https://en.wikipedia.org/wiki/DirectX Cheers Dakpilot
Picchio Posted July 24, 2016 Posted July 24, 2016 I think the benefits depend on what the developers are willing (and able) to get out of it...
smink1701 Posted July 24, 2016 Author Posted July 24, 2016 Simplified:Direct3D 10 gets you:-Geometry shaders to add and subtract vertices from 3D shapes on the GPU instead of the CPU (faster)-Texture flipping in the GPU without having to wait for the CPU-instancing that lets you render multiple copies of something (like trees or buildings) with a single API callDirect3D 11 gets you:-tessellation shaders which are like a better, more scaleable and more flexible geometry shader. One of the benefits is generating shapes and transforming them on the GPU directly instead of doing it on the CPU and then sending it over.-better instancing-multithreaded rendering-compute shaders that let you do things like physics calculations on the gpu instead of the cpuThis list is not exhaustive. In short, if the engine supports direct3D 10 or 11, you can use those features of the hardware to speed up rendering and offload more tasks to the GPU hardware which is faster and better for rendering (and has its own memory to use) compared to the CPU which must by definition be general purpose in nature (and thus less efficient). Importantly, this frees up CPU time to do other things that the GPU can't do. It's a more efficient utilization of resources that can increase frame rates and improve render quality since you can do more graphics work faster.What it doesn't do is magically make the game prettier, simply by virtue of being a higher Direct3D number. That will only happen if they prettify the textures or increase the resolution of the models, or improve reflection layers, etc.The big benefit of DX12 over DX11 is improved concurrency in rendering and significantly decreased driver overhead. Whereas in DX11 and under the CPU must send render instructions sequentially, in DX12 the GPU can accept a package of multiple rendering commands to be completed in parallel. Under DX11 the sequential nature resulted in a bottleneck on the PCI/PCIe bus which is the pipe between the CPU and the graphics card. Under DX12 this pipe is more efficiently utilized which lets you throw a lot more instructions per second to the graphics card(s). Thank you. Exactly what I was looking for!
JG13_opcode Posted July 24, 2016 Posted July 24, 2016 I think the benefits depend on what the developers are willing (and able) to get out of it...exactly right. Direct X is just a tool and it's up to a developer to use the features in it or not.
69th_chuter Posted July 24, 2016 Posted July 24, 2016 DirectX 12 has incredible potential but it seems, due to the manual control the coder has over asset control, as previously noted it would require a major studio working on a major title to get the benefits of it right now (ex: Dice - Battlefield 1).
Albino Posted July 25, 2016 Posted July 25, 2016 -instancing that lets you render multiple copies of something (like trees or buildings) with a single API call This could help with draw distances for ground units and buildings, and with the terrain LOD bubble.
Gump Posted July 26, 2016 Posted July 26, 2016 (edited) opcode, is it true that dx12 requires win10? nvm...just read other thread...yes it does. ok. Edited July 26, 2016 by Gump
Tektolnes Posted July 26, 2016 Posted July 26, 2016 DCS would provide a decent example of the benefits for a flight sim of switching to DX11. For a lot of people their frame rates doubled after the conversion to DX11. Probably can't directly compare to BOS as the BOS engine is newer and properly multi-threaded AFAIK but even still a switch to DX11 would likely see a good bump in performance. Would agree with Albino that the LOD bubble and object draw distances would be two very visible beneficiaries of a change to DX11. BOS seems to struggle with these and seems to me that the devs had to be pretty aggressive with the bubble parameters to keep overall game performance acceptable. Would probably take quite a lot of work though to switch to DX11 as the DCS devs could not doubt confirm. Hopefully BOS is successful enough for them to justify the time/expense of making the change as it would only be good for the game in the long run. 1
curiousGamblerr Posted July 26, 2016 Posted July 26, 2016 My new word of the day. Ya, I know, I don't get out much. You might also appreciate the inverse of prettify, uglify. Both used pretty often in software for various things.
Albino Posted July 27, 2016 Posted July 27, 2016 Also worth noting (from Dakpilot's wiki links) is predicated rendering in DX10 and above. This allows more rapid occlusion culling, preventing objects being rendered if not visible. That feature could help save performance by not rendering parts of the scene which are obscured by the cockpit interior. Further, for the tankers, it could prevent objects obscured by buildings/terrain from being rendered. The Star Citizen devs have commented that technology like this is very important for their product. If you're wandering in FPS inside a space ship (in flight), it saves enormous resources by preventing parts of the scene outside from consuming system resources. Regards Albino
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now