PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DirectX9 per Software?


2004-08-18, 02:47:10
Hi!

Habe letztens bei einer gemütlichen Zusammenkunft ein Gespräch bzgl. DX 9 und Longhorn gehabt.

Ein guter Freund meinte es wird wohl - upgrade-unwillige vorausgesetzt - wohl bald für ältere GraKas vollständige DX 9 Treiber geben, welche aber die in der HW fehlenden Teile einfach an die CPU abegeben.

Denkt ihr ATi und nVidia werden die Treiber für ältere GraKa-Familien entsprechend adaptieren?
Matrox könnte auch so die Parhelia ohne Probleme DX 9 fit machen.

Im Prinzip sollte das ja gehen, weil DX fragt ja nur den Treiber ab, an wen dieser die Arbeit deligiert ist DX egal.
Insofern denke ich mir mal eine nette Alternative, vor allem wenn man seinen PC rein nur für Office/-Net verwendet.

MfG


EDIT: Grammati gefixt.

][immy
2004-08-18, 06:09:31
dabei gibt es ein kleines problem

Vertex shader kann man zwar die cpu berechnen lassen, aber Pixel shader nicht

außerdem würde es alles viel zu viel cpu-power verschlingen um dann wirklichs spielbare ergebnisse zu erhalten

Duran05
2004-08-18, 08:05:40
Der Aufwand ist doch eigentlich überflüssig. DirectX9 Karten gibt es jetzt schon in großen Mengen (zumindest im Desktop-Markt).

... Wenn jemand umsteigen will, wird er sicher schon die notwendige Hardware haben.

Notebook-User mit schlechterer Hardware werden womöglich länger warten bzw. gar nicht umsteigen, wenn die Hardware nicht ausreichend ist.

Wenn Longhorn da ist, wird es das Problem sicherlich nicht mehr geben.

Gasst
2004-08-18, 10:14:20
Hi!


Ein guter Freund meinte es wird wohl - upgrade-unwillige vorausgesetzt - wohl bald für ältere GraKas vollständige DX 9 Treiber geben, welche aber die in der HW fehlenden Teile einfach an die CPU abegeben.



Das wird es ziemlich sicher nicht geben. Die Chiphersteller sind nicht interessiert daran, für alte Produkte noch DX9 Treiber zu bringen, sofern noch nicht geschehen. Und Emulation über die CPU geht bei Pixelshadern nicht.

Zool
2004-08-18, 11:10:57
Prinzipiell sollte man alles Emulieren können, auch Pixelshader. Fragt sich nur wie schnell das Ergebnis bereit steht.

MechWOLLIer
2004-08-18, 16:19:29
So wie ich das verstehe, kann man alles per CPU emulieren, was eine Grafikkarte kann. Hab ich irgendwo mal gelesen. Aber es ist dann halt dementsprechends langsam.

DrumDub
2004-08-18, 16:30:51
So wie ich das verstehe, kann man alles per CPU emulieren, was eine Grafikkarte kann. Hab ich irgendwo mal gelesen. Aber es ist dann halt dementsprechends langsam.

jupp. dazu brauchst nur das dx 9 sdk bzw. den refrast daraus.

Avalox
2004-08-18, 16:52:49
Es wird ganz sicher mal die Zeit kommen, in der keine speziellen Grafikkarten zur 3D Darstellungsunterstützug mehr notwendig sind.
Es ist einfach viel preisewerter die eh da CPU(s) rechnen zu lassen.
War bei anderen Geschichten u.a. Soundkarten mal ähnlich. Nun ist die Grafikanforderung etwas anspruchsvoller. Allerdings wird auch mal der Punkt erreicht sein, an dem man behaupten kann, dass die Grafikqualität hinreichend ist. Dann werden immer mehr Funktionen an der/die CPU(s) übertragen werden.
Ganz sicher.

mapel110
2004-08-18, 16:59:42
Es wird ganz sicher mal die Zeit kommen, in der keine speziellen Grafikkarten zur 3D Darstellungsunterstützug mehr notwendig sind.
Es ist einfach viel preisewerter die eh da CPU(s) rechnen zu lassen.
War bei anderen Geschichten u.a. Soundkarten mal ähnlich. Nun ist die Grafikanforderung etwas anspruchsvoller. Allerdings wird auch mal der Punkt erreicht sein, an dem man behaupten kann, dass die Grafikqualität hinreichend ist. Dann werden immer mehr Funktionen an der/die CPU(s) übertragen werden.
Ganz sicher.

naja, derzeit gehts bei den CPUs Leistungstechnisch seit ca 2 Jahren nicht mehr vorran(3ghz von Intel wurde sep.2002 vorgestellt). Die GPUs dagegen haben ihre Performance innerhalb dieser Zeit vervielfacht.

ScottManDeath
2004-08-18, 17:18:42
Es wird ganz sicher mal die Zeit kommen, in der keine speziellen Grafikkarten zur 3D Darstellungsunterstützug mehr notwendig sind.
Es ist einfach viel preisewerter die eh da CPU(s) rechnen zu lassen.
War bei anderen Geschichten u.a. Soundkarten mal ähnlich. Nun ist die Grafikanforderung etwas anspruchsvoller. Allerdings wird auch mal der Punkt erreicht sein, an dem man behaupten kann, dass die Grafikqualität hinreichend ist. Dann werden immer mehr Funktionen an der/die CPU(s) übertragen werden.
Ganz sicher.
Mhmmm davon ist eher nicht auszugehen. Eher entwickeln sich die GPUs zu einem Vektorcoprozessor für die CPU der auch andere Aufgaben als rendern übernimmt. Mann kann dann natürlich philosophieren ob dieser Prozessor noch eine Grafikkarte ist ;)

Avalox
2004-08-18, 17:25:35
@Mapel110

Und genau das wird zum Ende der 3D Beschleuniger beitragen.
Diese werden immer aufwendiger, immer teurer. War ein 3D Beschleuniger früher teuer, weil dieser nur einen begrenzten Markt hatte. So ist ein 3D Beschleuniger heute teuer weil eben neuste Technologien eingesetzt werden müssen. So ist der latente Wunsch nach preiswerteren, aber dennoch hinreichend leistungsfähigen Alternativen vorhanden.

Das Moorsche Gesetz gilt nach wie vor für CPUs. Es hätte auch katastrophale Folgen, wenn dieses eines Tages einbrechen sollte.
Netburst ist diesbezüglich ein mächtiger Blender, wenn man sich hinreißen lässt den Takt als alleinigen Maßstab zu sehen.

Ich prognostiziere noch für den Übergang GPU->CPU auch eine erstmalige Grafikverschlechterung im Detail. Welche allerdings aufgrund des Preisargumentes gerne in Kauf genommen werden wird. Das spezielle hat sich schon immer dem allgemeinen unterordnen müssen :|

Alles mM natürlich. Wann es soweit ist, weiss ich auch nicht. Allerdings erscheinen mir die kommenden Multicore Prozessoren u.ä. sehr vielversprechend. Es wird ja eh ein schleichender Prozess sein. Im Prinzip hat dieser ja auch schon begonnen. Nur merkt man es halt nicht.


@ScottManDeath

Dass wird natürlich passieren und ist auch schon in der Vergangenheit bei anderen Ansätzen geschehen. Dieses dann allerdings nicht separat, sondern auf dem DIE und im Core des Prozessors.

[EF]peppa
2004-08-18, 17:34:28
Ich prognostiziere auch noch für den Übergang GPU->CPU...

Irre ich mich da jetzt oder war der P10 von 3dlabs nicht schon der erste Schritt in diese Richtung?

Ailuros
2004-08-18, 23:03:42
Es wird ganz sicher mal die Zeit kommen, in der keine speziellen Grafikkarten zur 3D Darstellungsunterstützug mehr notwendig sind.
Es ist einfach viel preisewerter die eh da CPU(s) rechnen zu lassen.
War bei anderen Geschichten u.a. Soundkarten mal ähnlich. Nun ist die Grafikanforderung etwas anspruchsvoller. Allerdings wird auch mal der Punkt erreicht sein, an dem man behaupten kann, dass die Grafikqualität hinreichend ist. Dann werden immer mehr Funktionen an der/die CPU(s) übertragen werden.
Ganz sicher.

Ein Fan von Tim Sweeney? *kicher*

Spass beiseite: CPUs brauchen momentan noch zich-male die Leistung um einer heutigen Vertex Shader Einheit nachkommen zu koennen. Die letztere ist wohl fuer mehrere als nur einem thread faehig, laeuft aber meistens nur bei 1/5 des Taktes einer heutigen CPU.

CPUs werden staerker werden und werden auch in absehbarer Zukunft auch mehr als nur einen thread effizient behandeln koennen, aber sie werden stets in Sachen Parallelisierung oder noch genauer Textur-filterung als Beispiel grausam kraenkeln.

Dedizierte Hardware wird stets grosse Vorteile haben und "general function" HW wird immer nur der Beistand sein und bleiben. Von HW Antialiasing duerfen wir wohl erst gar nicht mehr reden.

Falls Dich das alles nicht ueberzeugen sollte, schnapp Dir einfach einen 3800+ Athlon FX und spiel mal mit dem Pixodrive Renderer in UT2k4 rum; wenn Dich die Bildqualitaet (schlechter kann es gar nicht gehen) und die Leistung ueberzeugen sollte, dann haben CPUs tatsaechlich eine Hoffnung in der Zukunft.

Ein heutiger 6-way SIMD@ ~300MHz kann sich bis zu 4x mal so schnell zeigen als ein 3.0GHz P4, und dabei geht es nur im Triangle throughput; von Textur-Filterung ist da erst gar nicht mal die Rede. Das erste koennte man theoretisch mit einer CPU die ueber mehrere threads faehig ist zwar aufholen, das zweite eben nicht, aber dann geht es wohl auch nur um schlichte T&L oder VS Funktionen.

Und genau das wird zum Ende der 3D Beschleuniger beitragen.
Diese werden immer aufwendiger, immer teurer. War ein 3D Beschleuniger früher teuer, weil dieser nur einen begrenzten Markt hatte. So ist ein 3D Beschleuniger heute teuer weil eben neuste Technologien eingesetzt werden müssen. So ist der latente Wunsch nach preiswerteren, aber dennoch hinreichend leistungsfähigen Alternativen vorhanden.

Du kannst ja gerne einen HW-Entwickler ueberreden Dir eine CPU auf Papier zu entwickeln die zumindest volle dx9.0 Shader uebernehmen kann. Danach koenntest auch noch fragen wie er das Resultat in Transistoren-Anzahl, Abwaerme und Herstellungskosten abschaetzen wuerde mit heutigen Verhaeltnissen.

GPUs waren stets teuer und ueberhaupt im high end. Es ist nicht das erste Mal dass es 500-600$ teure ultra high end Loesungen gibt.

Welcher begrenzter Markt genau? So begrenzt wie 2 V2's in SLI's, eine GF2 Ultra bei Vorstellung, eine (nie veroeffentlichte) V5 6k als einfache Beispiele?

Ich prognostiziere noch für den Übergang GPU->CPU auch eine erstmalige Grafikverschlechterung im Detail. Welche allerdings aufgrund des Preisargumentes gerne in Kauf genommen werden wird. Das spezielle hat sich schon immer dem allgemeinen unterordnen müssen.

Hurrahhhh.... zurueck zum point sampling und 640*480*16. Dafuer kannst Du Dir heute auch irgend ein Mobo mit integriertem Quark-chip kaufen und Dir die Unkosten einer GPU sparen. Mehr als einen eleganten word-processor selbst mit einem >600 euro teuren CPU sollte man aber nicht erwarten.

Alles mM natürlich. Wann es soweit ist, weiss ich auch nicht. Allerdings erscheinen mir die kommenden Multicore Prozessoren u.ä. sehr vielversprechend. Es wird ja eh ein schleichender Prozess sein. Im Prinzip hat dieser ja auch schon begonnen. Nur merkt man es halt nicht.

Ja aber nochmal siehe ganz oben: Textur-Filterung.

Irre ich mich da jetzt oder war der P10 von 3dlabs nicht schon der erste Schritt in diese Richtung?

Alle neuen GPUs kommen mehr und mehr der CPU-Logik generell naeher. Das heisst aber momentan auch nicht viel weil eine GPU stets dedizierte Hardware verbleibt.

Es gibt ja auch die andere Theorie dass die GPU Entwickler irgendwann mal wieder auf die traditionelle "Pipeline" zurueckkehren" werden.

Zukuenftige "stream" VPUs haben ein Ziel so wie es bei WGF aussieht: einer CPU so wenig wie moeglich zu ueberlassen, wie zB nur AI und physics und der ganze Rest wird dann auf einer GPU/VPU ausgetragen. Hier kommen dann die sogenannten Programmable Primitive Processor Einheiten zum Schwung, die fuer voll apaptive on chip tesselation, dynamischen LOD, Geometrie-Entwicklung und Verwerfung usw. sorgen werden.

Fuer high end graphics wird man stets eine starke CPU und eine starke GPU brauchen auch in der Zukunft. Leute wie Sweeney koennen ja gerne zu derartigen Wahrsagereien resultieren, die Frage ist nur warum ihre eigene Software nicht sooo toll auf high end CPUs laeuft oder in der Zukunft laufen wird. Um es noch genauer zu machen eine zukuenftige CPU koennte theoretisch durchaus UT2k4 mit 40-50fps als Beispiel in 1024*768 laufen; nur eben dann mit point sampling und sehr niedriger Textur-Qualitaet. Der Unterschied ist eben dann dass eine zukuenftige GPU der gleichen Zeit das gleiche Spiel mit gleicher Geschwindigkeit in 2048*1536*32 mit 4xAA/16xAF rennen wird, wenn nicht noch mehr.

][immy
2004-08-18, 23:20:58
nun.. wenn Cpus die GPUs ablösen, dann aber nur, weil die GPU in die CPU gewandert ist

also alles in einem chip a la konsole (nagut, das stimmt ja auch schon nicht mehr ^^)

das heißt aber dennoch das es immernoch eine logische trennung zwischen gpu und cpu gibt

aus meiner sicht sollte eine cpu ansich fast nur mit der physik/ki und der aufgabenverteilung beschäftigt sein. also nur als verteiler dienen


das problem bei der theorie das die cpu mal sämtliche aufgaben wieder übernehmen wird ist, das auch die anforderungen quasi quadratisch steigen
doppelt so hohe auflösung, 4x mehr rechenarbeit
....
das können cpus allein gar nicht einholen
und selbst wenn du multiprozessor-system nutzen würdest... die investition in eine grafikkarte wäre doch wesentlich günstiger (wohl auch in zukunft) denn auch 2 heutige cpus können noch nicht so schnell rendern wie eine directx9 grafikkarte

ich schätze mal eher das in zukunft immer mehr aufgaben von der cpu ausgelagert werden. z.B. beim sound könnte man wohl noch eine menge rausholen, wenn man bedenkt das durch zuschalten von EAX die frameraten bei spielen mit cpu-limitierung drastisch sinken

auch könnte ich mir irgendwann so ne art KI-chip vorstellen, der subroutinen schneller berechnen kann oder sowas

abgesehen davon hätte eine cpu gar nicht die speicherbandbreite die eine graifkkarte zur verfügung hat. dadurch das man aufgaben verteilt sich man schließlich auch nicht nur auf eine einzige bandbreite angewiesen

ein system das auch hier der cpu genug bandbreite zur verfügung stellt will ich garantiert nicht bezahlen müssen... ich sag nur teuer (bei heutigen speichertechnologien wäre selbst ein 512 bit speicherinterface, dafür das du alles auf der cpu berechnen willst ein witz)

Ailuros
2004-08-19, 00:21:05
Genau Jimmy.

nun.. wenn Cpus die GPUs ablösen, dann aber nur, weil die GPU in die CPU gewandert ist.

Es waere aber wie Du schon sagtest, dann eine Monster CPU. Stromverbrauch/Abwaerme und Transistoren-Anzahlen sind NICHT nur kritisch fuer GPUs heutzutage geworden, sondern auch fuer CPUs.

Wir werden CPUs mit mehreren threads schon sehen mit hoechster wahrscheinlichkeit, aber so arg verschieden wird es dann bei GPUs auch nicht aussehen. Ich koennte mir leicht vorstellen dass zukuenftige GPU's mehrere chips auf einem einzelnen "die" quasi "eingebettet" haben. Und dagegen ist jegliche zukuenftige multi-CPU genauso hoffnungslos verloren.

aths
2004-08-19, 02:20:03
Es wird ganz sicher mal die Zeit kommen, in der keine speziellen Grafikkarten zur 3D Darstellungsunterstützug mehr notwendig sind.
Es ist einfach viel preisewerter die eh da CPU(s) rechnen zu lassen. Nein. Die Leistung von GPUs wächst schneller als die von CPUs. Eher umgekehrt wird sich die GPU zum allgemein verwendbaren Co-Prozessor für Streamdaten-Verarbeitung entwickelt.

Grestorn
2004-08-19, 07:12:56
Nein. Die Leistung von GPUs wächst schneller als die von GPUs. Eher umgekehrt wird sich die GPU zum allgemein verwendbaren Co-Prozessor für Streamdaten-Verarbeitung entwickelt.Du meintest "Die Leistung von GPUs wächst schneller als die von CPUs." nehme ich an?

aths
2004-08-19, 07:45:50
Ja, sonst ergäbe das ja keinen Sinn.

Avalox
2004-08-19, 08:27:32
Ich denke ihr unterschätzt einfach die alleinige Motivation aller Innovation im Bereich CPU/GPU und werdet noch überrascht werden. Die Entwicklung vielleicht sogar für unvernünftig halten.

In eurer Argumentation vermag ich jedenfalls keinen Widerspruch zur Prognose erkennen.

Fragt mal irgendwann den Enkel nach einem 3D Beschleuniger und ihr werdet zum Süppchen löffeln geschickt werden. :uhippie: mM

micki
2004-08-19, 08:29:15
die emulatoren sind eher für den lowend on-board markt. pixelshader werden nicht emuliert werden, aber vertexshader. dass man dx9 support braucht um das neuste winword laufen zu lassen heißt ja nicht, dass es performant sein muss. firmen wie sis werden soviel wie möglich emulieren, genau wie das früher beim blitten von surfaces war als die on-board karten das nicht in hardware konnten aber windows dieses ausgiebig nutzte.
das läuft ja bei vielen onboard dingen so, dass die cpu alles mögliche per software emuliert, lan, sound, isdn/modem,...

MfG
micki

tokugawa
2004-08-19, 08:58:28
Blödsinn, Pixel Shader können prinzipiell wie alles emuliert werden (tut das nicht der DX9 Refrast eh?). Zumindest unter OpenGL gab es bei NVIDIA Treibern den NV30 Emulate Modus, mit dem man die NV30 emulieren konnte, inklusive aller Fragment Shader extensions.

Software-Renderer hatten ja auch Software-"Pixel Shader". Pixel Shader sind ja nichts anderes als die Berechnung die pro Fragment/Pixel geschieht.

Die Frage ist natürlich die Performance. Vertex Shader in Software sind deshalb noch einigermaßen "feasable" weil es weniger Vertizes pro Szene gibt (speziell wenn man intelligent Visibility Culling betreibt). Die Anzahl der Pixel pro Bildschirm ist jedoch ziemlich hoch, da für jeden Pixel in Software etwas zu berechnen, da könnten wir gleich wieder Software-Renderer einführen.

Ailuros
2004-08-19, 15:17:44
Natuerlich koennen PS emuliert werden, nur ist die schon oefters wiederholte Frage dann eben wieviel Geduld man haben koennte oder anders ob Seconds per Frame wirklich irgendwelche anwendbare Relevanz zur Realitaet haben koennte.

IMHO wird die Wichtigkeit von PS im Vergleich zu VS sowieso steigern, was aber noch ein Minuspunkt fuer CPUs generell sein sollte.

Ich denke ihr unterschätzt einfach die alleinige Motivation aller Innovation im Bereich CPU/GPU und werdet noch überrascht werden. Die Entwicklung vielleicht sogar für unvernünftig halten.

In eurer Argumentation vermag ich jedenfalls keinen Widerspruch zur Prognose erkennen.

Kommt ganz drauf an was man ab einem bestimmten Punkt in der Zukunft dann mit CPU oder GPU genau meint. Natuerlich gibt es einen grossen Widerspruch zur Prognose und diese beruht eben zwischen den Unterschieden zwischen "general purpose" und "dedicated hardware".

Wenn eine GPU in ihrer Aufbau-Logik einer CPU aehnelt oder immer mehr aehnelt, heisst das bei weitem noch nicht dass es sich um general purpose HW handelt oder andersrum dass wenn eine CPU stark genug ausgeruestet wird dass sie auch einige bisher GPU-spezifische Funktionen aufnehmen kann, dass diese jetzt ploetzlich zu dedizierter HW umwandelt.

Der Trend im Markt momentan zeigt was WGF (siehe Veroeffentlichung 2006 mit Longhorn) betrifft, dass man CPUs noch mehr entladen will und nicht anders rum. Und dabei handelt es sich bei WGF um ein "API" (im breiten Sinn), dass zumindest >4 Jahre aushalten soll.

3D ist gerade am Eintritt im PDA/mobile Markt wo die-Groesse und Stromverbrauch ungeheuer wichtig ist. Selbst bei solchen SoCs (system on chip) versohlt ein ~70MHz 3D chip radikal den Hintern einer ~500MHz CPU, und selbst da wird sich auch nicht viel aendern. Die naechste Generation dieser chips wird wohl auf 90nm und spaeter auf 65nm hergestellt. Nachdem sehen wir wohl weiter.

Fragt mal irgendwann den Enkel nach einem 3D Beschleuniger und ihr werdet zum Süppchen löffeln geschickt werden.

Sweeney ist einer der Unterstuetzer dieser Theorie und das schon seit Jahren. Falls er alt genug sein sollte um Enkelkinder zu haben, wuerde es mich nicht wundern wenn sie Opa als Spinner bis jetzt ansehen wuerden, was diesen Aspekt betrifft.

Der Gedanke was Software-Rendering betrifft ist wohl eher logisch wenn 3D Spiele irgendwann mal total aussterben werden, aber davon gibt es noch keine Anzeichen.

Die Xenon CPU ist uebrigens ueber 6 Hardware Threads faehig; warum nun das komische Diagramm eine hochwertige GPU mit 48 ALUs pro Takt und eDRAM fuer insgesamt >50GB/sec Bandbreite anzeigt, ist wohl jedermanns Spekulation, zuwas genau man das zweite ueberhaupt noch brauchen sollte...

Aquaschaf
2004-08-19, 16:28:51
Fragt mal irgendwann den Enkel nach einem 3D Beschleuniger und ihr werdet zum Süppchen löffeln geschickt werden. :uhippie: mM

Kannst du mir auch so eine Kristallkugel zukommen lassen? Mal ganz abgesehen davon, dass ich in solchen Fragen überhaupt keine Prognosen über alles was über die nächsten 5-10 Jahre hinausgeht machen wollte.

Vielleicht wirst du auch zum Suppe löffeln geschickt, wenn du etwas von einer CPU erzählst.

2004-08-19, 16:53:57
Hi !

Wußte gar nicht was ich da für einen Stein ins Rollen bringe damit...
Sei's drum.

Denke mal es sollte prinzipiell gegeben sein (Renderprogramme stellen doch auch - meist - alles über CPU her). Es ging ja nicht darum im Nachhinein eine alte GraKa DX9-spieletauglich zu machen, sondern nur um einer alten Grafikkarte die Basics für Longhorn beizubringen. Vor allem Laptopbesitzer werden das zu schätzen wissen, es werden ja auch heute noch Laptops mit Highend-CPU verkauft und es sitzt "nur" eine GPU der DX 8 Generation drauf.
Außerdem hat nicht intel eine integrierte GPU entwickelt die nur teilweise DX9 in HW kann und den Rest in SW erledigt? Das wäre ja eine ähnliche Situation: Für Spiele irrelevant, für Longhorn ok.

MfG

tokugawa
2004-08-19, 17:39:36
Natuerlich koennen PS emuliert werden, nur ist die schon oefters wiederholte Frage dann eben wieviel Geduld man haben koennte oder anders ob Seconds per Frame wirklich irgendwelche anwendbare Relevanz zur Realitaet haben koennte.


Naja, "Realtime Rendering" ist es zwar nicht mehr ganz, aber zumindest beim NV30Emulate hat es den Zweck gehabt, NV30-Features etwa auf einer GF4 MX austesten zu können. Könnte vielleicht für Entwickler in gewisser Weise nützlich sein. Naja, gut, irgendwie hab ich das jetzt an den Haaren herbeigezogen, denn wenn man als Entwickler keine NV30 hat (sondern eine niedriggefeaturete NVidia Karte) könnte man ja schon ziemlich billig an eine NV3x kommen (selbst eine FX 5200 dürfte schneller als NV30Emulate sein...).


IMHO wird die Wichtigkeit von PS im Vergleich zu VS sowieso steigern, was aber noch ein Minuspunkt fuer CPUs generell sein sollte.


Naja, heutzutage werden ja hauptsächlich die PS gehypt. Viele sprechen nur mehr von Pixel Shadern wenn sie Shader meinen. Und was die "Häufigkeit" per gerendertem Bild betrifft ist ja die Anzahl der PS zumindest höher. Wobei ich hier nicht wirklich von Wichtigkeit sprechen will - ich halte Vertex Programme für genauso wichtig, kann man irgendwie nicht wirklich gegeneinander aufwiegen. Das ist wie wenn man diskutieren würde ob der Herzschlag oder das Atmen wichtiger ist zum Leben :)

aths
2004-08-19, 17:45:13
Ich denke ihr unterschätzt einfach die alleinige Motivation aller Innovation im Bereich CPU/GPU und werdet noch überrascht werden. Die Entwicklung vielleicht sogar für unvernünftig halten.CPU und GPU übernehmen grundlegend verschiedene Aufgaben. Da ist es sinnvoll, auch unterschiedliche Chips arbeiten zu lassen.

][immy
2004-08-19, 20:54:36
Hi !

Wußte gar nicht was ich da für einen Stein ins Rollen bringe damit...
Sei's drum.

Denke mal es sollte prinzipiell gegeben sein (Renderprogramme stellen doch auch - meist - alles über CPU her). Es ging ja nicht darum im Nachhinein eine alte GraKa DX9-spieletauglich zu machen, sondern nur um einer alten Grafikkarte die Basics für Longhorn beizubringen. Vor allem Laptopbesitzer werden das zu schätzen wissen, es werden ja auch heute noch Laptops mit Highend-CPU verkauft und es sitzt "nur" eine GPU der DX 8 Generation drauf.
Außerdem hat nicht intel eine integrierte GPU entwickelt die nur teilweise DX9 in HW kann und den Rest in SW erledigt? Das wäre ja eine ähnliche Situation: Für Spiele irrelevant, für Longhorn ok.

MfG

intels neuer directx9 onboard chip hat pixel shader 2.0 in hardware, aber Vertex shader in software

vertex shader sind ja von der cpu noch relativ leicht zu berechnen (auch wenn es trotzdem wesentlich langsamer ist) ... man denke da mal an die Software T&L sachen aus voodoo und kyro zeiten
pixel shader.. da hab ich mich ein wenig falsch ausgedrückt.. möglich ja, effektiv absolut nicht
hat schon seine gründe warum intel nicht auch software pixel shader einsetzt


achja.. für longhorn reicht auch eine directx 8 karte soweit ich weiß

Ailuros
2004-08-20, 01:58:50
Naja, heutzutage werden ja hauptsächlich die PS gehypt. Viele sprechen nur mehr von Pixel Shadern wenn sie Shader meinen. Und was die "Häufigkeit" per gerendertem Bild betrifft ist ja die Anzahl der PS zumindest höher. Wobei ich hier nicht wirklich von Wichtigkeit sprechen will - ich halte Vertex Programme für genauso wichtig, kann man irgendwie nicht wirklich gegeneinander aufwiegen. Das ist wie wenn man diskutieren würde ob der Herzschlag oder das Atmen wichtiger ist zum Leben.

Eines der Punkte wurde schon erwaehnt: Intel´s neuester dx9.0 integrierter Grafikchip. Von der Potenz/Leistung dieser Loesungen mal abgesehen, haben diese keine VS in Hardware. Es handelt sich trotz allem um den hoechsten Marktanteil.

Zweiter Punkt und das (ironischerweise) vom Vater der "CPUs werden GPU´s ersetzen" Theorie, ueber die U3 engine:

PS 3.0 utilizes a wide range of optimizations, from 64-bit frame-buffer blending to looping and dynamic conditionals for rendering multiple light interactions in a single pass without requiring a combinatorical explosion of precompiled shaders.

Our pixel shaders in the Unreal Engine 3 demos are typically 50-200 instructions in length, and are composed from a wide range of artist-controlled components and procedural algorithms.

Our vertex shaders are quite simple nowadays, and just perform skeletal blending and linear interpolant setup on behalf of the pixel shaders. All of the heavy lifting is now on the pixel shader side -- all lighting is per-pixel, all shadowing is per-pixel, and all material effects are per-pixel.

Once you have the hardware power to do everything per-pixel, it becomes undesirable to implement rendering or lighting effects at the vertex level; such effects are tessellation-dependent and difficult to integrate seamlessly with pixel effects.

Leonidas
2004-08-21, 12:13:36
So wie ich das verstehe, kann man alles per CPU emulieren, was eine Grafikkarte kann. Hab ich irgendwo mal gelesen. Aber es ist dann halt dementsprechends langsam.


Richtig. Aber (LowCost-Karte angenommen):

Emulierst Du einen Vertex Shader, kommst Du auf 10-20 fps. Emulierst Du einen Pixel Shader, kommst Du auf 0,2 fps. Das ist ein Unterschied von mehreren Dimensionen.

Avalox
2004-08-21, 14:40:46
Liegt die Zukunft allerdings in der immer weitergehenden Leistungssteigerung der Pixelshader oder kann es nicht doch eine andere Entwicklung nehmen?

Letztendlich zählt ja nur das Ergebnis.
Eine komplexere Geometrie und drastisch vergrößerter Speicher werden die Nebeneffekte neuerer Technik sein.

Ailuros
2004-08-22, 04:30:18
Liegt die Zukunft allerdings in der immer weitergehenden Leistungssteigerung der Pixelshader oder kann es nicht doch eine andere Entwicklung nehmen?

Ja die "Vereinigung" von VS und PS calls in WGF als Anfang. Ob jetzt die HW Entwickler weiterhin getrennte Einheiten verwenden werden oder nicht, koennte wohl egal sein. Nach ~2010 kann ich bei bestem Willen nicht weiterspekulieren.

Letztendlich zählt ja nur das Ergebnis.
Eine komplexere Geometrie und drastisch vergrößerter Speicher werden die Nebeneffekte neuerer Technik sein.

Tatsaechlich zaehlt nur das Ergebnis, nur leider hat es bis jetzt nie fuer Software Rendering gesprochen.

Natuerlich wird Geometrie komplexer werden, nur wird eben viel mehr ueber die naechsten Jahre von der CPU entlastet als bisher. Das heisst jetzt nicht dass man keine starken CPUs in der Zukunft brauchen wird; Entwickler werden schon einen guten Weg finden mehr auf AI und physics in Spielen zu konzentrieren. Eventuell waren sie ja bis jetzt extrem sparsam in diesen Abteilungen weil eben die CPUs nicht nur mit diesen in Spielen befoerdet wurden.

Ein blendendes Beispiel sind die Schattenberechnungen bei Doom3. Deshalb braucht das Spiel ja auch eine ziemlich starke CPU um dementsprechend gut zu laufen.

Der_Donnervogel
2004-08-22, 21:31:14
Wie würde es eigentlich ausschauen, wenn die CPU-Designer nicht eine komplette GPU, sondern nur die wichtigsten Funktionen, einbauen und nur den Rest emulieren würden?

Schließlich hat man mit den SIMD-Einheiten ja auch DSPs weit ins Eck gedrängt. Dort war (ist) es auch so, daß ein deutlich niedriger getakteter DSP jeden Prozessor leistungsmäßig abgehängt hat. Trotzdem können inzwischen die CPUs dank SSE & Co in vielen Bereichen DSPs locker ersetzen. Könnte eine ähnliche Erweiterung nicht auch der Grafikverarbeitung auf die Sprünge helfen?

Zumal es ja auch im "Loadbalancing" Vorteile geben müßte. Schließlich sind 3D-Anwendungen ja praktisch immer entweder CPU oder GPU limitiert. Wäre beides in einem Chip, könnte die Leistung doch besser genutzt werden.

Außerdem könnte man doch vielleicht CPU und Speicher auf eine eigene Platine setzen und fest integrieren (so wie heute die Grafikkarten). Damit könnte man auch die Speichertransferraten der Grafikkarten erreichen. Wäre auch eine weitere elegante Option für die CPU-Hersteller über den verbauten Speicher ihre Modelle zu differenzieren und Overclocking zu unterbinden.

aths
2004-08-22, 23:00:06
Liegt die Zukunft allerdings in der immer weitergehenden Leistungssteigerung der Pixelshader oder kann es nicht doch eine andere Entwicklung nehmen?

Letztendlich zählt ja nur das Ergebnis.
Eine komplexere Geometrie und drastisch vergrößerter Speicher werden die Nebeneffekte neuerer Technik sein.NV40 kann pro Takt bis zu 128 FP32-MULs ausführen. OK, eine CPU mag 5x oder 6x höher getaktet sein, aber wann erreicht sie (pro Sekunde) die MUL-Leistung vom NV40?

Ailuros
2004-08-23, 02:36:06
Außerdem könnte man doch vielleicht CPU und Speicher auf eine eigene Platine setzen und fest integrieren (so wie heute die Grafikkarten). Damit könnte man auch die Speichertransferraten der Grafikkarten erreichen. Wäre auch eine weitere elegante Option für die CPU-Hersteller über den verbauten Speicher ihre Modelle zu differenzieren und Overclocking zu unterbinden.

So in etwa sehen die SoCs (system on chip) im PDA/mobile Markt aus. Der Unterschied ist dass (wie schonmal gesagt) ein SoC mit einem ~60-70MHz 3D chip um etliche Male hoehere Leistung liefert als ein SoC mit nur einer 500+MHz CPU. Selbst da gibt es schon heute programmierbare VS SIMDs (in dem Grafik-chip integriert) die die CPU entlasten fuer Geometrie und der setup wird nach wie vor vom Grafik-chip uebernommen.

Fuer 2D Spiele und software rendering ist die zweite Loesung dann wohl zufriedenstellend. Wie sieht es aber aus wenn ein 3D chip@66MHz (ohne Geometrie-Einheit), Quake3a mit 32bpp/bilinear und vsync on bei konstanten 30fps rendert?

Das letzte Mal als ich eine Q3a software renderer versuchte, hauten mir die miserablen Texturen die Augen aus, Leistung war niedriger als 20 fps in 640*480 und dass auf einem 2400+XP.......errrrrrr :|

Um ehrlich zu sein ich hab jetzt keine Ahnung ob die SoC in aehnlicher umsetzbar waere fuer einen desktop PC, aber selbst wenn nach der obrigen Logik handelt es sich stets um eine getrennte CPU (general purpose HW) und ein Grafik-chip (dedicated HW), egal wie und wo das ganze integriert wurde.

Eine moegliche Vorraussetzung waere aber dann dass IHVs nur noch IP an die grossen Semikonduktoren verkaufen, oder eventuell komplette SoCs selber zu entwickeln. Wenn das Ganze ueberhaupt moeglich ist natuerlich. Derartige grosse Aenderungen im Markt sind wohl eher unwahrscheinlich, selbst in der sehr weiten Zukunft. Die Frage ist dann eher warum Intel z.B. nicht schon so etwas versucht hat oder in die Richtung geforscht hat, da sie ja auch eine Grafik-Abteilung haben. Dass sich Intel lieber ueberhaupt nicht mit Grafik beschaeftigen sollte, lass ich mal elegant weg *hust* ;)

Gast
2004-08-23, 07:06:33
Das letzte Mal als ich eine Q3a software renderer versuchte, hauten mir die miserablen Texturen die Augen aus, Leistung war niedriger als 20 fps in 640*480 und dass auf einem 2400+XP.......errrrrrr :|

Dann installiere mal den MESA-Software-Renderer. Der Berechnet 1:1 das was Quake 3 haben will. Nur halt in Software.

Das schöne ist dann nur das man 0,x fps hat. ;)

Gast
2004-08-23, 09:43:01
Also warum streitet ihr euch eigentlich über Software-DX9 rum? Das ganze gibt es ja (fast) schon!
Der DX9/DX10-Teil ist momentan noch in der Entwicklung soweit ich das verstanden habe aber Nick
arbeitet ziemlich viel daran. Momentan arbeitet er übrigens bei Nvidia!

http://sourceforge.net/projects/sw-shader

Ein Thread von vielen auf Beyond3D : Advanced Rasterization (http://www.beyond3d.com/forum/viewtopic.php?t=14919&postdays=0&postorder=asc&start=0&sid=b76eee0b8875d41c40d1102ba012952e)

Ailuros
2004-08-24, 02:28:20
Dann installiere mal den MESA-Software-Renderer. Der Berechnet 1:1 das was Quake 3 haben will. Nur halt in Software.

Das schöne ist dann nur das man 0,x fps hat. ;)

Da sollte spf stehen und nicht fps :D

Ailuros
2004-08-24, 02:43:22
Also warum streitet ihr euch eigentlich über Software-DX9 rum? Das ganze gibt es ja (fast) schon!
Der DX9/DX10-Teil ist momentan noch in der Entwicklung soweit ich das verstanden habe aber Nick
arbeitet ziemlich viel daran. Momentan arbeitet er übrigens bei Nvidia!

http://sourceforge.net/projects/sw-shader

Ein Thread von vielen auf Beyond3D : Advanced Rasterization (http://www.beyond3d.com/forum/viewtopic.php?t=14919&postdays=0&postorder=asc&start=0&sid=b76eee0b8875d41c40d1102ba012952e)

Da ich den Thread schon damals durchgelesen hatte, wuerde ich eher sagen dass Du die 3 Seiten nochmal genauer durchliest.

Dass seine renderer schneller als RefRast auf high end CPUs momentan laufen, sagt mir absolut gar nichts. Und ja die grossen IHVs beschaeftigen allerlei Leute fuer Forschung, weil es eben notwendig ist.

Gast
2005-07-05, 05:58:35
Hi!

Habe letztens bei einer gemütlichen Zusammenkunft ein Gespräch bzgl. DX 9 und Longhorn gehabt.

Ein guter Freund meinte es wird wohl - upgrade-unwillige vorausgesetzt - wohl bald für ältere GraKas vollständige DX 9 Treiber geben, welche aber die in der HW fehlenden Teile einfach an die CPU abegeben.

Denkt ihr ATi und nVidia werden die Treiber für ältere GraKa-Familien entsprechend adaptieren?
Matrox könnte auch so die Parhelia ohne Probleme DX 9 fit machen.

Im Prinzip sollte das ja gehen, weil DX fragt ja nur den Treiber ab, an wen dieser die Arbeit deligiert ist DX egal.
Insofern denke ich mir mal eine nette Alternative, vor allem wenn man seinen PC rein nur für Office/-Net verwendet.

MfG


EDIT: Grammati gefixt.