Verwendet C # nativ GPU für Grafiken?

8

Ich möchte Grafiken mit starker Beanspruchung am schnellsten zeichnen. Wenn ich standardmäßige C # Grafikrückrufe (es.graphics.drawline) verwende, mache ich es richtig? Oder soll ich verschiedene Bibliotheken verwenden?

    
Patrick 21.07.2015, 14:15
quelle

1 Antwort

6

Graphics.DrawLine ist ein GDI + -Anruf. Wenn Sie Windows Forms verwenden und Ihre Zeichnung mit den System.Drawing-Klassen ausführen, verwenden Sie GDI +, das nicht hardwarebeschleunigt ist. Um die Hardwarebeschleunigung zu erhalten, müssen Sie WPF anstelle von WinForms verwenden oder mit Direct3D / Direct2D zeichnen. Die letzten beiden (Direct3D / Direct2D) sind COM-basiert, daher benötigen Sie einen .NET-Wrapper. Microsoft wickelte Direct3D für .NET mit Managed DirectX, gefolgt von XNA, ab. Beide (glaube ich) sind jetzt veraltet. Darüber hinaus gibt es Wrappers von Drittanbietern für die DirectX-Bibliotheken, die aktueller sind.

Bearbeiten: Ich habe gerade aus @ HansPassants Kommentar gelernt, dass GDI + 2D-beschleunigt ist. Ich dachte, dass nur auf GDI (im Gegensatz zu GDI +) angewendet, weil GDI + Dinge wie Antialiasing behandelt, die (wie ich es verstand) 2D-Hardware nicht getan hat. Aber anscheinend lag ich falsch.

    
adv12 21.07.2015, 14:25
quelle

Tags und Links