![]() ![]() Then talking to the GPU is a simple matter of handing over an already-validated, immutable object to the GPU. Re-use them across frames, build them on multiple threads, etc. DX12 and others now lets you take lifecycle control of those objects. The majority of CPU time these days in OpenGL/DirectX is in validating and building state objects. The threading improvements come because you can build the GPU objects on different threads, not because you can talk to a bunch of GPU cores from different threads. The key thing is that those low level guts aren't that low level. The point of Mantle, of Metal, and of DX12 is to expose more of the low level guts. ![]() The whole post isn't just oversimplified, it's just wrong. They cannot split those cores up into logical chunks that can then individually do independent things. They have thousands of cores, yes, but much more in a SIMD-style fashion than in a bunch of parallel threads. ![]() GPUs do not have the capability to run more than one work-unit-thing at a time. Moreover the actual GPU doesn't work like that either. The numbers are against DirectX, and that's why Microsoft is slowly letting devs access the GPU on the Xbox One without the DirectX overhead. A low-level hardware call available on Playstation Platform will do the same texture switch in few dozen instruction calls. A DirectX call to switch a texture takes a few thousand clock cycles. I work with console devkits every single day and the reason why we can squeeze so much performance out of relatively low-end hardware is that we get to make calls which you can't make on PC. None of this has to do with getting close to the hardware. "Every time I hear someone say “but X allows you to get close to the hardware” I want to shake them. You could probably add a couple thousand and it would be fine too. "įor my Masters degree project at uni I had a demo written in OpenGL with over 500 dynamic lights, running at 60fps on a GTX580. Which is fine for a relatively static scene. Guess how many light sources most engines support right now? 20? 10? Try 4. While you are here, check out more of our guides to know more tips and tricks on TechnClub."Creating dozens of light sources simultaneously on screen at once is basically not doable unless you have Mantle or DirectX 12. That’s everything you need to know about which API gives better performance in Outriders for both Directx 11 and Directx 12. Before making a decision, you can test both APIs for yourself. ![]() As a result, the right API for you is determined by your system specifications. If your gaming in DX12 is continually interrupted by frame drops and shutters, you may want to try DX11. And if you experience any stuttering at first, it will run smoothly and at a higher frame rate than DX11. To summarise, with a few modifications here and there, DX12 can have the best visual output. To force DirectX 11 or 12 on your Outriders executable, type -dx11 or -dx12 in the Steam launch options. You should certainly lower the graphic options if you plan on playing Outriders on DX11. Following the developers’ latest update, this should fix the stuttering and other reliability issues. Outriders can be rendered in DX11 rather than DX12, which eliminates micro-stutters that are typical on older hardware. ![]()
0 Comments
Leave a Reply. |