Według naszych danych Hydra przewyższa wszystkie istniejące systemy renderowania pod względem prędkości. Przez siedem lat wybraliśmy i udoskonaliliśmy najbardziej praktyczne algorytmy, które czynią Hydrę Renderer optymalną implementacją najbardziej zaawansowanych podejść do obliczania globalnego oświetlenia całkowicie na GPU!
Rysunek 1. Porównanie systemów renderowania według względnego wskaźnika wydajności w różnych scenach.
Rysunek 2. Porównanie systemów renderowania według względnego wskaźnika wydajności (średnia dla wszystkich scen)
Technika dopasowywania i porównywania obrazów
Dla każdego systemu i każdego scenariusza obliczyliśmy nasz własny standard, który następnie porównano z. Ta metoda pozwala wykluczyć różnice we wdrażaniu poszczególnych drobnych punktów i skupić się na porównaniu szybkości integracji (tj. Obliczaniu GI)
Dla wszystkich systemów dokonano dwóch typów porównań: po pierwsze, zarejestrowano mały błąd (o ile to możliwe) i zmierzono czas syntezy obrazu. Następnie zarejestrowano czas syntezy obrazu (zwykle mały, w ciągu 1 minuty) i zmierzono błąd. Porównano więc jakość obrazów w ustalonym czasie. Spośród dwóch porównań dla systemów z rozwiązaniem stronniczym wynikowy wykres zawierał średni wskaźnik wydajności. Metoda ta pozwala częściowo rozwiązać problem optymalizacji ustawień dla systemów z odchylonym rozwiązaniem, ponieważ oba typy optymalizacji (zorientowanej na jakość i szybkość) wpływają na wynik końcowy. W przypadku systemów z bezstronnym rozwiązaniem stosunek szybkości do jakości dla obu typów porównań jest taki sam.
Jak mierzymy prędkość?
Wiadomo, że czas obliczania natężenia oświetlenia w znacznikach jest odwrotnie proporcjonalny do kwadratu błędu. Oznacza to, że aby zwiększyć dokładność o 2 razy, będziesz musiał renderować 4 razy dłużej.
Aby ocenić wydajność systemów renderowania na różnych scenach i porównać je ze sobą, wprowadzamy bezwzględny indeks wydajności
Indeks absolutnej wydajności
Gdzie MSE jest błędem kwadratowym obliczonym za pomocą programu „The compressonator”, a t to czas w sekundach. Jeśli scena, warunki oświetlenia i wyposażenie są stałe, stosunek wskaźników wydajności dla 2 systemów będzie odpowiednio odzwierciedlał stosunek wydajności tych systemów.
Jednak zależność porównania na scenie, sprzętu i bezwzględnych wartości wskaźnika zmniejsza widoczność porównania.
Z tego powodu wprowadzamy wskaźnik względnej wydajności
Względny wskaźnik wydajności
Względny wskaźnik wydajności będzie wynosił 100 punktów dla systemu, który jest najszybszy na tym etapie. Pozostałe systemy otrzymają punkty proporcjonalnie do tego, ile są wolniejsze. Zatem względny wskaźnik wydajności nie zależy od złożoności sceny i może być uśredniony dla wszystkich scen testowych, oceniając, w jaki sposób system ujawnił się w kompleksie.
Skrypty testowe
Numer scenariusza 1. VRay (4 minuty, MSE = 5,8), Corona (VCM, 1,5 minuty, MSE = 3,9), Hydra (1,5 minuty, MSE = 3,4)
„Cornell Box” z lustrzanym czajnikiem. Pomimo swojej prostoty, w tym scenariuszu są prawie wszystkie główne efekty trójwymiarowej grafiki komputerowej: hałaśliwe oświetlenie pierwotne i miękkie cienie, odbłyski światła ze źródła światła, odbite substancje żrące. Jest to geometrycznie prosta scena, która tłumi standardowe straty wydajności procesorów graficznych ray tracer na konsekwencje, a procesory ray tracer na pamięci podręcznej nie trafiają.
Numer scenariusza 2. VRayRT (1 minuta, MSE = 1,7), Corona (1 minuta, MSE = 2,3), Hydra (1 minuta, MSE = 2,0)
Scena plenerowa. Ta scena, złożona geometrycznie (ze względu na trawę), z punktu widzenia oświetlenia jest dość prosta - jednolita panorama i jedno stosunkowo słabe źródło światła. Czas syntezy obrazu na takiej scenie powinien wynikać głównie z szybkości śledzenia promieni.
Numer scenariusza 3. VRay (1 minuta, MSE = 7,3), Corona (1 minuta, MSE = 12,6), Hydra (filtr ML, 1 minuta, MSE = 3,8)
Górny korytarz Crytek Sponza. W tym scenariuszu prawie wszystkie widoczne światła są drugorzędne. Drugi i trzeci odbity rozproszony mają silny udział, więc ostateczna kolekcja powinna dać znaczne przyspieszenie. Ten scenariusz najdokładniej odzwierciedla tempo obliczania oświetlenia dodatkowego.
Numer scenariusza 4. VRay (2 minuty, MSE = 8,5), Corona (2 minuty, MSE = 15,1), Hydra (Light cache, 2 minuty, MSE = 4,5)
Sala konferencyjna. Złożoność obliczania oświetlenia w tej scenie to duża liczba źródeł oświetlenia. Pod sufitem znajduje się 20 źródeł światła. Jednak każde ze źródeł świeci na stosunkowo niewielkim obszarze sceny, dlatego jeśli skuteczny system próbkowania źródeł jest zaimplementowany w systemie renderowania, w każdym konkretnym punkcie sceny większość źródeł powinna być skutecznie odrzucana lub brana pod uwagę stosunkowo rzadko.
Scenariusz numer 5. VRay (3 minuty, MSE = 7,3), Corona (2 minuty, MSE = 4,0), Hydra (filtr ML, 2 minuty, MSE = 3,0?)
Oświetlenie „Sky Portals”. Ta scena pokazuje dość typowy scenariusz obliczania światła dziennego w pomieszczeniu. W takim scenariuszu źródła światła umieszczane są przed oknami, imitując światło ze środowiska zewnętrznego, przenikając przez okno. To źródło nazywa się Sky Portal. Właściwie wdrożony portal niebiański jest całkowicie poprawnym rozwiązaniem. Takie źródło światła jest sposobem obliczania oświetlenia otoczenia za pomocą wyraźnej strategii (strategia pobierania próbek światła). Innymi słowy, niebiański portal nie jest niezależnym źródłem światła, a jedynie wskazówką do śledzenia promieni Monte-Carlo, co umożliwia obliczenie oświetlenia z otoczenia bardziej efektywnie, gdy stosunkowo mała część środowiska jest widoczna z wnętrza pomieszczenia. Jednak przy użyciu portali niebieskich obliczenie oświetlenia podstawowego jest nieco skomplikowane z 2 powodów. Po pierwsze, niebiańskie portale mogą być znacznych rozmiarów, w wyniku czego obliczanie miękkich cieni jest spowalniane. Po drugie, liczba źródeł tego typu może być dość duża (5-10), co dodatkowo komplikuje obliczanie oświetlenia podstawowego. Na tym etapie zastosowano różne kombinacje metod dla różnych systemów, które najlepiej się pokazały.
Scenariusz numer 6. VRay (20 minut, MSE = 5,5), Corona (10 minut, MSE = 5,0), Hydra (filtr ML, 10 minut, MSE = 5,0?)
Test MLT (Metropolis Light Transport). W tym scenariuszu niewielka część sceny jest oświetlona wyjątkowo jasnym kierunkowym źródłem światła imitującym słońce. Dodatkowe oświetlenie spowodowane takim oświetleniem jest trudne do obliczenia (próbkowanie twarde). Mapy fotonów, w połączeniu z kolekcją końcową (jak również mapy jasności), pochłaniają wzrost czasu obliczeń tylko przez przyspieszenie obliczania składnika z trzeciego lub więcej wielokrotnych odbić. Jednak obliczanie składnika z drugiego odbicia światła za pomocą tej metody nie jest przyspieszane. Z drugiej strony, algorytm Metropolis Light Transfer Algorithm (MLT) i podobne algorytmy, pod warunkiem, że są poprawnie zaimplementowane w konkretnym systemie, powinny dać znaczne przyspieszenie na tej scenie w porównaniu z tradycyjną metodą Monte Carlo i ostateczną kolekcją.
Scenariusz numer 7. VRay (2 minuty, MSE = 7,8), Corona (1 min, MSE = 10,5), Hydra (1 min, MSE = 5,6)
Substancje żrące w wodzie. W tej scenie występują żrące odbicie i podwodna kaustyka typu SDS (Specular Diffuse Specular), które są trudne do obliczenia. IRay i VRayRT nie byli w stanie poprawnie obliczyć tego typu kaustyki przez rozsądny czas, chociaż system IRay jest w stanie skutecznie rozważyć kaustyki bezpośrednio widoczne (ESDL).
>>>>>>>> Dane porównane
>>>>>>>> Sceny
Jak mierzymy prędkość?Filtr ML, 2 minuty, MSE = 3,0?
Filtr ML, 10 minut, MSE = 5,0?