DirectX 11

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Gelöschter Benutzer
Beiträge: 92
Registriert: 26.02.2009, 22:09

Re: DirectX 11

Beitrag von Gelöschter Benutzer »

:lol: Aber doch nicht für den tiefsten D3D9er...
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: DirectX 11

Beitrag von Krishty »

@Matthias Gubisch: Das dürfen sie nicht mehr, wenn dadurch die Verlässlichkeit der Ergebnisse nicht mehr gewährleistet werden kann … Low-level-Optimierungen – z.B. voneinander unabhängige Befehlsstränge out-of-order auszuführen – verbietet nichts.

Größere Optimierungen, wie Berechnungen herauszunehmen die vorhersehbare Ergebnisse erzeugen, die nicht genutzt werden, die auf anderem Wege schneller zu bekommen sind – die wurden und werden nicht im Treiber, sondern im HLSL-Compiler vorgenommen. Was unter D3D9 überflüssig war, fliegt unter D3D10 noch genauso raus.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: DirectX 11

Beitrag von Schrompf »

Matthias Gubisch hat geschrieben: Die Direct3D9 Treiber haben teilweise ueberfluessige Shaderbefehle wegoptimiert, bzw die Ausfuehrungsreihenfolge optimiert.
Das ist bei Direct3D10 IIRC nicht mehr erlaubt. Steht glaub ich in der D3D10 Spec so mit drinnen dass die Grafikkartenhersteller im Treiber keinerlei optimierungen mehr vornehmen DUERFEN!!!!!
Hast Du dafür eine Quelle? Der interne Shadercode jeder Grafikkarte unterscheidet sich doch recht drastisch von dem standardisierten ASM-Code, den Direct3D definiert hat. Eine Übersetzung ist also auf jeden Fall nötig. Wer definiert denn da, wo die reine Übersetzung zur Erreichung der Ausführbarkeit aufhört und die Optimierung anfängt? Und wer will das überprüfung? Und vor allem: was soll damit erreicht werden, außer sehr viel langsamere Shader?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: DirectX 11

Beitrag von Matthias Gubisch »

Internetquelle weiss ich leider nicht mehr

Ansonsten hab ich die Aussage von einem Crytek Entwickler auf einem Vortrag in Muenchen der gesagt hat dass Shader fuer D3D10 wesentlich besser vom Entwickler optimiert werden muessen weil die Treiber nicht mehr so viel optimiern duerfen und dass angeblich in den D3D10 Specs drinsteht...

Mal sehen ob ich da noch was genaueres finde...
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: DirectX 11

Beitrag von Krishty »

Ich denke eher, dass sie mehr handoptimiert werden müssen, weil sich die Architekturen von AMD und Nvidia seit D3D10 mehr denn je unterscheiden.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: DirectX 11

Beitrag von Matthias Gubisch »

Kann auch sein dass ich das nicht richtig verstanden habe

Kern der Aussage war auf alle Fälle dass man als Shaderentwickler mehr auf die Performanceoptimierung achten muss als unter Direct3D neun
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: DirectX 11

Beitrag von Krishty »

Huch, ist mir gerade beim Wechel vom Fenster- in den Fullscreen-Mode passiert:

Code: Alles auswählen

D3D11: Removing Device.
D3D11: ERROR: ID3D11Device::RemoveDevice: Device removal has been triggered for the following reason (E_OUTOFMEMORY: The application tried to use more adapter memory than the Device can simultaneously accommodate. As a result, the TDR (Timeout Detection and Recovery) mechanism has been triggered. The current Device Context was executing commands when exhaustion occurred. The application needs to make less aggressive use of the display memory, perhaps by leveraging ClearState to ensure large Resources do not stay bound to the pipeline, or by leveraging information, such as DXGI_ADAPTER_DESC::DedicatedVideoMemory.). [ EXECUTION ERROR #378: DEVICE_REMOVAL_PROCESS_AT_FAULT ]
Offenbar wird Freispeicher trotz Virtualisierung zum Problem, wenn Folding@home GPU mitläuft …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten