Skocz do zawartości

Ciekawostka - wydajność w viewportach. "Słynna czkawka"


Marcin

Rekomendowane odpowiedzi

Witam,

 

Całkiem przypadkiem zauważyłem ciekawą przypadłość w Maxie.

Teraz pracuje w 2011 i nie wiem jak w poprzednich ale...

 

Pracując w ciężkiej scenie, gdzie jest pełno modeli, polygonów itp chyba wszyscy zauważyli odwieczny problem z "zaskakiwaniem" viewportu chociażby przy używaniu funkcji "Pan", Zoomowaniu, obracaniu itp.

 

Efekt jest widoczny jako lekkie przycięcie, przytrzymując środkowy przycisk np w widoku top mamy uczucie jak by nie zaskakiwał od razu, ale przesuwając dalej w ułamek sek. zaskakuje i już możemy sobie przesuwać.

 

Dzieje się tak gdy w "Selection filter" mamy zaznaczony tryb "All" lub jakikolwiek inny zawierający też tryb "Geometry", czyli możliwość zaznaczania geometrii w viewportach.

Teraz wystarczy najechać kursorem na obiekt i za pomocą np. środkowego przycisku przesunąć widok. W zależności jak ciężki jest ten obiekt, viewport przytnie się na ułamek sekundy ale po tym czasie działa płynnie.

 

Co innego dzieje się gdy np funkcji Pan (czyli przesuwania viewportu) użyjemy w miejscu gdzie tego modelu nie ma,np obok niego. W tym momencie wszystko działa płynnie, bez czkawki. To samo gdy ustawimy "Selection filter" np na Lights i tu możemy nawigować mając kursor nawet nad tym obiektem.

 

Spróbujcie przełączyć na coś innego, np na Lights i wtedy nawigować w viewportach. Wtedy nawet gdy kursor znajduje się nad tym ciężkim modelem wszystko chodzi ładnie.

 

Może ktoś się pokusi o analizę? :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 6
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

nie trzeba analizy, problem stary jak swiat, maja zle zaimplementowany "picker" obiektow, czyli transformacje z przestrzeni 2D do 3D... czyli nie buduja od razu bounding boxow czy vista buffera tylko robia to dopiero w ostatniej chwili.. i dlatego sie na moment przycina

mogliby to zoptymalizowac, np. regenerowac bounding boxy (rzutowane na przestrzen obrazu) tylko wtedy gdy zmienia sie geometria obiektu, nie chcialo im sie tego zrobic, dlatego robia to zawsze gdy zmienia sie tryb selekcji: filtruja liste obiektow, regeneruja bounding boxy (dla duzych obiektow to moze trwac, bo trzeba przegladac cala liste tarczy i uwzgledniajaca wszystkie modyfikatory - co prawda jest caache modyfikatorow ale tez nie jest zoptymalizowany pod tym wzgledem)

 

i juz na sam koniec, taki gwozdz do trumny wyswietlania czegokolwiek w maxie, nikt nie wie i sie pewnie nie dowie po jakiego grzyba kazdy widok odswieza sie po kilka razy i dlaczgeo nie jest to lepiej buforowan np. zmiany selekcji, zmiany okna, zmiany widoku - wszystko zrobione po najnizszej linii oporu czyli odswieza sie za kazdym razem, nawet wtedy gdy nie potrzeba

Odnośnik do komentarza
Udostępnij na innych stronach

wyprobowalem wszystkie opcje w selection mode i nie ma roznicy (max 2009)

 

Stwórz np 100 Kul z np 100 segmentami, połącz je w jeden obiekt, tak żeby jeden obiekt miał dużo poly.

 

Wtedy będziesz miał czkawkę, a jeśli nie to dodaj jeszcze więcej :)

 

Tu nie chodzi o FPS, bo to zupełnie co innego. Tylko co się dzieje kiedy jeden obiekt ma dużo polygonów w scenie.

Odnośnik do komentarza
Udostępnij na innych stronach

Ok zrobilem, nadal dla zadnej z opcji nie widac roznicy, byc moze nie jestem tak wyczulony, btw przy 10 milionach poly 12 fps na laptopie to chyba dobry wynik?

 

//edit: jest roznica, po prostu zapomnialem polaczyc ich w jeden obiekt

Edytowane przez jaccunio
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności