Wie zählt jeder "Strahlen pro Sekunde"?

8

Kürzlich entwickle ich einen Monte-Carlo-Pfad-Tracer. Um die Leistung meines Tracers zu messen, habe ich beschlossen, einen einfachen Mechanismus zu implementieren, um zu zählen, wie viele Strahlen er in einer Sekunde verfolgen kann. Dann kommt hier das Problem, es gibt zwei Möglichkeiten, einen einzelnen Strahl zu definieren:

  1. Ein vollständiger Strahl, der von der Kamera ausgeht und durch die Szene springt, bis sie endet.

  2. Der Strahl stammte von jedem Schnittpunkt.

Obwohl viele Leute "Strahlen pro Sekunde" verwenden, um die Leistung des Ray / Path Tracers zu messen, ist mir unklar, wie sie "Strahlen" erkennen. Vielleicht weiß es jemand?

D01phiN
quelle
1
Ich habe leider beide gesehen. Ich mag Strahlen pro Sekunde nicht als ausschließlich Primärstrahlen und würde stattdessen "Pfade pro Sekunde" oder "Proben pro Sekunde" vorschlagen. "Vollständiger Strahl" ist kein Name, den Sie anderswo finden: Ein Strahl ist ein unbegrenztes Liniensegment. "Strahlen pro Sekunde" ist für einen Pfad-Tracer schlecht spezifiziert: Zählen beispielsweise Schattenstrahlen? Es ist eine nützliche Metrik für ein Beschleunigungsframework (z. B. Embree oder OptiX), jedoch kein Renderer.
Karl Schmidt
Beachten Sie auch, dass Samples pro Sekunde immer noch keine gute Messgröße für die tatsächliche Leistung sind, da die Sample-Qualität je nach Implementierungsdetails stark variiert. Es ist wahrscheinlich das Beste, was Sie tun können, wenn Sie anfangen, da die besseren Lösungen ziemlich komplexe Varianzschätzungen beinhalten.
Karl Schmidt
@ KarlSchmidt Ich denke, Sie sollten diese Kommentare als Antwort posten;)
Nathan Reed
Wahrscheinlich eine gute Idee, ja. :)
Karl Schmidt

Antworten:

4

Ich habe leider beide gesehen. Ich mag keine Strahlen pro Sekunde, da sie ausschließlich Primärstrahlen bedeuten, und ich würde stattdessen "Pfade pro Sekunde" oder besser "Proben pro Sekunde" vorschlagen. "Vollständiger Strahl" ist kein gebräuchlicher Begriff: Ein Strahl ist ein (möglicherweise unbegrenztes) Liniensegment und eine Folge von Strahlen ist ein Pfad.

Strahlen pro Sekunde in Ihrem zweiten Sinne für Total Ray Casts sind für einen Pfad-Tracer nicht genau spezifiziert: Zählen beispielsweise Schattenstrahlen? Es ist eine nützliche Metrik für die Bewertung einer Beschleunigungsstruktur oder eines Frameworks für Kreuzungstests (z. B. Embree oder OptiX), aber ich würde sie für einen Renderer vermeiden.

Beachten Sie schließlich, dass Stichproben pro Sekunde immer noch keine gute Messgröße für die tatsächliche Leistung sind, da die Stichprobenqualität je nach Implementierungsdetails stark variiert. Es ist wahrscheinlich das Beste, was Sie tun können, wenn Sie anfangen, da die besseren Lösungen ziemlich komplexe Varianzschätzungen beinhalten.

Karl Schmidt
quelle
Gute Antwort. Um es hinzuzufügen, da es schwierig ist, eine Metrik zu finden, die universell aussagekräftig ist, würde ich vorschlagen, dass Sie eine auswählen, die für Ihren Anwendungsfall am sinnvollsten / ehrlichsten ist, und sicherstellen, dass Sie erklären, was Sie mit Ihrer meinen Terminologie.
Alan Wolfe
Ja richtig, danke, dass du meine Gedanken geklärt hast! Derzeit wähle ich die "Samples per Second", da es leicht zu verstehen und schwer zu missverstehen ist, IMO. Ich werde irgendwann etwas implementieren, das die Varianz berechnen und die Renderleistung darauf basierend messen kann.
D01phiN