updateVertexPositions too slow to use for real-time animation loops
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C++
- Sterne
- 2.2k
- Forks
- 242
- Ø Merge
- 11 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
I'm wondering if I'm using the updateVertexPositions and userCallback correctly. Currently I'm getting around 260 ms/f (4 FPS) when I update the positions of a mesh with 262,144 faces inside the draw loop callback.
If I run a similar animation in the libigl viewer I'm getting 19.9 ms/f (50 FPS). In that scenario I'm using set_vertices and callback_pre_draw.
Here's a video screenshot on my intel macbook pro running catalina:
https://user-images.githubusercontent.com/2241689/147182765-78b15f28-a1ce-4fc6-abf0-f6b44af2728e.mov
( Turning off the polyscope groundplane doesn't seem to change anything. I'm guessing the slowdown is happening in updateVertexPositions)
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne bei den updateVertexPositions- und userCallback-Einstiegspunkten, die innerhalb der Draw-Schleife verwendet werden, und vergleiche ihr Verhalten mit libigls set_vertices- und callback_pre_draw-Pfad. Profiliere die Animation mit 262,144 Flächen auf dem gemeldeten macOS-Setup, um die Ursache des Unterschieds bei der Frame-Zeit zu ermitteln. Als erledigt gilt die Aufgabe, wenn die Ursache und die korrekte Verwendung geklärt sind und entweder ein reproduzierbarer Performance-Vergleich oder eine dokumentierte Einschränkung vorliegt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- computer-graphics, performance
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100