Seite 2 von 2

Re: DirectX 11

Verfasst: 04.03.2009, 15:34
von Gelöschter Benutzer
:lol: Aber doch nicht für den tiefsten D3D9er...

Re: DirectX 11

Verfasst: 04.03.2009, 15:36
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.

Re: DirectX 11

Verfasst: 04.03.2009, 17:16
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?

Re: DirectX 11

Verfasst: 04.03.2009, 17:37
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...

Re: DirectX 11

Verfasst: 04.03.2009, 17:58
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.

Re: DirectX 11

Verfasst: 04.03.2009, 19:18
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

Re: DirectX 11

Verfasst: 12.03.2009, 18:19
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 …