Dlaczego renderowanie w Rhino jest powolne?
Teraz możesz skupić się na wynikach trybu renderowania, aby określić, dlaczego i gdzie występowały spowolnienia. Wiele dobrze zorganizowanych plików bez wadliwej geometrii może spowodować zatrzymanie procesu renderowania w programie Rhino.
Innym powodem są mapy przezroczystości. Mogą istnieć tysiące obiektów odwołujących się do kilkudziesięciu materiałów, z których wiele zawiera „mapy przezroczystości”.
Dlaczego jest to problem? Nie ma gwarantowanej kolejności, w jakiej obiekty są rysowane w Rhino. Oznacza to, że dla każdego obiektu Rhino skonfiguruje i zainicjuje stos renderowania GPU (shadery, tekstury, ustawienia zawartości itp.) przed jego narysowaniem.
Te „przełączania kontekstu” mogą być bardzo czasochłonne i ostatecznie przeciążać procesor, co z kolei uniemożliwia pełne wykorzystanie potencjału procesora graficznego. W innych trybach „cieniowania” można wprowadzić pewne optymalizacje w celu ustalenia priorytetów, ponieważ Rhino wie, że dany zestaw lub grupa obiektów zostanie narysowana przy użyciu tego samego materiału. Ponadto przy użyciu „materiałów podobiektowych” w modelu Rhino nie może przeprowadzić tego samego rodzaju optymalizacji, więc są one całkowicie pomijane.
Problem pogłębia fakt, że „przezroczystość” wymaga nawet 4 oddzielnych przejść na obiekt, aby uzyskać najlepszy możliwy efekt przezroczystości. Dodając do tego wiele przejść wymaganych w fazie „cieniowania” (gdzie również należy zastosować mapy przezroczystości), wyświetlanie zaczyna grzęznąć w niekończącym się procesie inicjalizacji i przełączania kontekstu, co skutkuje bardzo słabą wydajnością.