dualcore und zukunftige spiele - eine überlegung

mocad_tom schrieb:
aus diesem Posting
http://www.amdzone.com/modules.php?...s&file=index&req=viewarticle&artid=169&page=1

>Carmack explained that on the XBOX360 rendering would be spit out to a different
>thread. This is similar with what some revisions of Quake 3 had in regards to SMP
>support where he saw up to 40% in performance improvement.

Bei Quake 3 müsste demnach ein X2 3800+ bereits gegenüber dem normalen 3800+ triumphieren.
Man hat (dies ist bereits in der Vergangenheit geschehen !) für die XBox 360 Teilaufgaben auf verschiedene Threads aufgeteilt. So eine Software müßte auch auf einem Dual-Core Desktop deutlich beschleunigt laufen.

Wie beschrieben schon ein alter Hut, aber da selten beim PC bisher verwendet, sind die entsprechenden Revisionen nicht (groß) veröffentlicht worden.
Mit fehlerbereinigten Treibern, vielleicht DirectX 10 und natürlich einem Dual-Core dürfte es aber dann gut laufen.

Wichtig eben - es ist vieles schon in der Vergangenheit bei der Softwareentwicklung in Bezug auf Trennung in verschiedene Threads angedacht und probeweise verwirklicht worden. Aber bisher haben kleine Bugs und eben ein nicht besonders interessierter Markt diese Projekte nicht hoch kommen lassen.
Mit echten Dual-Core - breit bei potentiellen Spielern am Desktop plaziert - sieht das aber jetzt anders aus.
 
rkinet schrieb:
aus diesem Posting

Wie beschrieben schon ein alter Hut, aber da selten beim PC bisher verwendet, sind die entsprechenden Revisionen nicht (groß) veröffentlicht worden.
Mit fehlerbereinigten Treibern, vielleicht DirectX 10 und natürlich einem Dual-Core dürfte es aber dann gut laufen.

Wichtig eben - es ist vieles schon in der Vergangenheit bei der Softwareentwicklung in Bezug auf Trennung in verschiedene Threads angedacht und probeweise verwirklicht worden. Aber bisher haben kleine Bugs und eben ein nicht besonders interessierter Markt diese Projekte nicht hoch kommen lassen.

aus "Programming Linux Games"

If you don’t pay attention to code organization, you’ll end up with code that looks like the
500,000 lines of spaghetti behind (no offense, Activision) Civilization: Call To
Power.

Dem größten Teil der anderen Spiele dürfte es nicht besser ergehen, wenn man sich mal die Patch-Wut der Hersteller ansieht. Da ist nix, mit einfach mal auf multithreaded umstellen. Die Programmierer sind häufig froh, wenn sie ihren aktuellen Code unter Kontrolle bekommen.
Es ist schon mehrfach gesagt worden, Quake 3 ist so ziemlich das einzige Spiel, welches in Hinsicht auf Mehrprozessorsysteme entwickelt wurde, welches irgendwo auf dem Markt rumgeister. Und auch da haben diverse Benchmarks gezeigt, dass bei Nutzung eines zweiten Prozessors die Frameraten massiv in den Keller gegangen sind.
Ich halte es schon für sehr blauäugig, wenn man erwartet, dass innerhalb von vielleicht sechs Monaten plötzlich massiv Spiele auf den Markt kommen, die von mehreren Prozessoren profitieren.
Naja, rkinet lebt eh in einer anderen Welt, wo man auch Herstellern mal eben Strafzölle aufs Auge drücken kann. ;D
 
mocad_tom schrieb:
aus diesem Posting

http://www.amdzone.com/modules.php?...s&file=index&req=viewarticle&artid=169&page=1

>Carmack explained that on the XBOX360 rendering would be spit out to a different
>thread. This is similar with what some revisions of Quake 3 had in regards to SMP
>support where he saw up to 40% in performance improvement. Unfortunately in the case
>of Quake 3 it was eventually broken for no apparent reason to them, but was likely a
>driver or OS related issue.

Bei Quake 3 müsste demnach ein X2 3800+ bereits gegenüber dem normalen 3800+ triumphieren.
"Some revisions", "eventually broken" ... klingt eher, als hätten wir Enduser nie so eine Version zu Gesicht bekommen.
 
PuckPoltergeist schrieb:
aus diesem Posting
Dem größten Teil der anderen Spiele dürfte es nicht besser ergehen, wenn man sich mal die Patch-Wut der Hersteller ansieht. Da ist nix, mit einfach mal auf multithreaded umstellen.
Die Programmierer sind häufig froh, wenn sie ihren aktuellen Code unter Kontrolle bekommen.
Es ist schon mehrfach gesagt worden, Quake 3 ist so ziemlich das einzige Spiel, welches in Hinsicht auf Mehrprozessorsysteme entwickelt wurde, welches irgendwo auf dem Markt rumgeister. Und auch da haben diverse Benchmarks gezeigt, dass bei Nutzung eines zweiten Prozessors die Frameraten massiv in den Keller gegangen sind.

Ich halte es schon für sehr blauäugig, wenn man erwartet, dass innerhalb von vielleicht sechs Monaten plötzlich massiv Spiele auf den Markt kommen, die von mehreren Prozessoren profitieren.
;D ;D ;D

Die Zeiten eines Microsoft BASIC V2 (=C64) sind schon einige Wochen vorbei.
Kurz danach nutzte man bereits Bibliotheken und programmierte strukturiert.
Schon zu C64 Zeiten konnte man an die Hardware einige Aufgaben abgeben (Spritesteuerung, Kollisionserkennung) - also in mehreren Threads programmieren.
Ok, vielleicht muss Intel jetzt einige Programmier-Rentner aus der C64 Zeit reaktivieren - aber das Wissen dazu ist uralt und präsent.

Teilfunktionen kann man problemlos auf mehrere Cores aufteilen, bis zur optimalen Versorgung von 6 Cores (SMT-Tricore der XBox 360) oder viel mehr (Kombination aus physikalischen und logischen Cores) natürlich deutlich länger.

Heutzutage kann man anfangen bei der Optimierung von DirectX und den Spieleengines.
Der individuelle Code der Programmier hat bei allen Interrupt oder zeitgesteuerten Routinen schon einen 100% geeigneten Einstieg in Multi-Thread.

Das bei PCs noch einiges an Spagethie-Code existiert dürfte zutreffen.
Dies erklärt, weshalb ein 10 MHz Microkontroller effektiver arbeitet als eine PC-Software auf einem 1000 MHz Desktop.
Aber ist erlernbar ordenlichen Code zu schreiben, der performant läuft.
Und gekauft und gut bezahlt werden eh nur die Top-Titel - der jeweilige Chef wird seinen 'Jungs' schon Beinen machen.
Zudem sind eh schon die wichtigtsen Titel auf Multithread für DirectX (10 = XBox) konvertiert, da muss nur noch Feinarbeit für die Dual-Core der PCs gemacht werden.
Aber die Sourcecode-Codeverwandschaft zw. XBox 360 und DirectX-Desktop wird bei der Diskussion ja immer wieder unter den Teppich gekehrt - schon merkwürdig, oder ?
 
Da spricht der Fachmann... DirectX10 ist halt wirklich ne geniale Programmiersprache die die gesammte aufteilung in threads dem programmierer abnimmt und das intelligent compiliert.
ich freu mich schon drauf wenn direct X 10 endlich erscheint. dann besorg ich mir den quellcode und ändere den einfach bissel um so das der auf 2 cores läuft. dann schlägt mich keiner mehr bei meinen lieblingsspielen. :P
1monat reicht doch sicher um den code so umzufrickeln das die spiele laufen oder?
 
Shdow schrieb:
aus diesem Posting

Da spricht der Fachmann... DirectX10 ist halt wirklich ne geniale Programmiersprache die die gesammte aufteilung in threads dem programmierer abnimmt und das intelligent compiliert.

Naja, die DX-Funktionalität wird schon in einem separaten Thread ablaufen. Das macht auch Sinn, weil das IMO garnicht mal wenig an Arbeit ist, was da gemacht wird. Wie sehr das aber ein Spiel bechleunigt, weiß ich nicht.
Grundsätzlich müssen die Spieleprogrammierer aber ihr Programm selber sinnvoll in verschieden Teilbereiche zerlegen, und das dann multithreaded gestalten. Die Hauptarbeit wird immerhin im Spiel selbst erledigt. Der Link, den rkinet gebracht hat, zeigt das ja auch sehr deutlich. Nach dem die Programmierer von Intel den jeweiligen Spielecode intelligent strukturiert und in separate Threads aufgeteilt hatten, lief das Zeuchs auf Mehrprozessorsystemen deutlich schneller.
Wenn die Spieleentwickler das multithreaded Programmiermodell erstmal übernommen haben, werden auch Mehrprozessorsysteme deutlich davon profitieren. Ich sehe da allerdings auch schon eine viel schlimmer Patch-Orgie auf die Spieler zumarschieren, als es jetzt schon der Fall ist. ;D
 
rkinet schrieb:
aus diesem Posting

;D ;D ;D

Die Zeiten eines Microsoft BASIC V2 (=C64) sind schon einige Wochen vorbei.
Kurz danach nutzte man bereits Bibliotheken und programmierte strukturiert.
Schon zu C64 Zeiten konnte man an die Hardware einige Aufgaben abgeben (Spritesteuerung, Kollisionserkennung) - also in mehreren Threads programmieren.
Ok, vielleicht muss Intel jetzt einige Programmier-Rentner aus der C64 Zeit reaktivieren - aber das Wissen dazu ist uralt und präsent.

Teilfunktionen kann man problemlos auf mehrere Cores aufteilen, bis zur optimalen Versorgung von 6 Cores (SMT-Tricore der XBox 360) oder viel mehr (Kombination aus physikalischen und logischen Cores) natürlich deutlich länger.

Heutzutage kann man anfangen bei der Optimierung von DirectX und den Spieleengines.
Der individuelle Code der Programmier hat bei allen Interrupt oder zeitgesteuerten Routinen schon einen 100% geeigneten Einstieg in Multi-Thread.

Das bei PCs noch einiges an Spagethie-Code existiert dürfte zutreffen.
Dies erklärt, weshalb ein 10 MHz Microkontroller effektiver arbeitet als eine PC-Software auf einem 1000 MHz Desktop.
Aber ist erlernbar ordenlichen Code zu schreiben, der performant läuft.
Und gekauft und gut bezahlt werden eh nur die Top-Titel - der jeweilige Chef wird seinen 'Jungs' schon Beinen machen.
Zudem sind eh schon die wichtigtsen Titel auf Multithread für DirectX (10 = XBox) konvertiert, da muss nur noch Feinarbeit für die Dual-Core der PCs gemacht werden.
Aber die Sourcecode-Codeverwandschaft zw. XBox 360 und DirectX-Desktop wird bei der Diskussion ja immer wieder unter den Teppich gekehrt - schon merkwürdig, oder ?
Also da möchte ich jetzt auch mal etwas zu sagen.
1. Muß ein Spiel verkauft werden. Das bedeutet natürlich das es auch nach etwas aussehen muß, aber vor allem muß es auch spielbar sein. Da kann man nicht Sachen voraussetzen die nur einige haben. Primär muß soetwas an der Masse ausgerichtet sein. Dazu kannst du dir ja mal den Survey von Half-Life ansehen: http://www.steampowered.com/status/survey.html
2. Dauert die Entwicklung schon einige Zeit. Was du jetzt anfängst ist frühestens in 18 Monaten da.
3. Man hat kaum eine Chance etwas strukturiert zu machen, da alles 1000 mal umgeschmissen wird. Man macht einen Prototypen der zusammengeschustert ist, weil man kein Geld hat und auch noch nicht genau weiß wie es aussehen soll. Der Publisher sagt dir dann aus diesen oder jenen Gründen schmeiß diese Hälfte raus und dies alles muß rein damit es verkauft werden kann. Dann kommen die Milestones und man macht etwas nur mal eben für den Milestone das man später dann natürlich richtig machen will. Dann ist man irgendwann fast fertig, aber der Publisher sagt dies oder jenes muß naoch rein, da andere Spiele es auch haben. Kann ja auch nicht so schwer sein, da die es ja auch hinbekommen haben etc.
Kurz: Spiele sind 10mal gewandelte Altlasten und nichts wo man vorher ein großes Konzept machen kann das man dann ausfüllt.
 
Kunibert_KA schrieb:
aus diesem Posting

Also da möchte ich jetzt auch mal etwas zu sagen.
1. Muß ein Spiel verkauft werden. Das bedeutet natürlich das es auch nach etwas aussehen muß, aber vor allem muß es auch spielbar sein. Da kann man nicht Sachen voraussetzen die nur einige haben. Primär muß soetwas an der Masse ausgerichtet sein. Dazu kannst du dir ja mal den Survey von Half-Life ansehen: http://www.steampowered.com/status/survey.html
2. Dauert die Entwicklung schon einige Zeit. Was du jetzt anfängst ist frühestens in 18 Monaten da.
3. Man hat kaum eine Chance etwas strukturiert zu machen, da alles 1000 mal umgeschmissen wird. Man macht einen Prototypen der zusammengeschustert ist, weil man kein Geld hat und auch noch nicht genau weiß wie es aussehen soll. Der Publisher sagt dir dann aus diesen oder jenen Gründen schmeiß diese Hälfte raus und dies alles muß rein damit es verkauft werden kann. Dann kommen die Milestones und man macht etwas nur mal eben für den Milestone das man später dann natürlich richtig machen will. Dann ist man irgendwann fast fertig, aber der Publisher sagt dies oder jenes muß naoch rein, da andere Spiele es auch haben. Kann ja auch nicht so schwer sein, da die es ja auch hinbekommen haben etc.
Kurz: Spiele sind 10mal gewandelte Altlasten und nichts wo man vorher ein großes Konzept machen kann das man dann ausfüllt.

Sprichst du hier aus eigener Erfahrung?
 
Kunibert_KA schrieb:
aus diesem Posting

Also da möchte ich jetzt auch mal etwas zu sagen.
1. Muß ein Spiel verkauft werden. Das bedeutet natürlich das es auch nach etwas aussehen muß, aber vor allem muß es auch spielbar sein. Da kann man nicht Sachen voraussetzen die nur einige haben. Primär muß soetwas an der Masse ausgerichtet sein. Dazu kannst du dir ja mal den Survey von Half-Life ansehen: http://www.steampowered.com/status/survey.html

Wenn ich so einen "Survey" sehe, weiss ich wieso es eigentlich nen Datenschutz gibt, die Infos sind so doch 100Pro über Steam gekommen, ich finde das ne absolute Frechheit, das geht die nun wirklich absolut nichts an, ...
Sorry, aber das musste raus

Was dein eigentliches Schreiben angeht, ich stimme da zu, was ich über die Branche gelesen habe bestätigt das.

Gruss
 
TommySZB schrieb:
aus diesem Posting

Wenn ich so einen "Survey" sehe, weiss ich wieso es eigentlich nen Datenschutz gibt, die Infos sind so doch 100Pro über Steam gekommen, ich finde das ne absolute Frechheit, das geht die nun wirklich absolut nichts an, ...
Sorry, aber das musste raus

Was dein eigentliches Schreiben angeht, ich stimme da zu, was ich über die Branche gelesen habe bestätigt das.

Gruss
Ja das kommt über Steam und ich kann dir nicht genau sagen wie es läuft, da ich da keine Spiele gespielt habe. So weit ich das sagen kann ermittelt steam die Daten selber und fragt den User ob sie gesendet werden dürfen. Es wird also nicht automatisch übertragen. Interessant ist das Ganze, da man wirklich mal sieht mit wie alten Sachen da einige spielen. Wenn man eine Umfrage startet bekommt man ja eher nur die antworten von denen die Ahnung haben und/oder die Stolz sind auf ihr neues Baby und seltener die Realität.
 
PuckPoltergeist schrieb:
aus diesem Posting

Sprichst du hier aus eigener Erfahrung?
Ein wenig. Wir haben bisher erst kleinere Sachen umsetzen können, aber da eben auch schon einige Strukturen kennengelernt. Wir haben uns immer auch für größere Sachen interessiert da wir da hin wollen. Insofern denke ich schon das ich da etwas bescheid weiß, aber kann doch nicht wirklich aus eigener direkter Erfahrung sprechen.

Im Grunde läuft es daoch darauf hinaus:
Am Anfang dachten wir, wie wohl viele die davon träumen mal Spiele zu machen das man sich ein gutes Konzept ausdenkt und mit diesem dann hausieren geht. Wenn man dann jemanden gefunden hat der es gut findet bekommt man das Geld um mit x Leuten das in y Monaten umzusetzen.
Dem ist aber nicht so.
Es sieht eher so aus, das die Publisher etwas luaffähiges sehen wollen und einen Dreck auf Papier geben. Also mußt du einen Prototypen mit einigen wichtigen funktionen bauen. Da du aber ja kein Geld hast um da mehrere Leute für einige Zeit dran zu setzen, (Banken sind da auch sehr zurückhaltend) wird es eben etwas das ganz schnell ganz billig sein muß. Später wenn du dann evtl einen Geldgeber hast, schmeißt du das aber nicht mehr weg (steckt ja so viel arbeit drin) sondern arbeitest daran weiter...
Sehr schlimm sind dann die tausend Änderungen. Dies und jenes sollten wir nicht machen, das muß umbedingt rein etc. Am besten dann noch kurz vor der Deadline. Du bist am crunchen um alles fertig zu bekommen und dann muß umbedingt noch etwas rein. Terminverschiebung ist nicht drin, da schon angekündigt bzw irgendetwas gedruckt etc.

Gutes Beispiel ist die Gravity-Gun bei Half-Life und Doom 3. Da hat der eine etwas was gut ankommt, dann sagt dir ein Marketingmensch, das es auch umbedingt rein soll. Was das zu so einem späten Zeitpunkt bedeutet erkennt der nicht und will es auch nicht wissen. Also wird es reingewürgt und alles testen könnte neu losgehen wenn denn die Zeit da währe...
 
Wobei das weniger nach Spaghetti klingt, die könnte man nämlich mit jeweils passender Soße zu allem möglichen verarbeiten und es wird gut, außerdem sind sie leicht auf ne Gabel zu wickeln.
Klingt eher nach einem Kantineneintopf von Vorvorgestern, der ursprünglich leckeres ChiliConCarne werden sollte, dann Gulasch wurde, Tag später Tomatensuppe war und morgen als Ketchup auf die Zigeunerschnitzel kommt...

(die Metapher "Spaghetticode" für unstrukuriertes Geschreibsel ist mir bekannt, nur zur Info)
 
rkinet schrieb:
aus diesem Posting

http://www.computerbase.de/news/har.../2005/august/ibms_dual-core_antares_powermac/

Zumindest die Mac-Gemeinde könnte bald noch den ersten mobilen Dual-Core erhalten (Q1'06 ja dann auch bei Intel per Yonah).
Anscheinend wird halt bei Apple-Programmiern ordentlicher Programmierstil erwartet, der leicht DC-fähig gemacht werden kann.

Bei Apple ist im Profibereich Dual ja was ganz normales. Deswegen werden die Programmen schon seit jahren für Dual-Sys gemacht. Das merkt man auch unter anderem an Adobe programmen. Die meisten können auch unter Win eine gute verwendung für die zweite CPU finden.
 
http://www.heise.de/newsticker/meldung/63204

Heimelektronikhersteller Thomson etwa zeigte in San Francisco einen integrierten Set-Top-Dekoder mit Festplattenrekorder mit Intels Dualcore-Chip.
Man kann wohl von einer GHz-schwachen Dual-Core Selektion dafür ausgehen,
vielleicht sogar schon Netburst low power.

Interessant wird es erst 2006, wenn eben Yonah ff. handelsübliche
Mainstream-CPUs bei Intel werden.

---------------
http://stern.de/computer-technik/computer/:Intel-Erst-Wort,-Hardware/544724.html

Lackierte Brotdose mit Doppelkern-Prozessor

---------------

http://anandtech.com/tradeshows/showdoc.aspx?i=2510&p=2

Intels 'Digital home platform - V//V' geht nur mit Dual-Core .


viiv.jpg
 
Zuletzt bearbeitet:
Hallo,

nochmal zu den UT04 Benches. Vielleicht zocken einige von euch gerne UT04 mit 31 Bots (Masterful) + (UT Classic + Super Berserk + Spider Sterodis) Mutator. Hier ist ein (vom Kumpel ) A64 3700+ (S939) + 2GB + X800XTPE in einigen Onslaught Karten (z.B. Adara, Tricky), total überfordert (wenn es richtig rund geht). Da kein X2 Proz vorhanden ist, mussten wir "schummeln". Ein A64 + 3200+ (S939) + 1GB + X300 als Dedicated Server und den 3700+ als Client. Und sie da, keine Einbrüche mehr in den ca. 15fps Bereich. Fast perfekt spielbar min bei ca. 25 fps.
Was nun interessiert ist, ob man beim X2 den Dedicated Server einen Proz zuweisen kann und dem Client den anderen Proz. Wenn das funktioniert wäre zumindest die UT Reihe Multicore fähig und auch Games mit Coop Modus mit Dedicated Server.

Ciao
 
Wie ist das eigentlich mit dem Dual Core,
kann ich da selbst im Task-Manager (oder etwas vergleichbarem) bestimmen welche Anwendungen auf welchem Prozessorkern laufen oder bestimmt das der Prozessor selbst?
 
Noch mal ein wenig zu den Problemen mit Multicore.
Valve boss Gabe Newell is shocked at the lack of appreciation for the giant hurdles involved in next generation console development.
http://www.next-gen.biz/index.php?option=com_content&task=view&id=510&Itemid=2
Sieht wohl so aus das zumindest zum Start nicht so viel mehr zu sehen sein wird als bei heutigen Engines. Kann ja aber noch kommen.
 
Kunibert_KA:

Hat ich schon gebracht. Du wirst aber auch noch lernen, dass nur Links zählen, die die eigenen Meinung "untermauern". ;)
 
Akira=GK= schrieb:
aus diesem Posting

Es gibt schon seit Ewigkeiten Dual-Prozessor-Boards.
Das hat sich nie durchgesetzt.
Dafür gab es 2 Gründe:
1. Der Preis solcher Systeme war zu hoch und
2. Es hat so gut wie keine Programme gegeben die das unterstützten.
Warum sollte sich also jetzt ein Dual-Prozessor durchsetzen?

weil halt irgendwann auch auf dem Desktopmarkt die zeit dafür reif ist. is immer so gewesen, dass alles was es für server schon längst gibt sich irgendwann auch für PC (PERSONAL Computer) durchgesetzt hat. der preis ist ja nun (zumindest in absehbarer zeit) dank Massenfertigung kein gegenargument mehr
 
Es gibt noch einen Grund, daß sich Multicore-Prozessoren sich bis jetzt wenig durchgesetzt haben aber es langsam tun müssen: Die Physik.

Bis jetzt war es kein großes Problem, Singlecore-Prozessoren immer schneller zu machen. Heute aber stoßen die Hersteller immer mehr an physikalische Grenzen! (Bestes Beispiel ist die total gescheiterte Takt-Politik von Intel Die wollten bis heute schon an die 10 Gigaherz haben, zum totlachen!)
Zwar sind Multicores noch nicht die einzige noch offenbleibende Möglichkeit, aber es ist soweit, daß zwei Prozessoren langsam deutlich billiger werden, als ein einzelner schneller.

Hinzu kommt, daß die restlichen Systemkomponenten auch immer mehr für Multitasking geeignet werden: Größerer Speicher, schnellere Festplatten, größere TFT-Monitore mit mehr Bildschirmfläche.

Hinzu kommt schließlich noch ein wachsendes Verständnis der Softwarehersteller für Multithreading.

Die Sache ist also wirklich eindeutig, die Wende hin zu Mehrkernprozessoren ist da.
 
Ice schrieb:
aus diesem Posting
Es gibt noch einen Grund, daß sich Multicore-Prozessoren sich bis jetzt wenig durchgesetzt haben aber es langsam tun müssen: Die Physik.
Auch die Elektro-Physik.

Ein 5 GHz P4 wäre ein BTX-Monster gewesen, der Yonah und selbst Conroe hingegen sind da viel bescheidener und das DIE bliebt beherrschbar in der Temperatur.
 
Der neue 81er Beta-Treiber von Nvidia zeigt ja schön, wie sich auch im Grakatreiber aus dem DC extra Leistung rausholen lassen kann. Vor allem bei OpenGL, wovon ja ein erheblicher Teil direkt im Graka-Treiber steckt, kann man wohl enorm optimieren auf die Art und Weise, wie es dann später auch bei DX10 zu erwarten ist.

Ich freu mich auf jeden Fall immer wieder, wenn ich auf dem einen Monitor WoW zocke und auf dem anderen derweil per DVB-S Karte TV schaue. Dann weiss ich sofort, was mir der DC auf jeden Fall bringt. :D

Sentinel
 
Zurück
Oben Unten