Skocz do zawartości

Wydajnosc_poligony czy tekstury?


trident

Rekomendowane odpowiedzi

  • Odpowiedzi 9
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Ja tam się za bardzo nie znam, ale z tego co wiem, to to są dwie zupełnie różne sprawy... To znaczy że jak masz model powiedzmy 5000 poly, to jest on na tyle duży że odpowiednia będzie do niego tekstura przynajmniej 512x512 lub większa, dając do niego tekst 256x256 wcale nie przyśpieszysz za bardzo grafiki, a będzie to wyglądało koszmarnie.

 

Zresztą pewnie i tak wszystko zależy od silnika :P Ogólnie - trzymaj się pewnych standartów - mało poly - mala tekstura, więcej poly większa (i więcej map).

 

mam nadzieję że to co napisałem ma jakiś sens :D

Odnośnik do komentarza
Udostępnij na innych stronach

Co bardziej wplywa na wydajnosc grafiki 3d, zwiekszanie liczby poligonow czy stosowanie wiekszych rozmiarowo tekstur?

ja bym powiedzial ze ilosc stosowanych textur na obiket oraz ich wielkosc, wiadomo ze jak walniesz pare 2048x2048 to istnieje mozliwosc zadlawienia sie karty;) wszystko zalezy od karty i sposobu nakladania textur czy tez odpowiedniego sposobu ich manipulacją-bo tych jest 3.

yhm dla dziesiejszych kart nie stanowi problemu wyrenderowanie scenki z 500k(np 3obiekty, twistowanie w real time na vertex shaderze, oswietlenie hdr ipt) to juz jest standard. Najlepiej jest przesylac b.dużą ilosc wierzkolow stosunkowo jak najrzadziej, bo przesylanie czesciej a po trochu obniza wydajnosc. do tego sluzą vertex buffery czy array'e...

zalezy takze to od tego czy tworzysz pod jakąs gierke-wtedy oszczednosc ma ogromne znaczenie czy kladziesz/kladziecie ;p moze na jakosc a nie wydajnosc np w programach demonstracyjnych czy benchmarkach.

 

tak więc sprecyzuj się nieco bo inaczej nikt ci tu nie da odpowiednich informacji.

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

paradoksalnie w grach wąskim gardłem może być zaczytywanie z dysku, więc jak w grze jest dużo małych obiektów to będzie mniej fpsów niż jak jest mniej dużych obiektów przy polycouncie constant. a ponieważ obiekty dzielone są wg tekstur to lepiej jest mieć kilka dużych tekstur niż wiele małych.

najlepiej poczytaj sobie jakieś dokumenty na stronie nvidii, zapoznaj się z perfhudem itp.

Odnośnik do komentarza
Udostępnij na innych stronach

aha w przypadku real time raytracerów na ogol jest tak ze im wiecej poly tym wydajnosc coraz mniej spada :D

istnieje pare znakomitych raytracerow-wbrew pozorom ;p

 

innym przykladem jest to że na czarnym ekranie mozesz miec np 700fps ;]

po wyswietleniu glupiego textu z obrazka mozesz miec juz polowe z tej liczby. natomiast gdy silnik bardziej obciazony(scenka, cienie i inne pierdoly) zmiany jakie zachodzą w wyswietleniu tegoz textu są pomijalnie małe...

 

EDIT: remi

warto wówczas stosować tzw referencje. przykladowo robiąc płotek(cos co ma duzo powtarzajacych sie elementow), cokolwiek

robisz sobie np dwa-trzy rodzaje deskek i wiadomo ze w koncu bedziesz je powielał, wówczas koder pisząc exporter moglby sobie sprytnie rozplanować to i zapisywać tylko współrzędne nowych obiektow. co za tym idzie pliki zajmują mniej, szybciej działa jako całośc, mniej zaczytuje . wyswietla podstawe a następnie wg wspolrzednych odpowiednio sobie powiela to.

EDIT2: najbardziej jednak znacząco na obniżenie wydajnosci ma sie ilosc zastosowanych dynamicznych swiatel do duzej liczby poligonów. of course można napisać shader tzw multple lights i wtedy problem sie zmniejsza nawet na 50światłach w OGL(mozna pominac ograniczenie 8swiatel)....

tylko po co ? tam gdzie sie da należy wypalać lightmapy i inne pierdolki ktore po to ktos wymyslil. lightmapy taka stara technologia a do dzis stosowana :)

oraz kolejnym czynnikiem jest model zastosowanego zastosowanego oswietlenia(per pixel or per vertex), oraz rodzaj shadingu i specular... blinn, phong etc...

w przypadku per vertex korzystnym posunięciem dla teamow ktore nie mają pojęcia jak ulepszyc jakosc generowanej grafiki polecam zapoznanie sie z rozszerzeniem EXT_seperate_specular_color. modele wówczas pięknie wyglądają jak na per vertex ;) a wydajnosc az tak nie spada.

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

ja robiłem kiedys nieco testów z fps'ami w Q3 i róznica wydajności pomiędzy max. i min. teksturami była w granicy błedu statystycznego, a przy zmianie dokładnosci geometrycznej to już kilkanascie procent (jesli nie więcej)

Odnośnik do komentarza
Udostępnij na innych stronach

całkiem możliwe, kazdy engine zachowuje sie inaczej.

moje przyklady odnoszą sie w wiekszosci przypadków autorskich enginów oraz do własnego doświadczenia. komercyjnymi nawet nie zaprzątam sobie głowy.

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

Dzieki za odpowiedzi, na moim obecnym poziomie zawansowania w grafice 3d zastosuje sie do najprostszych rad "wywazenia pomiedzy iloscia poligonow a wielkoscia tekstur" a na ta cala skomplikowana reszte napewno tez przyjdzie czas.

 

pozdro

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