News Rebellion liefert mit Patch 1.11 Unterstützung für Mantle-API in Sniper Elite 3 nach

Dr@

Grand Admiral Special
Mitglied seit
19.05.2009
Beiträge
12.791
Renomée
4.066
Standort
Baden-Württemberg
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
Rebellion hat den Patch 1.11 für den Taktik-Shooter Sniper Elite 3 veröffentlicht, mit dem die Unterstützung für AMDs eingene Grafik-API Mantle nachgereicht wird. Vor knapp einem Jahr hatte der britische Entwickler von Computerspielen seine Unterstützung für Mantle angekündigt und eine Integration in die hauseigene Spiele-Engine Asura in Aussicht gestellt. Drei Monate nach der Veröffentlichung des Scharfschützen-Shooters und einigen Verschiebungen ist es nun so weit.
(…)

» Artikel lesen
 
Sehr Interessante Ausführungen zur Nutzung von Mantle von einem Entwickler des Spiels, Kevin Floyer-Lea:
http://community.amd.com/community/...eveloper-rebellion-on-sniper-elite-iii-mantle

Er erklärt welche Mantle Features genutzt werden und welche noch mehr Luft nach oben bieten. Inklusive Benchmarks.

se3cpudata.jpg


The Mantle version clearly shows a much more balanced CPU load across the cores – though the total CPU utilisation has only dropped from 23% on DirectX 11, to 21% on Mantle. The more balanced load is exactly as we’d hoped, since all the Mantle API calls are now distributed across the available cores by our Asura engine’s multithreaded task system, just like we do for other systems like AI, animation or physics.

It’s worth noting that Sniper Elite 3 and the Asura engine are already optimised to account for DirectX 11’s weaknesses. For example, we make heavy use of instancing and similar batching techniques to reduce the number of draw calls we make per frame – all the usual things to reduce CPU overhead, which means Mantle will have less easy wins compared to other draw-call heavy titles.

So that’s what the CPU is doing – but what’s the actual framerate? On those settings we’re running at an average of 88fps on DX11, and 100fps on Mantle – around a 14% speed increase. This explains why the total CPU utilisation is still quite similar – with Mantle the CPU has to cope with 12 more frames every second, meaning we’re packing in more work and still using less CPU power. Furthermore because the work is more distributed, if we increase CPU load (say by using a faster graphics card, or by lowering resolution) we’re less likely for a single logical processor to become the bottleneck.

The size of the frame-rate increase is a pleasant surprise, as frankly at this stage in development we were expecting to have a more roughly equal frame-rate when GPU bound. There’s still a fair amount of scope for increasing performance with Mantle, particularly as we’re not yet taking advantage of the Asynchronous Compute queue. This would allow us to take some of our expensive compute shaders – like our Obscurance Fields technique – and schedule them to run in parallel with the rendering of shadow maps, which are particularly light on ALU work.
Was bedeutet, dass noch keine Computeloads auf eine iGPU ausgelagert werden, was aber offensichtlich angestrebt wird als weitere Verbesserung, wie später im Text dort noch näher beschrieben.
The way DirectX11 handles multiple GPUs is “AFR” or Alternate Frame Rendering, which as the name suggests means if you have two comparably powered GPUs they simply take turns rendering frames. This is in many respects the easiest approach to take – and is a great way of making your game CPU bound! So possibly our Mantle version could show some big improvements when using this method.

However, with the independent control over the GPUs Mantle gives us, we could approach the problem very differently - for example one GPU could be rendering the basic geometry in the scene, while another handles lighting and shadows for the same frame, with the final image composited at the end. This may also provide a route for when GPUs aren’t of a comparable power level – for example an integrated APU motherboard coupled with a desktop GPU. It’s the potential for completely new approaches like this which excites me the most about Mantle and the APIs which will follow it.
se3perf.png


se3perf2.png


Es lohnt den ganzen Artikel dort zu lesen, da auch das unterschiedliche Memorymanagement zwischen DX11 und Mantle beschrieben wird.
 
Zurück
Oben Unten