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:
Ein vollständiger Strahl, der von der Kamera ausgeht und durch die Szene springt, bis sie endet.
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?
Antworten:
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.
quelle