Welche Aspekte des Betriebs moderner Videospiele verursachen den größten Energieverbrauch von GPUs?

299
Wuschelbeutel Kartoffelhuhn

Ein 3D-Spiel muss Polygone rendern, deren Texturen erkennen, Kollisionen erkennen usw., und aktuelle GPUs verbrauchen enorm viel Energie. Welche Aspekte beanspruchen den Großteil der Energie, die auf einer GPU verbraucht wird, wenn ein typisches modernes 3D-Spiel läuft? Eine zweite Frage: Was sind die niedrigsten Anweisungen der ISA, die ausgeführt werden, wenn ein typisches Videospiel ausgeführt wird?

Natürlich können Sie Aspekte ganz nach außen bringen und ein künstliches Programm erstellen, um einen Aspekt X zu vergrößern und dann "X isst die meiste Kraft" zu sagen. Ich beziehe mich jedoch auf die zentrale Tendenz der aktuellen 3D-Spiele mit angemessenen Qualitätseinstellungen.

0
Bitte verwenden Sie die Schaltfläche _help_ in der oberen Leiste. Wir machen hier Elektrotechnik, keine Spekulation ... in den meisten Fällen :) vor 9 Jahren 1
Mit elektronischem Design nichts zu tun. Frage sollte geschlossen sein. vor 9 Jahren 3
Es gibt keine Möglichkeit, eine allgemeine Antwort zu geben. Sie müssen einen Profiler auf der Hardware Ihrer Wahl ausführen. Es kann sogar zwischen verschiedenen Modellen desselben Herstellers variieren. Was würden Sie auch mit dieser Information machen? pjc50 vor 9 Jahren 2
@Dzarda: Es gibt keine Ungewissheit in der Antwort und daher keine Spekulation. Wenn Sie eine Reihe von Benchmarks auswählen, die GPU korrigieren und ein Profil erstellen, erhalten Sie eine feste Antwort (ignorieren geringfügiges Rauschen). Wuschelbeutel Kartoffelhuhn vor 9 Jahren 0
@ Leon Heller: Der Stromverbrauch auf einem IC hat nichts mit elektronischem Design zu tun? Die Hardware ist auf die Anforderungen gängiger Software abgestimmt. Ich bin mir jedoch nicht sicher, ob es sinnvoll ist, mit jemandem zu streiten, dessen Verhältnis von Upvote zu Downvote 0,003 beträgt Wuschelbeutel Kartoffelhuhn vor 9 Jahren 0
@ pjc50: Ich bin mir nicht sicher, ob es zwischen den Mid-High-Range-Modellen von ATI / nVidia große Unterschiede geben wird. Am Ende des Tages versuchen beide Unternehmen, sich an die gleichen Spiele anzupassen. Es gibt mir eine Vorstellung davon, wo man mit Optimierungen (relativ) die größten Vorteile ausspielen kann. Wuschelbeutel Kartoffelhuhn vor 9 Jahren 0
Okay, warte kurz. Unterschiedliche Prozessoren haben unterschiedliche Zyklen pro Anweisung, Zykluszeiten, Befehlssätze, Leckströme, thermische Profile und Optimierungen. Nun, wo glauben Sie, dass irgendjemand in der Lage ist, eine einzelne Anweisung zu isolieren, die intensiver ist als alle anderen, die allen GPUd gemeinsam sind? Und da der Code in der Pipeline ist, wie kann man nur einen auswählen? Und wie genau hätten Sie davon, ohne eine Kopie des Chips des fraglichen Prozessors zu haben? Moderne Programmierung erfolgt aus genau diesem Grund in sorgfältig entwickelten Motoren. vor 9 Jahren 1
Eine andere Sache, während ich daran denke - Spielen Sie nett. Es ist eine der wenigen Regeln, die diese Site hat. Abstimmungsaktivitäten dienen zur Kontrolle der Qualität der Website, die Sie sehen können. Wenn Sie den Abstimmungsverlauf diskutieren, arbeiten Sie nicht an der Frage und Sie sind persönlich geworden. vor 9 Jahren 0

1 Antwort auf die Frage

3
pjc50

Es gibt keine Ungewissheit in der Antwort und daher keine Spekulation. Wenn Sie einen Satz Benchmarks auswählen, die GPU korrigieren und sie profilieren, erhalten Sie eine feste Antwort

Nun ja. Sie könnten das tun, wenn Sie die richtigen Werkzeuge hätten. Es ist nicht besonders einfach, Leistungsbenchmarks durchzuführen, ohne die Hardware selbst zu instrumentieren. Sie können eine Simulation ausführen, wenn Sie NVIDIA oder Partner sind und Zugriff auf den Prozessor Verilog haben. Der Stromverbrauch hängt jedoch stark von den Layout- und Implementierungsdetails ab. Er kann sich daher sehr ändern.

Sie sprechen von Optimierung, aber von was? Wenn Sie GPU-Code schreiben, ist es fast immer optimal, die Gesamtzahl der ausgeführten Anweisungen zu minimieren, anstatt mit dem Anweisungsmix herumzuspielen. Sie haben keine wirkliche Möglichkeit, dies zu tun, ohne die Funktionalität des Codes trotzdem zu ändern. Wenn Sie Hardware entwerfen, gibt es verschiedene Antworten, aber Sie haben es nicht gesagt.