nmwsharp / nmwsharp/polyscope

updateVertexPositions too slow to use for real-time animation loops

Offen
#149 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.