Quantcast
Channel: Software Dev Blog » Leigh Davies
Viewing all articles
Browse latest Browse all 2

Live von der GDC Europe 2011: Leigh Davies exklusiv über „task based game engines“

0
0

Mit Videopartner Tom habe ich mich heute im Laufe des Tages im Ausstellungsbereich ein bisschen unter das Volk gemischt und ein paar Stimmen und Stimmungen eingefangen (dazu auch später noch ein Video). Die einhellige Meinung aller Teilnehmer: Die Veranstaltung ist klasse, weil hier in den Sessions „hard facts“ vermittelt werden – kein Marekting-Gefasel.
Das gilt im besonderen Maße auch für Leighs Präsentation „Efficient Scaling in a tasked based Game Engine“, die vor wenige Stunden zu Ende ging.


Leigh Davies auf der GDC Europe 2011

Leigh Davies auf der GDC Europe 2011


Leigh erläuterte zunächst die wichtigsten Gründe, um Anwendungen, vor allem aber grafisch anspruchsvolle Spiele von der ersten Code-Zeile an konsequent auf Mehrkern-Systeme auszurichten. Spieler auf der ganzen Welt sind typische „Early Adopters“, wenn es um innovative Technologien geht. Schon jetzt nutzen mehr als 40 Prozent der Spieler über die internationale Games-Plattform “Steam” PCs mit 4 oder mehr Prozessorkernen. Dank dieser Systeme profitieren die User von einem höheren Spielefluss und deutliche besseren Bildern – dazu gleich mehr.

Entwickler stehen demnach mehr denn je vor der Aufgabe, sequentiellen Code in task-basierten (aufgabenbasierte) Code zu übersetzen. Anhand der Tasks können Sie die Rechenaufgaben Ihrer Anwendung auf einige oder alle Kerne verteilen. Dabei lassen sich die Threads unabhängig voneinander steuern oder auch in sinnvoller Abhängigkeit zueinander starten, um Ressourcen optimal zu nutzen. Damit wird die Anwendung skalierbar.

Die notwendigen Tools hat jeder Programmierer bereits zu Hand – zum Beispiel mit den Threading Building Blocks (TBB). Der Scheduler hilft bei der Organisation, der Reihenfolge und beim Starten der Threads: So lassen sich Tasks nacheinander oder auch parallel starten, um eine bestmögliche Auslastung der Hardware (CPU und GPU) zu gewährleisten.
Einen sehr guten Grundlagenartikel zu diesem Thema samt Code-Beispielen finden Sie übrigens hier.

Leigh erläuterte das Vorgehen en detail bei der Frame-Berechnung (Animation Samples) grafisch anspruchsvoller Spiele, die heute für maximale Rendering-Ergebnisse fast immer auf parallelen Code angewiesen sind.



Um die Darstellung von Körpern unter wechselnden Lichteinflüssen und Perspektiven exakt und schnell darzustellen, kam bislang zur Kantenglättung meist die Multisample Anti-Aliasing (MSAA)-Technologie zum Einsatz. Bessere Resultate liefert das Morphological Anti-Aliasing (MLAA). MLAA nutzt dafür einen Post-Processing-Effekt: Das Bild wird nach Ende der Berechnung anhand von Farbunterschieden analysiert und die Kanten werden per Shader geglättet. Dabei kommen nicht alle Pixel auf den Prüfstand, sondern eben nur die zuvor analysierten Kante  – was zu dem besagten Performance-Gewinn beim Bildaufbau führt. Zudem wird der Löwenanteil der Arbeit von der GPU übernommen und die CPU entlastet.

Übrigens: Ein unverzichtbares Werkzeug bei der Code- und Frame-Kontrolle ist die neue Toolsuite Intel Graphics Perfomance Analyzers (). Leigh stellt Ihnen das Tool gerne am Intel Stand Nr. 150 ausführlich vor. Aber ich werde auch in einer der nächsten Einträge ausführlich über GPA 4.1 und die Neuerungen gegenüber der Version 4.0 berichten.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles



Latest Images