warum direct3d 11 unterstützung für grafikkarten erforderlich



  • warum ist es eigentlich nicht möglich, den direct3d XX support per treiber nachzuliefern.
    im moment sind die karten mit cuda beliebig programmierbar und es lassen sich theoretisch alle probleme damit lösen, die man früher mit normalen shadern gelöst hatt. performance ist im vergleich zu den shadern auch nahezu gleich, nur die abstrahierbarkeit ist wesentlich größer.
    irgendwie ergibt das keinen sinn in meinen augen.



  • Weil zum einen die Grafikkarte die entsprechenden Features hardwareseitig unterstützen muss um DX11-ready zu sein und zum anderen liegt's sicherlich auch daran dass ältere Karten zu schwach sind um die Leistungen für "neue Features" zu bringen. Außerdem wollen die Hersteller neue Karten verkaufen.



  • aber im gegensatz zu den softwareimplementierungen läuft der cuda-kram ja auf der gpu. also hardware. es werden keine rechnungen auf der cpu ausgelagert. ist wohl heute nur noch marketing-nepp



  • Ich dachte, DirectX sei von den Features der Hardware abhaengig, nicht umgekehrt.



  • Die Grafikkarten bestehen ja nicht nur aus den voll programmierbaren Einheiten (von Nvidia auch Cuda-Cores genannt). Es gibt weiterhin Textur-, Raster- und Shadereinheiten. Diese sind weniger komplex und können dafür deutlich mehr Performance bieten. Neue Hardware für neue Funktionen hat daher schon einen Sinn.

    Zudem finde ich es etwas fraglich ob eine Softwarelösung, die auf der GPU ausgeführt wird, als Hardware bezeichnet werden kann.



  • Es muss nicht hardwareseitig sein, wer soll NVidia/ATI schon nachweisen was in hardware gemacht wird und was emuliert.
    GF4MX hatten auch "shader" und diese wurden rein in treibern ausgefuehrt. Neue intel onbard chips benutzen die CPU wohl auch um vertexshader auszufuehren.

    Der neue NVidia DX11 chip hat ebenfalls keine hardware fuer tesselierung, sondern emuliert das auf der hardware (quasi mit cuda), das resultat ist dass sie bei tesselation limitierten benchmarks schneller sind.
    das klappt aber nicht bei allen dingen, z.b. waeren compute shader die dynamische buffergroessen haben koennen kaum machbar auf alten karten.

    man koennte also ein dx11 machen was auf dx10 karten laeuft fuer alles was dx10 ist, aber dieser compatibility mode ist in DX11 eh schon drinn, es sollte (meines wissens nach) moeglich sein bis runter auf dx9 karten ueber das dx11 interface zu arbeiten, solange man nichts macht was man mit dx9 nicht koennte.


Log in to reply