mmorpg.pl


Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 46 ]  Przejdź na stronę Poprzednia strona  1, 2, 3  Następna strona
Autor Wiadomość
**

Posty: 368
Dołączył(a): 13.05.2008
Offline
PostNapisane: 24 wrz 2008, 14:29 
Cytuj  
Hmm, a skad w takim razie opcja garbage collecting wymuszana przez niektore addony?
A.


_________________
www.miniwojna.blogspot.com

****
Avatar użytkownika

Posty: 1594
Dołączył(a): 17.07.2004
Offline
PostNapisane: 24 wrz 2008, 14:36 
Cytuj  
Nestor napisał(a):
To moze byc Garbage Collector, ale uzycie takiego mechanizmu w mmo gdzie jest pelno dynamicznych danych by poprostu zabilo komputer. Wow jakos bez tego dziala :P


w wowie jest garbage collector uruchamiany co <odstep_czasu>.


_________________
Obrazek
Obrazek

***
Avatar użytkownika

Posty: 16876
Dołączył(a): 12.09.2005
Offline
PostNapisane: 24 wrz 2008, 14:50 
Cytuj  
Ethan napisał(a):
Ash napisał(a):
"widzialem" zrodla silnika na ktorym zostal zrobiony war. jak ktos sie tym interesuje to niech sciagnie z internetow sobie jakas piracka wersje gamebryo i zobaczy jak wygladaja techdema ktore tam sa zamieszczone.
zenua. te same efekty na pozostalych 'wspolczesnych' silnikach sa osiagane znacznie wydajniej.
Troche sie czlowiek przestaje dziwic ze war wyglada jak wyglada...

To trochę dziwne co piszesz, bo z tego co mi wiadomo na tym silniku, (nie wiem czy na tej samej wersji) stworzono m. in. Oblivion i Fallout 3, które graficznie są powalające.

Problem w tym, ze w Oblivionie z gamebryo (strzelam, nigdy nie widzialem kodu Obliviona, ale domyslam sie po strukturze samej gry), zostało hmm. nie wiele..Pewnie jakiś bazowy framework + zarzadzanie plikami.

Z innej beczki. Na tym samym silniku dziala Civ IV i pochodne. Roznica jest kosmiczna.

Ale uh, eh. Silnik, mozna wymienic. W ostatecznosci moga kupić licencje na coś porządnego. IMO przerobienie, porzadnego silnika, tak zeby spełniał aktualne wymagania jest prostsze, niż pierdolenie się z czymś, co i tak trzeba poprawiać praktycznie od zera..
Cytuj:
Jeszcze dochodzi managed DirectX

Nie masz. MS zawiesił ten projekt i wszystko co w nim było/miało być ląduje teraz w XNA.
Cytuj:
To moze byc Garbage Collector

To jest na 100% GC. Nie widze innej mozliwosci.
Problem w tym, ze GC generlanie sprawdza sie srednio w jezykach do tego nie przystosowanych (w Javie dziala dobrze w .NET też) i nie czuć go aż tak strasznie.. Kiedyś robiłem test, który na chama ładował ogromne ilości danych do pamięci a GC miał je usuwać. Nie było czuć dużego spadku wydajności.(tzn. az tak duzego, wiadomo ze na Dual albo Quadzie, nie było by nawet czkawki).
Cytuj:
a gry z tego co mi się wydaje robią w c++ który takowego chyba nie posiada a pamięć zwalnia się różnymi algorytmami które powinny jak najmniej obciążać procesor

Zobacz na gamedev.pl tam jest pamieta dyskusja JCoder w temacie o JAvie (dlugi temat), przez wiekszosc czasu odbijaja tam pileczke, ale mozna fajne rzeczy przeczytac :D.
Cytuj:
ale uzycie takiego mechanizmu w mmo gdzie jest pelno dynamicznych danych by poprostu zabilo

Jaki dynamicznych danych ? Chyba ze mowisz o roznej ilosci postaci na monitorze, no to sie zgodze :P.


_________________
viewtopic.php?t=6093
PODPISY: banery, sig'i, podpisy muszą zgadzac sie tematycznie z profilem forum, nie mogą być animowane, nie mogą przekraczac wielkości 100KB i wymiarow 90 (wysokość) x 400 (szerokosc).

******
Avatar użytkownika

Posty: 3185
Dołączył(a): 13.12.2004
Offline
PostNapisane: 24 wrz 2008, 15:48 
Cytuj  
W takim razie WAR ma najchujowszy GC, pisany przez studenta na kolanie przed zaliczeniem, na papierze sniadaniowym.

I tak, ilosc zmieniajacych sie postaci, czarow, akcji, to sa dane dynamiczne, same postacie poza iloscia tez ;p


_________________
Nestor#1522

****

Posty: 1093
Dołączył(a): 15.10.2006
Offline
PostNapisane: 24 wrz 2008, 15:55 
Cytuj  
inside dzięki za linka poczytam trochę aby uzupełnić wiedzę bo mnie zaciekawił temat :)
pozdrawiam wszystkich


_________________
no more wow...

***
Avatar użytkownika

Posty: 16876
Dołączył(a): 12.09.2005
Offline
PostNapisane: 24 wrz 2008, 16:00 
Cytuj  
Cytuj:
I tak, ilosc zmieniajacych sie postaci, czarow, akcji, to sa dane dynamiczne, same postacie poza iloscia tez ;p

Fakt.
Co tylko bardziej pokazuje jak chujowo jest to zrobione. GC chyba proboje usunac kazda rzecz zaraz po jej wykonaniu (full automat ftw ?). Nawet w grach pisanych w .NET GC wywołuję się ręcznie i stara sie dziada przyblokować, do momentu w którym dzieje sie mało rzeczy -;-.

@dark_lord
jest jeszcze gamedev.net "troche" większa wersja :D.


_________________
viewtopic.php?t=6093
PODPISY: banery, sig'i, podpisy muszą zgadzac sie tematycznie z profilem forum, nie mogą być animowane, nie mogą przekraczac wielkości 100KB i wymiarow 90 (wysokość) x 400 (szerokosc).

****
Avatar użytkownika

Posty: 1139
Dołączył(a): 6.01.2002
Offline
PostNapisane: 24 wrz 2008, 18:10 
Cytuj  
InkubPendragon napisał(a):
Hmm, a skad w takim razie opcja garbage collecting wymuszana przez niektore addony?
A.


A stad ze ui to zewnetrzny kod nad ktrym mythic nie ma zadnej wladzy wiec zbieranie smieci to koniecznosc zeby zapobiec wciaganiu pamieci bez potrzeby przez addony. Natomiast to dotyczy addonow i nie ma nic wspolnego z silnikiem.

**

Posty: 368
Dołączył(a): 13.05.2008
Offline
PostNapisane: 24 wrz 2008, 19:49 
Cytuj  
ja pisze o wowie... i tam jest GC.
A.


_________________
www.miniwojna.blogspot.com

****
Avatar użytkownika

Posty: 1594
Dołączył(a): 17.07.2004
Offline
PostNapisane: 24 wrz 2008, 20:02 
Cytuj  
exodus:
po piersze, InkubPendragon mowi o wowie a nie o WAR.
po drugie - addony maja wszystko wspolnego z silnikiem. Tzn ze jak addon zrobi kupe to silnik ma ja po nim posprzatac.

po trzecie "A stad ze ui to zewnetrzny kod nad ktrym mythic nie ma zadnej wladzy wiec zbieranie smieci to koniecznosc zeby zapobiec wciaganiu pamieci bez potrzeby przez addony."
nie wiem o co ci tutaj chodzi. Garbage Collecting to nie tylko mechanizm ktory oczyszcza pamiec z tego co zrobia addony. Jak masz w pamieci co nosil Jozek Marauder w Ostland a Jozka nie widzisz juz na ekranie to mozna go uznac za nieaktywnego i przy najblizszej sesji GC powinien zostac wyrzucony z pamieci.
Gdybys wyrzucal wszystko 'na biezaco' to moglbys miec problemy z ciaglym zapisem/odczytem do ramu co nie jest zdrowe.


co do GC w grach to heh... no w gamebryo jest jakis wbudowany mechanizm automatycznego usuwania referencji do obiektow ktore sobie znikna (caly system smartPointer'ow), ale firma pokroju Mythica ktora pisze sobie wlasna wielka gre na pewno ma wlasny GC ktory dziala inteligentniej.
wielowatkowosc w gamebryo pozwala na nadanie watkowi priorytetu i dzieki temu mozna garbage collecting wrzucic jako watek o niskim priorytecie ktory bedzie sobie dzialal dlugo, ale nie bedzie zzeral fpsow.

Jestem prawie pewny ze tak to jest zrobione, albo przynajmniej ze tak to powinno byc zrobione, ale moze byc jakis bug albo w samym GC albo w jego wywolaniu, ktory powoduje te brzydkie przyciecia.

Albo to, albo po prostu GC dziala poprawnie, tylko jest jakis okropny wyciek pamieci, a GC jest wywolywany przy odpowiednio wysokim zasraniu RAMu, i dlatego jest wywolywany tak czesto.

Tak czy inaczej - to jest do naprawienia. Ja sie bardziej o performance boje ;)

Nic to, wrocilem do domu, ide testowac metode z pierwszego postu w tym threadzie i zaraz zdam relacje ;P


_________________
Obrazek
Obrazek

******
Avatar użytkownika

Posty: 3185
Dołączył(a): 13.12.2004
Offline
PostNapisane: 24 wrz 2008, 20:14 
Cytuj  
Single monitor performance dziala, ale nijak sie to ma do czkawek tej gry.


_________________
Nestor#1522

****
Avatar użytkownika

Posty: 1139
Dołączył(a): 6.01.2002
Offline
PostNapisane: 24 wrz 2008, 20:31 
Cytuj  
Ash napisał(a):
exodus:
po piersze, InkubPendragon mowi o wowie a nie o WAR.
po drugie - addony maja wszystko wspolnego z silnikiem. Tzn ze jak addon zrobi kupe to silnik ma ja po nim posprzatac.


Nie, cala filozofia addonow sprowadza sie do tego ze silnik nie musi absolutnie nic robic, wszystkim zajmuje sie lua wlacznie ze swoim wlasnym GC.

Cytuj:
nie wiem o co ci tutaj chodzi. Garbage Collecting to nie tylko mechanizm ktory oczyszcza pamiec z tego co zrobia addony. Jak masz w pamieci co nosil Jozek Marauder w Ostland a Jozka nie widzisz juz na ekranie to mozna go uznac za nieaktywnego i przy najblizszej sesji GC powinien zostac wyrzucony z pamieci.
Gdybys wyrzucal wszystko 'na biezaco' to moglbys miec problemy z ciaglym zapisem/odczytem do ramu co nie jest zdrowe.


GC nie sluzy do zarzadzania zasobami gry, nie mialo by to wiekszego sensu ani nie daje to wymiernych korzysci.

****
Avatar użytkownika

Posty: 1594
Dołączył(a): 17.07.2004
Offline
PostNapisane: 24 wrz 2008, 20:39 
Cytuj  
exodus napisał(a):
GC nie sluzy do zarzadzania zasobami gry, nie mialo by to wiekszego sensu ani nie daje to wymiernych korzysci.


a do czego niby sluzy?

w jednym i w drugim stwierdzeniu po prostu nie masz racji. napisalem ci wyzej co robi garbage collector i po co jest.

Cytuj:
Nie, cala filozofia addonow sprowadza sie do tego ze silnik nie musi absolutnie nic robic, wszystkim zajmuje sie lua wlacznie ze swoim wlasnym GC.


nie wiem czyja filozofia. chyba twoja.


_________________
Obrazek
Obrazek

***
Avatar użytkownika

Posty: 16876
Dołączył(a): 12.09.2005
Offline
PostNapisane: 24 wrz 2008, 20:51 
Cytuj  
Cytuj:
GC nie sluzy do zarzadzania zasobami gry, nie mialo by to wiekszego sensu ani nie daje to wymiernych korzysci.

Zalezy jak na to patrzec. Faktycznie wywolywany kompletnie randomowo GC nie służy grze (prawde mowiac to zadnemu programowi).
Ale w praktyce, do kazdego wiekszego projektu pisze sie cos do zarzadzania zasobami, co z grubsza nazywa sie GC. Zasoby gry == pamiec, gc sluzy do zarzadznia pamiecia. Wiec wtf ?

zreszta na gamedev.pl jest o tym w chuj i jeszcze troche dluga dyskusja. Wniosek był wkoncu taki, ze kazdy ma racje, tylko nikt sie ze soba nie zgadza :P.
Dajmy no to w .NET nie napiszesz gry ala Crysis, ale spokojnie cos lepszego od Queka 3 + odpowiednie Shadery ofc. Ale nie w tym rzecz :P.

Cytuj:
Nie, cala filozofia addonow sprowadza sie do tego ze silnik nie musi absolutnie nic robic, wszystkim zajmuje sie lua wlacznie ze swoim wlasnym GC.

Chyba przeszło to twoje domysły, ze interpreter LUA jest zbudowany bezpośrednio w silnik gry..


_________________
viewtopic.php?t=6093
PODPISY: banery, sig'i, podpisy muszą zgadzac sie tematycznie z profilem forum, nie mogą być animowane, nie mogą przekraczac wielkości 100KB i wymiarow 90 (wysokość) x 400 (szerokosc).

****
Avatar użytkownika

Posty: 1139
Dołączył(a): 6.01.2002
Offline
PostNapisane: 24 wrz 2008, 20:55 
Cytuj  

a do czego niby sluzy?


W praktyce? Do sprzatania w skrytpach.


w jednym i w drugim stwierdzeniu po prostu nie masz racji. napisalem ci wyzej co robi garbage collector i po co jest.


GC to mechanizm analizowania odwolan i referencji obiektu i decydowania czy obiekt jest uzywany. Nie jest to potrzebne przy zasobach bo w tym wypadku jest oczywiste czy dany obiekt jest potrzebny czy nie, nie trzeba go badac.

Oczywiscie sa ludzie ktorzy beda sadzic kwiatki za pomoca koparki ale coz.


Ale w praktyce, do kazdego wiekszego projektu pisze sie cos do zarzadzania zasobami, co z grubsza nazywa sie GC


No wlasnie wszystko sie o to rozchodzi ze naduzywacie wyrazenia GC.
GC != zarzadzanie zasobami, GC to jeden scisle okreslony sposob zarzadzania zasobami.


zreszta na gamedev.pl jest o tym w chuj i jeszcze troche dluga dyskusja. Wniosek był wkoncu taki, ze kazdy ma racje, tylko nikt sie ze soba nie zgadza .


Nawet microsoft ktory jest strasznie dumny z GC w C# stworzyl specjalny content menager w xna ktory jest zarzadzany recznie. Po prostu nie ma sensu zdawanie sie na automat ktory moze sie pogubic. Pozatym GC z zalozenia nie powinno sie traktowac jako granted tylko bardziej bonus.


Ostatnio edytowano 24 wrz 2008, 21:10 przez exodus, łącznie edytowano 2 razy
****
Avatar użytkownika

Posty: 1594
Dołączył(a): 17.07.2004
Offline
PostNapisane: 24 wrz 2008, 21:09 
Cytuj  
Nie. Oczywiste jest dla programisty, a nie dla programu.
GC nie jest jakims zewnetrznym skryptem tylko czescia silnika. Jest funkcja, ktora co jakis czas przelatuje po wszystkich istniejacych instancjach i usuwa te, ktore sa zaznaczone do usuniecia, poprzez np to, ze nie sa renderowane, albo ze nie byly renderowane przez jakistam czas, lub przez cokolwiek sobie programisci wymysla.

Wlasnie miedzy innymi dlatego gry pisze sie w C++ a nie w Javie. Bo Java wymusza swoj kretynski mechanizm GC a w C++ masz dowolnosc.


btw - potwierdzam ze metoda z pierwszego posta dziala. dzieki ;]


_________________
Obrazek
Obrazek

****
Avatar użytkownika

Posty: 1139
Dołączył(a): 6.01.2002
Offline
PostNapisane: 24 wrz 2008, 21:27 
Cytuj  
Ash napisał(a):
Nie. Oczywiste jest dla programisty, a nie dla programu.
GC nie jest jakims zewnetrznym skryptem tylko czescia silnika. Jest funkcja, ktora co jakis czas przelatuje po wszystkich istniejacych instancjach i usuwa te, ktore sa zaznaczone do usuniecia, poprzez np to, ze nie sa renderowane, albo ze nie byly renderowane przez jakistam czas, lub przez cokolwiek sobie programisci wymysla.


Dzieje sie tak w jezykach zarzadzanych, c++ do nich nigdy nie nalezal.

Cytuj:
Wlasnie miedzy innymi dlatego gry pisze sie w C++ a nie w Javie. Bo Java wymusza swoj kretynski mechanizm GC a w C++ masz dowolnosc.


To w koncu GC to zuo czy podstawa przy pisaniu gier 3d?

****
Avatar użytkownika

Posty: 1594
Dołączył(a): 17.07.2004
Offline
PostNapisane: 24 wrz 2008, 21:40 
Cytuj  
Cytuj:
Dzieje sie tak w jezykach zarzadzanych, c++ do nich nigdy nie nalezal.


Nie, dzieje sie tak w silnikach gier, a nie w aplikacjach okienkowych.
Mechanizm to mechanizm, a to w jakim jezyku sobie go zaimplementujesz zalezy od ciebie.

Cytuj:
To w koncu GC to zuo czy podstawa przy pisaniu gier 3d?


Zrozum wreszcie, ze Java narzuca swoj wlasny wbudowany Garbage Collector ktorego nawet nie mozesz wylaczyc, bo taka maja filozofie, natomiast w jezykach niezarzadzanych sam decydujesz o tym co, kiedy i jak ma byc usuniete a co nie, i wlasnie tego szuka sie piszac silnik gry.


_________________
Obrazek
Obrazek

***
Avatar użytkownika

Posty: 16876
Dołączył(a): 12.09.2005
Offline
PostNapisane: 24 wrz 2008, 21:51 
Cytuj  
Cytuj:
Nawet microsoft ktory jest strasznie dumny z GC w C# stworzyl specjalny content menager w xna ktory jest zarzadzany recznie. Po prostu nie ma sensu zdawanie sie na automat ktory moze sie pogubic. Pozatym GC z zalozenia nie powinno sie traktowac jako granted tylko bardziej bonus.

Fakt ale jednoczesnie w System.GC Microsoft udostepnia metody umozliwiajce chociaz czesciowe sterowanie, tym jak działa i co robi GC.
Nie jest to ofc, reczne zarzadzanie, ale pozwala w jakis sposob kontrolowac kiedy GC ma sie włączyć (czyt. kiedy najmniej bedzie szkodliwy).
Zreszta w dobie, wielordzeniowych procesrów, wpływ GC nie jest taki duży jeśli chodzi o aplikacje desktopowe albo serverowe (tak. servery pisze sie w Javie). A zyski z oszczedzonego czasu/bledow/innego syfu ktory sie mnozy kiedy sie recznie zarzadza pamiecia sa spore.

Dziwi mnie tylko ze od wersji 1.1 Frameworka Microsoft jeszcze nie poprawiał GC -;-. Moze w wersji 4.0 go zoptymalizuja :E.
Chociaz minie troche czasu nim zobacyzmy Managed Photohsopa, AutoCADa albo XSI :P.


_________________
viewtopic.php?t=6093
PODPISY: banery, sig'i, podpisy muszą zgadzac sie tematycznie z profilem forum, nie mogą być animowane, nie mogą przekraczac wielkości 100KB i wymiarow 90 (wysokość) x 400 (szerokosc).

*****
Avatar użytkownika

Posty: 2206
Dołączył(a): 27.03.2006
Offline
PostNapisane: 24 wrz 2008, 23:56 
Cytuj  
Panowie, GC to jest używany w jeżykach wysokiego poziomu, silniki są raczej pisane w c/c++ tam jest zasada, że każdy sprząta po sobie i nie ma potrzeby na jakies cuda jak GC. Jak ktoś nie sprząta to gapa i robi memory leaka i mu sie tnie premie :)

W językach wysokiego poziomu (java, skryptowe) GC jest konieczny bo tam nie ma zarządzania pamięcią, więc nie da się po sobie ładnie posprzątać.

A wracając do tematu to wszystkie czary mary chuja dały i WAR nadal mi się tnie jak popierdolony :/

jutro spróbuje tego: http://war.curse.com/downloads/details/13745/


_________________
Walter Sobchak: Fuck it, Dude, let's go bowling.

*

Posty: 150
Dołączył(a): 10.11.2005
Offline
PostNapisane: 25 wrz 2008, 00:12 
Cytuj  
Panowie chyba pomyliliscie Tematy .....2 strony pisania o czyms o czym 80 % czytajacych forum , chcacych cos z nalesc pomocnego im w grze NIEZROZUMIE ....


_________________
Dobrze ze nie wiesz co u mnie bo peklo by ci serce ...

PIH na zawsze !!

Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 46 ]  Przejdź na stronę Poprzednia strona  1, 2, 3  Następna strona


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Skocz do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | Theme based on Zarron Media theme | Copyright © 2001-2012 MMORPG.pl Team
Redakcja MMORPG.pl nie ponosi odpowiedzialnosci za tresc komentarzy i odpowiedzi umieszczanych przez uzytkownikow.