ich auf der Zeichnung große gerichtete azyklische Graphen in WebGL arbeite: http://www-graphics.stanford.edu/papers/h3/eine Baumstruktur 3D-Zeichnung in WebGL
An diesem Punkt habe ich eine einfache Zwei-Ebene graph-Rendering:
Leistung ist schrecklich - es dauert etwa 1,5-2 Sekunden, um diese Sache zu machen. Ich bin kein OpenGL-Experte, also hier ist der allgemeine Ansatz, den ich nehme. Vielleicht kann jemand auf einige Optimierungen hinweisen, die das Rendern beschleunigen.
Ich bin erstaunt, wie lange es dauert, die Modelview Matrix und Puffer an die Grafikkarte zu drücken. Hier wird der Löwenanteil der Zeit verschwendet. Sollte ich stattdessen MODELVIEW-Transformationen im Vertex-Shader machen?
Dies führt mich zu glauben, dass die Modelview Matrix manipulieren und es einmal für jeden Knoten drückt nicht eine schlechte Praxis sein sollte, aber die Zeiten liegen nicht:
Wie hast du es mal gemacht? Timings lügen. Einige Browser sind parallelisiert, so dass das Timing schwierig ist. In jedem Fall, sagen Sie, es dauert 1,5 bis 2 Sekunden pro Bild? Ich verstehe nicht ganz, was Sie tun, aber einfache Szene Grafik mit 24 Würfeln alle zu etwas Mitte parented sollte bei 60hz laufen gut gehen. Sind Sie (1) einmal Shader kompilieren, nicht in der Render-Schleife (2) Keine glGet-Funktionen in Ihrer Render-Schleife aufrufen? (3) Laden Sie Ihre Vertex-Daten nur einmal, nicht in Ihrer Render-Schleife hoch? Hoffe, das sind keine dummen Fragen, aber Sie sollten in der Lage sein ~ 1000 Würfel mit einer angemessenen Geschwindigkeit zu zeichnen. – gman