Ich denke nicht, dass es wirklich wahr ist, dass sich niemand wirklich für "beschleunigte Vektorgrafiken" interessiert, wie in dieser Antwort geschrieben .
Nvidia scheint das ein bisschen zu interessieren. Neben Kilgard, dem leitenden Techniker bei NV_path_rendering (von nun an NVpr, um meine Finger zu schonen), hat Neil Trevett, der auch Vice President bei Nvidia ist, NVpr in den letzten Jahren so gut wie möglich beworben. siehe seine talk1 , talk2 oder talk3 . Und das scheint sich ein bisschen ausgezahlt zu haben. Derzeit wird NVpr in Googles Skia (das wiederum in Google Chrome verwendet wird) und unabhängig [von Skia] in einer Beta-Version von Adobe Illustrator CC (Beta) verwendet, wie Kilgards Folien bei GTC14 belegen . Es gibt auch einige Videos von den Vorträgen: Kilgard's und Adobe's. Ein Kairoer Entwickler (der für Intel arbeitet) scheint ebenfalls an NVpr interessiert zu sein. Mozilla / Firefox-Entwickler haben auch mit NVpr experimentiert und interessieren sich in der Tat für GPU-beschleunigte Vektorgrafiken im Allgemeinen, wie diese FOSDEM14- Talkshows zeigen.
Microsoft kümmert sich auch ein bisschen darum , weil sie Direct2D erstellt haben , das ziemlich weit verbreitet ist [wenn Sie der Meinung sind, dass der Mozilla-Entwickler von dem oben erwähnten Vortrag abstammt].
Nun zur ursprünglichen Frage: Es gibt in der Tat einige technische Gründe, warum die Verwendung von GPUs für das Pfad-Rendering nicht einfach ist. Wenn Sie erfahren möchten, wie sich das Rendern von Pfaden von der 3D-Vertex-Geometrie nach Moorstandard unterscheidet und warum die GPU-Beschleunigung beim Rendern von Pfaden nicht trivial ist, dann hat Kilgard einen sehr guten FAQ-ähnlichen Beitrag , der leider irgendwo im OpenGL-Forum vergraben ist.
Weitere Informationen zur Funktionsweise von Direct2D, NVpr und dergleichen finden Sie in Kilgards Artikel Siggraph 2012 , der sich natürlich auf NVpr konzentriert, aber auch gute Arbeit leistet, um frühere Ansätze zu überprüfen. Es genügt zu sagen, dass schnelle Hacks nicht gut funktionieren ... (wie im Text der PSE-Frage angegeben). Es gibt signifikante Leistungsunterschiede zwischen diesen Ansätzen, wie in diesem Artikel erörtert und in einigen frühen Demos von Kilgard gezeigt, z dieses Video . Ich sollte auch beachten, dass im offiziellen NVpr-Erweiterungsdokument mehrere Leistungsverbesserungen im Laufe der Jahre aufgeführt sind.
Nur weil NVpr 2011 (in seiner ersten veröffentlichten Implementierung) unter Linux nicht so gut war , heißt das nicht, dass die GPU-Beschleunigung von Vektoren / Pfaden als Antwort von Goldberg hoffnungslos ist , wie der Blogpost von Qt, Zack Rusin, 2011, sagte scheint daraus gefolgert zu haben. Tatsächlich hat Kilgard am Ende dieses Blogposts mit aktualisierten Treibern geantwortet, die eine 2x-4x-Verbesserung gegenüber Qts schnellerem Code zeigten, und Rusin hat danach nichts gesagt.
Die Valve Corp. kümmert sich auch um das GPU-beschleunigte Vektor-Rendering, jedoch in geringerem Maße um das Font / Glyph-Rendering. Sie haben eine nette, schnelle Implementierung der Glättung großer Schriftarten mit GPU-beschleunigten vorzeichenbehafteten Distanzfeldern (SDF) erhalten, die auf der Siggraph 2007 vorgestellt wurden , die in ihren Spielen wie TF verwendet wird. Es gibt eine Video-Demonstration der Technik auf YouTube (aber ich bin nicht sicher, wer das gemacht hat).
Der SDF-Ansatz wurde von einem der Cairo & Pango-Entwickler in Form von GLyphy verfeinert . Sein Autor hielt einen Vortrag auf der linux.conf.au 2014. Die zu lange nicht beobachtete Version besteht darin, dass er eine Arc-Spline-Approximation der Bezier-Kurven vornimmt, um die SDF-Berechnung im Vektorraum (und nicht im Rasterraum) besser nachvollziehbar zu machen (Valve hat letztere durchgeführt). Aber selbst mit der Arc-Spline-Näherung war die Berechnung noch langsam; Er sagte, seine erste Version lief mit 3 fps. Also macht er jetzt ein paar Grid-basierte Cullings für Sachen, die "zu weit weg" sind, was aussieht wie eine Form von LOD (Level of Detail), aber im SDF-Raum. Mit dieser Optimierung liefen seine Demos mit 60 fps (und es war wahrscheinlich Vsync begrenzt). Seine Shader sind jedoch unglaublich komplex und stoßen an die Grenzen von Hardware und Treibern. Er sagte etwas in der Art: "Für jede Fahrer / Betriebssystem-Kombination mussten wir etwas ändern". Er fand auch signifikante Fehler in Shader-Compilern, einige davon wurden dann von ihren jeweiligen Entwicklern repariert. Es klingt also sehr nach der Entwicklung von AAA-Spielen ...
Andererseits scheint Microsoft ein wenig neue GPU-Hardware in Auftrag gegeben / spezifiziert zu haben, um ihre Direct2D-Implementierung mit Hardware zu verbessern, die von Windows 8 verwendet wird, sofern verfügbar . Dies wird als target-independent rasterization ( TIR ) bezeichnet, ein Name, der etwas irreführend ist, was das Zeug tatsächlich zu tun scheint, was in der Patentanmeldung von Microsoft dargelegt ist . AMD behauptete, dass TIR die Leistung in 2D-Vektorgrafiken um etwa 500% verbesserte . Und zwischen ihnen und Nvidia gab es ein bisschen "War of Words", weil die Kepler-GPUs es nicht haben, während es die GCN-basierten GPUs von AMD tun. Nvidia hat bestätigtdass dies in der Tat ein bisschen neue Hardware ist, nicht einfach etwas, was ein Treiber-Update bieten kann. Sinofskys Blogpost enthält einige weitere Details, einschließlich einiger tatsächlicher Benchmarks für TIR. Ich zitiere nur die allgemeinen Ideenbits:
Um die Leistung beim Rendern unregelmäßiger Geometrie (z. B. geografische Grenzen auf einer Karte) zu verbessern, verwenden wir eine neue Grafikhardwarefunktion namens Target Independent Rasterization (TIR).
Mit TIR kann Direct2D weniger CPU-Zyklen für die Tessellierung aufwenden und der GPU so schnell und effizient Zeichenanweisungen geben, ohne die visuelle Qualität zu beeinträchtigen. TIR ist in neuer GPU-Hardware für Windows 8 verfügbar, die DirectX 11.1 unterstützt.
Nachfolgend sehen Sie ein Diagramm, das die Leistungsverbesserung beim Rendern von Geometrie mit Anti-Alias-Effekten aus einer Vielzahl von SVG-Dateien auf einer DirectX 11.1-GPU zeigt, die TIR unterstützt:
Wir haben eng mit unseren Grafikhardware-Partnern [read AMD] zusammengearbeitet, um TIR zu entwerfen. Durch diese Partnerschaft wurden dramatische Verbesserungen ermöglicht. DirectX 11.1-Hardware ist bereits auf dem Markt und wir arbeiten mit unseren Partnern zusammen, um sicherzustellen, dass mehr TIR-fähige Produkte auf breiter Basis verfügbar sind.
Ich denke, dies war eines der schönen Dinge, die Win 8 hinzugefügt hat und die im Metro-UI-Fiasko größtenteils für die Welt verloren gingen ...