PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benutzung von Double-Core-CPUs in Spielen


Gast
2004-11-19, 09:01:28
Hallo!

Ich hätte da mal eine Idee (wenn sie nicht schon jemand bis dahin geäußert hat):
Das Spiel Unreal Tournament setzt im wesentlichen auf einer virtuellen Maschine auf. Damit werden die Aktionen der Spielfiguren und Veränderungen in der Umgebung des Spielers gesteuert. Weiterhin existiert eine Grafik-Engine, die das Geschehn auf den Bildschirm pixelt. Eine Physik-Engine sorgt für eine realistische Darstellung der Vorgänge. Mein Vorschlag: eine Trennung der Laufzeitumngebung der Engines, um diese dann auf den beiden Prozessorhälften einer Double-Core-CPU laufen zu lassen. Vorteil: Die virtuelle Maschine wird erheblich beschleunigt und kann mehr realisieren (intelligentere Gegner z.B.) und die Grafik kann z.B. durch eine Realisierung einer noch realistischeren Physikengine aufgepeppt werden.

Wenn diese Idee schon einmal kam, dann entschuldigt diese Wiederholung

Gast
2004-11-19, 09:41:36
Hallo!

Ich hätte da mal eine Idee (wenn sie nicht schon jemand bis dahin geäußert hat):
Das Spiel Unreal Tournament setzt im wesentlichen auf einer virtuellen Maschine auf. Damit werden die Aktionen der Spielfiguren und Veränderungen in der Umgebung des Spielers gesteuert. Weiterhin existiert eine Grafik-Engine, die das Geschehn auf den Bildschirm pixelt. Eine Physik-Engine sorgt für eine realistische Darstellung der Vorgänge. Mein Vorschlag: eine Trennung der Laufzeitumngebung der Engines, um diese dann auf den beiden Prozessorhälften einer Double-Core-CPU laufen zu lassen. Vorteil: Die virtuelle Maschine wird erheblich beschleunigt und kann mehr realisieren (intelligentere Gegner z.B.) und die Grafik kann z.B. durch eine Realisierung einer noch realistischeren Physikengine aufgepeppt werden.

Wenn diese Idee schon einmal kam, dann entschuldigt diese Wiederholung

du solltest die Bereiche aber nicht so stark trennen - ich hab die Erfahrung gemacht dass so strickt getrennte Engines unter Performance Bugs leiden

Demirug
2004-11-19, 10:39:50
So unabhängig sind die einzelnen Teile gar nicht weil immer wieder ein Teil die Daten von einem anderen braucht um weiter zu machen. Wenn man einfach alles auf einzelne Threads verteilt und dann mit Syncronisationsobjekten gegeneinander sichert wird es sogar leicht langsamer als vorher.

Wir mussten bei uns einen komplett neuen Gameloop schreiben um von Multi-CPU Systemen profitieren zu können ohne aber gleichzeitig auf Single-CPU Systemen zu viel Overhead zu verursachen.

Gast
2004-11-19, 12:03:57
Ich weis natürlich, dass die beiden Cores innerhalb des Spieles NIEMALS unabhängig voneinander arbeiten können. Der Grundgedanke liegt einfach darin, dass in nächster Zeit außer den Double-Cores (oder sogar Quad-Cores, wobei ich nicht weiss, wie weit AMD bzw. Intel da gehen wollen) nichts weiter Innovatives ansteht.

stav0815
2004-11-19, 12:39:17
So unabhängig sind die einzelnen Teile gar nicht weil immer wieder ein Teil die Daten von einem anderen braucht um weiter zu machen. Wenn man einfach alles auf einzelne Threads verteilt und dann mit Syncronisationsobjekten gegeneinander sichert wird es sogar leicht langsamer als vorher.

Wir mussten bei uns einen komplett neuen Gameloop schreiben um von Multi-CPU Systemen profitieren zu können ohne aber gleichzeitig auf Single-CPU Systemen zu viel Overhead zu verursachen.

hab ich oben auch schon gesagt.
das Problem ist schlicht und ergreifend dass die Spieleentwickler (ich als Hobby Designer sowieso) recht unerfahren mit Multi-Threaded Apllications sind

Tigerchen
2004-11-19, 15:56:23
Ich weis natürlich, dass die beiden Cores innerhalb des Spieles NIEMALS unabhängig voneinander arbeiten können. Der Grundgedanke liegt einfach darin, dass in nächster Zeit außer den Double-Cores (oder sogar Quad-Cores, wobei ich nicht weiss, wie weit AMD bzw. Intel da gehen wollen) nichts weiter Innovatives ansteht.

Von Intel kommt vor Ostern 2006 sowieso kein DualCore. Bis der Markt damit so richtig durchdrungen ist wird es fast schon 2008 sein. Ist also genügend Zeit sich mit Dual-Core und wie man es nutzt vertraut zu machen.

Gast
2004-11-21, 15:38:18
Von Intel kommt vor Ostern 2006 sowieso kein DualCore. Bis der Markt damit so richtig durchdrungen ist wird es fast schon 2008 sein. Ist also genügend Zeit sich mit Dual-Core und wie man es nutzt vertraut zu machen.
ein hoch auf AMD die werdens schon früher packen.

Tigerchen
2004-11-21, 16:59:33
ein hoch auf AMD die werdens schon früher packen.

Solange nicht der Große und der Kleine damit den Markt überschwemmen bringt das auch nichts. Ist ja bei allen Inovationen so. 64 Bit, SM 3.0, HDR oder 3DC. Breite Verfügbarkeit ist Pflicht. Sonst werden diese ganzen schönen neuen Sachen nicht genutzt.

Windi
2004-11-21, 19:13:59
ein hoch auf AMD die werdens schon früher packen. Da glaub ich irgendwie nicht dran!
Der geplante Dualcore von AMD ist für den Servermarkt gedacht. Natürlich auch als Athlon FX, aber halt sehr teuer (800€). Von einem Dualcore, der für die breite Masse gedacht ist, habe ich bis jetzt noch nichts gehört.

Ich spekulier mal ein wenig: Mit dem Winchster wird AMD versuchen Marktanteile zu erobern, dies geht natürlich nur mit einem kleinem Core. Deshalb wird AMD auch keinen Dualcore im nächsten Jahr bringen, sondern erst wenn Sie ihre Fertigungskapazitäten erhöht haben (also Fab 36 oder das outsourcing Projekt) Spekulation ENDE

Windi
2004-11-21, 19:14:10
mist

Trap
2004-11-21, 20:28:46
Man kann ein Spiel auch in Erlang programmieren, dann profitiert es automatisch von mehr CPUs ohne dass man sich als Programmierer darum kümmern muss.

Gast
2004-11-24, 00:48:38
ein hoch auf AMD die werdens schon früher packen.

ich wette einen kasten bier auf ibm
sie haben mehr erfahrung mit dual-cores aus der powerserie und bringen spätestens februar 2006 einen dual core g5+ bzw. g6

2B-Maverick
2004-11-25, 12:17:09
So unabhängig sind die einzelnen Teile gar nicht weil immer wieder ein Teil die Daten von einem anderen braucht um weiter zu machen. Wenn man einfach alles auf einzelne Threads verteilt und dann mit Syncronisationsobjekten gegeneinander sichert wird es sogar leicht langsamer als vorher.

Wir mussten bei uns einen komplett neuen Gameloop schreiben um von Multi-CPU Systemen profitieren zu können ohne aber gleichzeitig auf Single-CPU Systemen zu viel Overhead zu verursachen.

Wie viel Performance habt ihr denn dabei rausgeholt?
DualCore vs. SingleCore meine ich. (oder simuliert per 2 CPUs natürlich)

Demirug
2004-11-25, 12:27:06
Wie viel Performance habt ihr denn dabei rausgeholt?
DualCore vs. SingleCore meine ich. (oder simuliert per 2 CPUs natürlich)

Es ist ein Athlon MP System. Die Steigerung hängt stark davon ab welche Module man besonders beansprucht. Wenn man weitgehend durch Physik, KI und solche Sachen limitiert ist hatten wir durchaus 90% steigerung. Die Grafiksache lassen sich leider schlecht auf 2 Threads verteilen weil man Grafik-APIs schlecht von 2 Threads füttern kann.

maximAL
2004-11-25, 13:15:59
lässt sich mit einer unterstützung für multi-prozessor systeme nicht auch hyper threading sinnvoll nutzen?

Demirug
2004-11-25, 14:06:24
lässt sich mit einer unterstützung für multi-prozessor systeme nicht auch hyper threading sinnvoll nutzen?

Im Prinzip ja. Nur bringt es da halt weniger wenn plötzlich beide Threads die gleichen Einheiten in der CPU belasten.

Gast
2004-11-27, 16:31:36
Wie würden bei Dual-Cores die Chancen eines Raytracers stehen? Wäre das dann langsam eine potente Alternative?

DierNetteGast
2004-11-27, 21:27:13
Wenige haben es und verstehen den Nutzen bei Spielen:

- Dual Xeon Rechner


Der Hauptvorteil, speziell bei Xeon-Noconas besteht darin, daß eigentliche "Spiel" auf CPU2 (und HT2) auszulagern. Der gesamte Win32-Bereich wird von CPU 1 (inkl. HT1) erledigt. Dazu gehört z.B. das Laden von Texturen von der Disk oder sonstige Zugriffe auf das OS vom Spiel und auch die CPU-Last die das OS von sich selbst erzeugt.
Bei sehr komplexen "Spielen" wie z.B. MS FS2004 werden alle Add-Ons wie z.B. Wettergenerator, Funk-Simulation etc. auch auf CPU1 verlagert.
(Für Profis: auch Project Magnenta Tools gehören auf CPU1)

Der ganze Müll wird auf CPU1 abgestellt während sich eine ganze, vollwertige CPU um das eigentliche "Spiel" kümmern kann.

Der Vorteil liegt nicht unbedingt in einem Gewinn an FPS sondern das System reagiert einfach flüssig auch wenn es unter Total-Stress steht.

Eine Dual-CPU wird sich in Zukunft genauso verhalten wie es die heutigen Xeon-Kenner schon lange kennen.

Und wers nicht glaubt wird selig, oder liest sich in 2CPU.com ein.

Thanatos
2004-11-29, 19:11:18
Ja, hab darüber auch schon was gelesen.(glaub PCGH)

Dual Core Cpus werden bei spielen ned so den wirklichen geschwindigkeitsvorteil haben, der vorteil ist aber das sie unempfindlicher gegenüber störungen sind.Also man ruhig mal im Hintergrund einen "richtigen" AV scan, oder ein video encoden kann ohne dass das Spiel jetzt riesige fps einbrüche hat und ruckelt wie sau.

san.salvador
2004-12-01, 13:00:07
Ja, hab darüber auch schon was gelesen.(glaub PCGH)

Dual Core Cpus werden bei spielen ned so den wirklichen geschwindigkeitsvorteil haben, der vorteil ist aber das sie unempfindlicher gegenüber störungen sind.Also man ruhig mal im Hintergrund einen "richtigen" AV scan, oder ein video encoden kann ohne dass das Spiel jetzt riesige fps einbrüche hat und ruckelt wie sau.
Genau das ist es auch was ich an meinem P4 HTT so schätze. Kaum messbar schneller, aber immer schnell genug und völlig ohne Aussetzer.

-3Dprophet-
2004-12-01, 14:37:10
Meint ihr die ganzen Chip-Schmieden treiben ein solchen Aufwand nur damit sich das ganze Sys. ein bisschen geschmeidiger anfühlt?
Sicher nicht!

Höchstens am Anfang wird dies der einzige Vorteil sein.
Wenn die Entwickler ihre Programme, die bisher eigentlich nur auf einer CPU gelaufen sind, auf Systeme mit 2 CPUs optimiert haben wird sich das auch in der Geschwindigkeit bemerkbar machen. Wie Demirug schon geschrieben hat.

Wurschtler
2004-12-01, 15:43:57
Meint ihr die ganzen Chip-Schmieden treiben ein solchen Aufwand nur damit sich das ganze Sys. ein bisschen geschmeidiger anfühlt?
Sicher nicht!

Höchstens am Anfang wird dies der einzige Vorteil sein.
Wenn die Entwickler ihre Programme, die bisher eigentlich nur auf einer CPU gelaufen sind, auf Systeme mit 2 CPUs optimiert haben wird sich das auch in der Geschwindigkeit bemerkbar machen. Wie Demirug schon geschrieben hat.


Die machen das nur, weil sie anders die Leistung kaum mehr steigern können. ;)

Gast
2004-12-02, 14:58:45
In nbetracht der Tatsache, dass SLI etwas bringt, kann man evtl. auch GPU Double(Multi?-)-Core-mäßig auf die Beine helfen?

-3Dprophet-
2004-12-02, 16:26:33
Die machen das nur, weil sie anders die Leistung kaum mehr steigern können. ;)

Die Leistung lässt sich sicher noch ohne Dual-Core steigern, nur ist die Frage wie Wirtschaftlich das ganz dann ist und welche Kühlung man dann braucht. ;)

Wenn Intel schon eine "Boxed-Wakü" anbieten will - dann weiß ich das da irgentwas schief läuft. Und jetzt kommt bitte nicht mit Apple, die "müssen" das machen damit sie ihrem Ruf als Trendsetter gerecht werden. ;)