Como todos contam "Raios por segundo"?

8

Recentemente, estou desenvolvendo um rastreador de caminho de Monte-Carlo. Para medir o desempenho do meu rastreador, decidi implementar um mecanismo simples para contar quantos raios ele pode rastrear em um segundo. Aí vem o problema, há duas maneiras de definir um único raio:

  1. Um raio completo, ou seja, começando pela câmera e pulando pela cena até terminar.

  2. O raio se originou de cada ponto de interseção.

Embora muitas pessoas usem "Raios por segundo" para medir o desempenho do traçador de raios / caminhos, como eles reconhecem "raios" não está claro para mim. Talvez alguém saiba?

D01phiN
fonte
11
Eu vi os dois, infelizmente. Não gosto de raios por segundo, significando exclusivamente raios primários e, em vez disso, sugiro "caminhos por segundo" ou "amostras por segundo". "Raio completo" não é um nome que você encontrará em outro lugar: um raio é um segmento de linha ilimitado. "Raios por segundo" é mal especificado para um rastreador de caminho: os raios das sombras contam, por exemplo? É uma métrica útil para uma estrutura de aceleração (ou seja, Embree ou OptiX), mas não para um renderizador.
30916 Karl Schmidt
Além disso, lembre-se de que as amostras por segundo ainda não são uma grande métrica do desempenho real, pois a qualidade da amostra varia muito dependendo dos detalhes da implementação. É provavelmente a melhor coisa que você pode fazer começando, pois as melhores soluções envolvem estimativas de variação bastante complexas.
Karl Schmidt
@KarlSchmidt Eu acho que você deve postar esses comentários como uma resposta;)
Nathan Reed
Provavelmente é uma boa ideia, sim. :)
Karl Schmidt

Respostas:

4

Eu vi os dois, infelizmente. Não gosto de raios por segundo, significando exclusivamente raios primários e, em vez disso, sugiro "caminhos por segundo" ou, melhor ainda, "amostras por segundo". "Raio completo" não é um termo comum: um raio é um segmento de linha (potencialmente ilimitado) e uma sequência de raios é um caminho.

Os raios por segundo no seu segundo sentido de projeção total de raios não são bem especificados para um rastreador de caminho: os raios das sombras contam, por exemplo? É uma métrica útil para avaliar uma estrutura de aceleração ou estrutura de teste de interseção (por exemplo, Embree ou OptiX), mas eu a evitaria para um renderizador.

Por fim, esteja ciente de que as amostras por segundo ainda não são uma grande métrica do desempenho real, pois a qualidade da amostra varia muito dependendo dos detalhes da implementação. É provavelmente a melhor coisa que você pode fazer começando, pois as melhores soluções envolvem estimativas de variação bastante complexas.

Karl Schmidt
fonte
Ótima resposta. Para acrescentar, como é difícil criar uma métrica universalmente significativa, sugiro que escolha uma que faça mais sentido / seja mais honesta para o seu caso de uso e explique o que você quer dizer com sua métrica. terminologia.
Alan Wolfe
Sim, obrigado por esclarecer meus pensamentos! Atualmente, eu escolho as "amostras por segundo", pois é fácil de entender e difícil de ser mal interpretado pela IMO. Eventualmente, implementarei algo que possa calcular a variação e medir o desempenho da renderização com base nisso.
D01phiN