Ich habe zwei .dae Dateien, eine hat 1 Million Gesichter und die zweite hat 20 Millionen Gesichter. Ich importierte sie mit ColladaLoader. Das Problem ist, dass die 20 Millionen Gesichter mit 30fps und die 1 Million Gesichter mit 2fps laufen. Wie ist das? Wie kann ich das beheben?Threejs Millionen Gesichter Rendering Performace Collada Dateien
Antwort
Sie müssen überprüfen, wie viele Netze in diesen Modellen vorhanden sind. Die Leistung hängt weitgehend von der Anzahl der Zeichenaufrufe (Meshes) in einem Modell ab, da mehr Draw-Aufrufe mehr Daten an die GPU weitergeben.
Für ein Beispiel hatte ich ein Netz mit 3,5 Millionen Flächen und es hatte mehr als 1000 Maschen. Ich habe 20 fps dafür. Aber wenn ich alle Meshes zu einem einzigen Mesh verschmolz, bekam ich 60 fps.
Die Lösung dieses Problems besteht darin, die Geometrien der Meshes zu einem einzigen zusammenzuführen und ein einzelnes Mesh mit diesen Geometrien zu erstellen. Für BufferGeometry
können Sie das gesamte Vertex-Array, das Farb-Array und das normale Array zusammenführen. Zum Zusammenführen von Indexarrays müssen Sie den Basisvertex für jeden Indexwert hinzufügen.
- 1. Wie referenzierte COLLADA-Dateien in ThreeJs geladen werden
- 2. ThreeJS Schatten nicht Rendering
- 3. 3D-Rendering-Leistung/Pipeline für Detailstufe (LOD) meshes in threejs
- 4. Skalierbares (halbe Millionen Dateien) Versionskontrollsystem
- 5. ThreeJS-Geometrie spiegeln
- 6. Schnellste Möglichkeit, Millionen von Dateien zu löschen
- 7. Wie Parsen Collada-Dateien für WebGL korrekt? (Beispiel enthalten)
- 8. Beispiel COLLADA-Dateien für die Entwicklung eines Importeurs?
- 9. COLLADA FX SID Auflösung
- 10. Kreuzung und Collada-Three.JS
- 11. Threejs Texture
- 12. Threejs Kantenhelfer
- 13. Einschließlich Texturdateien in die Collada-Datei
- 14. ThreeJs THREE.Mesh.position Ausgabe
- 15. Emacs Gnus Gesichter (Fonts)
- 16. Morphing 2 Gesichter Bilder
- 17. Gesichter Backing Bean Initialisierung
- 18. p: Fileupload prime Gesichter
- 19. Zwei Gesichter Vergleich
- 20. threejs Colladaloader: Wie man die Szene in object3d umwandelt
- 21. tfs vs svn performace über WAN
- 22. Symfony2 Shared Host schlecht Performace vielleicht Cache?
- 23. Beste Entwickler-Workstation-Konfiguration für Build Performace?
- 24. Ist COLLADA ein totes Format?
- 25. Performace-Tuning auf Sitzungsebene beim Generieren von Flat-Files als Quelle als Datenbank
- 26. Volume in WebGL Rendering
- 27. THREEjs Raycaster interceptObject Probleme
- 28. Threejs Canvas Hintergrund schwarz
- 29. Transparente Objekte in Threejs
- 30. ThreeJS animierte Lichtfarbe
Nicht nur die Anzahl der Gesichter bestimmt die Leistung. Können Sie vielleicht ein Codebeispiel bereitstellen? Andere Faktoren könnten sein: Anzahl der Meshes, Anzahl und Art der Materialien, Anzahl der tatsächlich gerenderten Gesichter und so weiter. –