- Joined
- Feb 8, 2012
- Messages
- 3,013 (0.67/day)
- Location
- Zagreb, Croatia
System Name | Windows 10 64-bit Core i7 6700 |
---|---|
Processor | Intel Core i7 6700 |
Motherboard | Asus Z170M-PLUS |
Cooling | Corsair AIO |
Memory | 2 x 8 GB Kingston DDR4 2666 |
Video Card(s) | Gigabyte NVIDIA GeForce GTX 1060 6GB |
Storage | Western Digital Caviar Blue 1 TB, Seagate Baracuda 1 TB |
Display(s) | Dell P2414H |
Case | Corsair Carbide Air 540 |
Audio Device(s) | Realtek HD Audio |
Power Supply | Corsair TX v2 650W |
Mouse | Steelseries Sensei |
Keyboard | CM Storm Quickfire Pro, Cherry MX Reds |
Software | MS Windows 10 Pro 64-bit |
New engines like Frostbite 3 and I assume Unreal 4 are pretty good about synchronous multithreading for drawing frames.
Multithreaded rendering in dx11 works in a way that all draw calls created by say 4 threads end up in a single queue which is processed by driver's single thread. Despite that, benefits that dice and epic get from this approach is from intelligent reordering (batching) of all the draw calls in a queue so there are less state changes on the gpu when getting one draw call after another. Some of it is done by generic algorithms and some are algorithms that use data calculated offline from a given world geometry, shader collection and recorded beta gameplay data ... then applied as final optimization step.
We also can't forget Mantle and Direct3D 12 significantly reducing the CPU load for GPU tasks.
Indeed, that in combination with previously mentioned technique is going to enable so much more diversity in game objects around you.