News Mozilla Firefox erhält GPU-Beschleunigung

Jasson64 schrieb:
kommt das nur mir so vor oder entwickeln sich die Browser schneller als die Betriebsysteme?

Ich würde jetz ein jein in die Runde werfen.

@Topic:
Die Idee bzw. Umsetzung finde ich echt gut. Vor allem auf langsameren PC's, respektive Laptops (nur weil Geräte älter werden muss ma sie ja ned gleich entsorgen ^^) wird das doch einen Leistungsschub bringen.

Dadurch das Vista seine Aero Oberfläche teils auf die GraKa auslagert läuft das auf meinem 4 jahre altem Schleppi (Centrino Dothan, dedizierte ATI X600SE) schneller als XP. So wird sich das dann wohl auch mit der dadurch schwindenden CPUbelastung verhalten...
 
Jasson64 schrieb:
kommt das nur mir so vor oder entwickeln sich die Browser schneller als die Betriebsysteme?

hmm naja am Grundlegenden Konzept hat sich seit 15 Jahren nicht so viel geändert. Das gilt aber auch für Betriebssysteme. Aber in den letzten 2-3 Jahren ist wieder ordentlich Bewegung in den Browserkrieg gekommen. Dank Firefox, Chrome, Opera und Safari sieht sich endlich auch Microsoft genötigt in der Hinsicht etwas zutun nachdem man sich Jahrelang auf dem IE 6 ausgeruht hat. Dort ist ja über Jahre nichts passiert. Konkurrenzfähig ist man zwar noch immer nicht aber immerhin bewegt sich etwas.
 
Zuletzt bearbeitet:
Creeed schrieb:
Das Darstellen einer Webseite ist ja eigentlich grob gesagt ein 2d Rendern anhand der übertragenen Daten. Das da die Grafikkarte eigentlich besser geeignet ist als die CPU sollte klar sein.
Prinzipiell besteht eine Seite aus Rechtecken. Es gibt sehr effiziente Rasterisierungsalgorithmen für Rechtecke - viel effizienter als alles, was die Grafikkarte tut. Für das selbe Ergebnis muss die Karte wesentlich mehr Rechnen als die CPU. Erst mit halbdurchsichtigen Elementen wirds interessant, denn dafür wurden Grafikkarten nunmal gebaut.
Ein Problem bleibt trotzdem weiter die CSS-Auswertung. Die ist alles andere als trivial und eigentlich sollte man überhaupt keine komplexen Styles verwenden, wenn man eine schnelle Seite schreiben will.
Und natürlich Javascript, was mittlerweile auf sehr vielen Seiten schon fürs Layout verwendet wird :rolleyes:
 
Zuletzt bearbeitet:
Und was ist mit Windows XP? *schnief* ich möchte auf mein Netbook eigentlich ungerne was anderes installieren... :-(
 
Grafikkarte macht 3D-rendering? Hab ich was verpaßt?
Da möchte ich mal Benchmarks sehen, von Cinebench und Maxwell-render, wo nicht die Szene dargestellt wird, sondern das fertige Bild: siehe Motorrad beim Cinebench.

Achja, renderzeiten in Minuten/Stunden wäre auch interesant.
Nur darauf kommts ja letztlich an und nicht auf irgendeine flüssige Darstellung beim Kamera- drehen oder dergleichen.
 
Direct2D ist unter Garantie schneller als OpenGL (wieso sonst werden die PC-Spiele heutzutage eher mit DirectX als mit OpenGL ausgestattet).
Das ist mehrfacher Blödsinn! Abgesehen davon dass Direct 2D und OpenGL im Grunde andere Einsatzgebiete haben ist die Performance keinesfalls der Grund wieso Spiele Entwickler auf DirectX setzen. Es ist eher für diese einfachher (also weniger Aufwand) und ggf. haben sie nie was anderes gelernt. Andere Entwickler (nicht Spiele Entwickler) setzen sehr oft und fast ausschliesslich auf OpenGL. Abgesehen davon kann man Spiele wie (das alte Half Life) Warcraft III, einige UTs, Spiele von ID (sogar nur damit) auch alle mit OpenGL spielen ohne jegliche Performanceeinbussen aufgrund der API...
Das Hauptproblem für die Firefox-Entwickler wird es sein, die GPU-Unterstützung für alle gängigen Betriebssysteme hinzubekommen. Das Problem wird nämlich sein, dass hier direkt auf die GPU der Grafikkarte zurückgegriffen werden muss.
Kein Problem wenn man die richtigen APIs nutzt, z.B. OpenGl mit reiner Verwendung von 2D Objekten oder aber SDL welches gerade für solche Aufgaben gedacht ist.
Prinzipiell besteht eine Seite aus Rechtecken. Es gibt sehr effiziente Rasterisierungsalgorithmen für Rechtecke - viel effizienter als alles, was die Grafikkarte tut. Für das selbe Ergebnis muss die Karte wesentlich mehr Rechnen als die CPU.
Hast du dazu auch eine Quelle? Ausserdem bestimmt die reine Anzahl an Operationen nicht die Effizienz eines gesamten Systems. Nehmen wir z.B. an die CPU benötigt nur einen Befehl, dieser benötigt aber mehr Strom und vielleicht 4 Taktzyklen, eine GPU benötigt dafür aber 2 Befehle, jeder dieser benötigt aber deutlich weniger Strom und nur einen Taktzyklus, welches von beiden wäre dann wohl effizienter?

Abgesehen davon, dass jede von der CPU berechnete 2D Wiedergabe die ich bisher gesehen habe sau lahm verglichen zu der 2D Wiedergabe einer Grafikkarte war...
 
Zum testen der ganzen Sache hat man übrigens eine Radeon 4850 verwendet, nicht dass jemand glaubt das wäre wieder sone Nvidia Sache :rolleyes:
 
@BPhoenix: Die Karte muss für jedes Rechteck zwei Dreiecke zeichnen. Ein Dreieck allein ist schon aufwändiger. Dann liegen die meisten Bitmaps für Internetseiten schon in der richtigen Größe vor, d.h. es muss keine Transformation durchgeführt werden. Die CPU kann das berücksichtigen, die GPU transformiert einfach stur. Es würde länger dauern sich zu entscheiden, ob eine Transformation notwendig ist und die Füllrate ist sowieso vorhanden.
Das ganze ändert sich natürlich, wenn Transparenzen ins Spiel kommen, aber auch hier kann die CPU einige Tricks auffahren, wo die GPU einfach jedes Bild neu berechnet.
Der Punkt ist, dass eine CPU beim Darstellen der Webseite nicht langsamer sein muss als die GPU. Auch kann die GPU kann der CPU die Hauptarbeit nicht abnehmen, also die Daten zu laden und das Layout zu berechnen. DAS ist viel Aufwand.

Viel interessanter daran ist, dass durch die Berechnung auf der Grafikkarte evtl. Freiformelemente möglich werden. Das kann die CPU wirklich wesentlich schlechter als die GPU.
 
Zuletzt bearbeitet:
ja wie schauts jetzt mit OS X aus? Echt, wenn man da nicht immer up to date ist kommt man nicht mehr mit :(

mfg ordi
 
Xardas008 schrieb:
Direct2D ist unter Garantie schneller als OpenGL (wieso sonst werden die PC-Spiele heutzutage eher mit DirectX als mit OpenGL ausgestattet).

1.) Direct2D = reine 2D API -> OpenGL = reine 3D API = kein Vergleich möglich

2.) DirectX (bzw. eigentlich nur Direct3D) wird deshalb von den Spiele Entwickler bevorzugt, weil es die bessere Doku hat und von MS speziellen Support nur für PC Spiele Entwickler gibt. Aber schneller? :rolleyes: Doom 3 war bei mir unter Linux (nativ) im OpenGL Modus um einiges schneller als unter Windows mit D3D und das trotz misseralbler Ati Treiber!! :evillol:

Bei DirectX gibt es mit Microsoft nur einen einzigen Entwickler der sagt was rein kommt und was nicht. Bei OpenGL gibt es mit dem Khronos Konsortium über 100 Hersteller (Intel, AMD, nvidia, alles was Rang und Namen hat) aber die streiten wie die Kinder im Sandhaufen, deshalb verzögern sich neue Technologien oftmals ein wenig. Ausserdem hat OpenGL andere Prioritäten als kleine Kinder mit Effekten in Computerspielen glücklich zu machen. ;)

kurz: DirectX = für Gamer Kiddies und OpenGL für alles andere (ist Industrie Standard)

Übrigens wir eine spezielle Variante von OpenGL fürs Web entwickelt, nennt sich dann WebGL. Soll Mitte 2010 veröffentlicht werden.
 
Der Rechtschreibfehller ist noch drin:
"So sollen die Webseiten von Facebook, Google und Twitter mittels Direct2D doppelt so schnell dargestellt werden können wir bisher."

Aber sollte es dann verbessert nicht als heissen?
MfG
 
Das erklärt nun auch warum sich plötzlich Nvidia dazu entschlossen hat doch noch DirectX 10.1 Karten auf den Markt zu bringen zu diesem Zeitpunkt. Das ist wohl Voraussetzung für Direct2D.

Tja dumm gelaufen für Nvidia Karten Besitzer.
Sämtliche GTX Karten können nur 10.0 - die einzigen 10.1 Karten derzeit sind die GT240, GT218 und die GT216.

Ich denke das wird für so manchen der jetzt noch auf fallende Preis bei den High-End Nvidia Karten gehofft hat ein KO-Kriterium sein.
Da werden sich so manche Interviews rächen die in der Vergangenheit das DirectX 10.1 als unnötig oder kaum unterschiedlich zu Version 10 bezeichnet haben.
 
Zuletzt bearbeitet:
Throx schrieb:
kann man für so etwas nicht OpenGL oder das entsprechende Pedant benutzen? ...
Ich habe den Verdacht, dass hier ein Microsoft-Benennungs-Misverständnis besteht. Als Vista in der Endphase seiner Entwicklung stand, war allen klar, dass GDI/GDI+ vollständig durch "Codename Avalon", später umbenannt in Windows Presentation Foundation aus dem WinFX Paket ersetzt werden sollte - eine API die ua. Hardware-Beschleunigung durch die Grafikkarte erlaubt hat - aus unerfindlichen Gründen hat Microsoft das Gesamtpaket WinFX für die Öffentlichkeit in .Net 3.0 umbenannt, vielleicht um zu fördern, das moderne Anwendungen in .Net geschrieben werden, obwohl WinFX das nicht vorraussetzt. Und jetzt werden die gleichen Fähigkeiten, die Windows Presentation Foundation von Anfang an gehabt hat, neu vermarktet.

Die OpenSource-Alternative dazu dürfte das Cairo-Projekt sein.
 
Zuletzt bearbeitet: (Tippfehler)
Jup, wobei Cairo kein Direct2D-Backend hat. Das wird Mozilla jetzt wohl grade entwickeln ;)
Wie stehts eigentlich mit dem OpenGL-Backend von Cairo? Die letzten Benchmarks dazu sind schon ein paar Jahre alt und wirklich schneller wars damals noch nicht.
 
Zuletzt bearbeitet:
@BPhoenix: Die Karte muss für jedes Rechteck zwei Dreiecke zeichnen. Ein Dreieck allein ist schon aufwändiger. Dann liegen die meisten Bitmaps für Internetseiten schon in der richtigen Größe vor, d.h. es muss keine Transformation durchgeführt werden. Die CPU kann das berücksichtigen, die GPU transformiert einfach stur. Es würde länger dauern sich zu entscheiden, ob eine Transformation notwendig ist und die Füllrate ist sowieso vorhanden.
Naja das Problem bei deiner Überlegung ist, dass du von einer 3D Beschleunigung ausgehst! Man könnte aber z.B. ein einzelnes Objekt erzeugen, auf dieses eine Textur pappen welche sich im Speicher befindet und diese Textur dann mit Hilfe der GPU manipulieren, Bitmaps direkt in die Textur kopieren oder aber man nutzt den Framebuffer. Bei all dem ist keine 3D Beschleunigung nötig und somit auch nicht das Verhalten was du da beschreibst. Es gibt sicher sogar noch mehr Möglichkeiten und im Endeffekt denke ich dass es auf der GPU besser aufgehoben ist, zumindest die reine Darstellung.
 
@BPhoenix: Du meinst also Compositing. Natürlich geht das, aber wie "ein einzelnes Objekt erzeugen"? Da Webseiten relativ statisch sind macht die Erzeugung der Boxen einen Großteil des Aufwands aus. Wenn das wieder auf der CPU passiert gewinnt man nichts. Dann doch lieber alles in Polygonen modellieren, das kann die GPU auch allein.

€: Wobei... ob es überhaupt einen Vorteil hätte, wenn man für jede Box eine einzelne Textur erstellt und an die Graka schickt, statt sie einfach (inkl. Verdeckungsberechnung) direkt im Fenster zu zeichnen? Ich glaube nicht.
 
Zuletzt bearbeitet:
hoffentlich gilt das auch fürs Scrolling bei gezoomten Seiten. Ansonsten: witzlos.
 
Zurück
Oben