Недавно я разрабатываю трассировщик Монте-Карло. Чтобы измерить производительность моего трассировщика, я решил реализовать простой механизм подсчета количества лучей, которые он может отследить за секунду. Тогда возникает проблема, есть два способа определить один луч:
Полный луч, т. Е. Начиная с камеры и подпрыгивая вокруг сцены, пока не закончится.
Луч исходил из каждой точки пересечения.
Хотя многие люди используют «Лучи в секунду» для измерения производительности трассировщика лучей / путей, мне неясно, как они распознают «лучи». Возможно, кто-нибудь знает?
Ответы:
Я видел оба, к сожалению. Я не люблю лучи в секунду, поскольку они означают исключительно первичные лучи, и вместо этого я бы предложил "количество путей в секунду" или, что еще лучше, "количество выборок в секунду". «Полный луч» не является общим термином: луч - это (потенциально неограниченный) отрезок, а последовательность лучей - это путь.
Лучи в секунду в вашем втором смысле общего количества приведенных лучей не очень хорошо определены для трассировщика: подсчитывает ли, например, теневые лучи? Это полезный показатель для оценки структуры ускорения или среды тестирования пересечений (т. Е. Embree или OptiX), но я бы избегал этого для средства визуализации.
Наконец, имейте в виду, что количество выборок в секунду все еще не является хорошим показателем реальной производительности, поскольку качество выборки будет сильно различаться в зависимости от деталей реализации. Возможно, это лучшее, что вы можете сделать, начиная с самого начала, так как лучшие решения включают довольно сложные оценки дисперсии.
источник