Skocz do zawartości
Minecraft.pl Server Banner
pawel2020

Wydajność Minecrafta i jego kod.

Rekomendowane odpowiedzi

pawel2020    0
Jak żyje to nie widziałem bardziej dennej i beznadziejnej gry !!!! Pierwsze gry na Atari , Commodore 64 i ZX Spectrum 30 lat temu były 1000 razy lepiej napisane !!!!!
Mam pytanie dlaczego mój laptop z nowym procesorem i7, grafiką Nvidia z serii 500 , z 6 GB DDR 3 , grzeje się podczas tej gry ???
Ta gra powinna być uznana za szkodliwy program , gorszy od wirusa !!!!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
dex3r    143
[quote]Pierwsze gry na Atari , Commodore 64 i ZX Spectrum 30 lat temu były 1000 razy lepiej napisane !!!!![/quote]
Przez ciebie jak mniemam?

[quote]Mam pytanie dlaczego mój laptop z nowym procesorem i7, grafiką Nvidia z serii 500 , z 6 GB DDR 3 , grzeje się podczas tej gry ???[/quote]
Bo normalne laptopy, dobrej firmy, mają sprawne systemy chłodzenia. Twój zapewne ma chłodzenia niczym w radzieckim czołgu. Grafika z serii 500 z lapkiem i7 to chyba jakaś pomyłka. Badziew.

[quote]Ta gra powinna być uznana za szkodliwy program , gorszy od wirusa !!!! [/quote]
Założyłeś konto, specjalnie po to, aby się wyżalić? Żałosne... Zapewne na dodatek grasz na pirackiej wersji, więc wymagasz nie wiadomo co. BA! Żeby to jeszcze była wina gry, że masz dupne chłodzenia w lapku! Ale nieeee, to na pewno źle napisana gra. Notch zapomniał zaimplementować metody chłodzącej do klasy EntityCreeper.
Aha i "," stawiamy bezpośrednio po słowie, bez spacji. Mnie uczyli tego w podstawówce na pierwszej lekcji informatyki. Ktoś tu ma zaległości.. (albo jeszcze tak wysoko jak 4klasa nie dotarł)

[size=1]Limit heju wyczerpany na tydzień, dziękuję.[/size]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Woozie    258
a) Laptopy się grzeją zawsze i jest to całkowicie normalne.
b) Minecraft jest tak kiepsko napisany, że nawet ja nie znając Javy napisałbym go lepiej. Zacznijmy od tego, że nie napisałbym go w Javie - nie dlatego, że jej nie znam, tylko dlatego, że się do tak rozbudowanych gier nie nadaje. Ale nawet na Javie ta gra mogłaby sto razy lepiej działać niż teraz. Dowód? Dodając tak naprawdę dodatkowe funkcjonalności od Alphy 1.0 do Finala 1.2.5 (2 lata rozwoju!) zostając przy rdzeniu składającym się z dynamicznie generowanej mapy (powtarzam - od tamtej wersji dodano dużo funkcjonalności, które jednak nie powinny wpłynąć na wydajność!) gra straciła tak bardzo na wydajności, że na tym samym komputerze (mój laptop) ze stałych 100 FPS wydajność spadła do 40-50 FPS. Wiecie, gdzie ta wydajność poszła? W niezoptymalizowany, kiepskiej jakości kod.

Sądzę, że obaj macie po części rację (mówię o pawle2020 i DeX3rze). Patrz wyżej.

tl;dr Minecraft jest kiepsko napisany, ale to nie jego wina że Twój laptop się grzeje. One tak już mają.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
KristoforoH    65
[quote name='Woozie' timestamp='1343174477' post='83544']
a) Laptopy się grzeją zawsze i jest to całkowicie normalne.
b) Minecraft jest tak kiepsko napisany, że nawet ja nie znając Javy napisałbym go lepiej. Zacznijmy od tego, że nie napisałbym go w Javie - nie dlatego, że jej nie znam, tylko dlatego, że się do tak rozbudowanych gier nie nadaje. Ale nawet na Javie ta gra mogłaby sto razy lepiej działać niż teraz. Dowód? Dodając tak naprawdę dodatkowe funkcjonalności od Alphy 1.0 do Finala 1.2.5 (2 lata rozwoju!) zostając przy rdzeniu składającym się z dynamicznie generowanej mapy (powtarzam - od tamtej wersji dodano dużo funkcjonalności, które jednak nie powinny wpłynąć na wydajność!) gra straciła tak bardzo na wydajności, że na tym samym komputerze (mój laptop) ze stałych 100 FPS wydajność spadła do 40-50 FPS. Wiecie, gdzie ta wydajność poszła? W niezoptymalizowany, kiepskiej jakości kod.

Sądzę, że obaj macie po części rację (mówię o pawle2020 i DeX3rze). Patrz wyżej.

tl;dr Minecraft jest kiepsko napisany, ale to nie jego wina że Twój laptop się grzeje. One tak już mają.
[/quote]Przepraszam za dalsze ciągnięcie tematu, ale na laptopie mam 100FPS przy Intel core i3, karcie Nvidii z Optimusem jakąś GT 520MX 4GB RAM'u (nie wiem nawet czy to nie ten sam model co ma tamten pawel2020 czyli Samsung np300e5a tylko w innej konfiguracji, bo widziałem takową.)ale rzeczywiście się grzeje NIE WIEM nawet czy to nie ten sam problem! Mó,j kiedy gram w minecraft'a, gdzieś co pół godziny robi taki "przestanek" ,znaczy zwykle dość głośno pracuje, a wtedy po prostu nie robi nic prócz "wachlowania" się tymi wentylatorami gdzieś na 1-5min, może o to właśnie chodziło. Edytowane przez KristoforoH

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Mofixil    190
Dajcie znać jak w laptokach pojawi się wydajne chłodzenie, teraz trzeba by je ciekłym azotem polewać żeby się nie grzały.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
dex3r    143
[quote]b) Minecraft jest tak kiepsko napisany, że nawet ja nie znając Javy napisałbym go lepiej.[/quote]
Czy ktoś śmie w to wątpić? Notch w końcu programuje zaledwie 25 lat (programuje od 8. roku życia) ale ty, nie znając w ogóle Javy, napisałbyś tą grę lepiej. Przecież to takie oczywiste.

[quote]Zacznijmy od tego, że nie napisałbym go w Javie - nie dlatego, że jej nie znam, tylko dlatego, że się do tak rozbudowanych gier nie nadaje[/quote]
Skoro jej nie znasz, to na jakiej podstawie twierdzisz, ze nie nadaje się to tak rozbudowanych gier?!?! A zacznijmy od tego, że z widząc jakie głupoty piszesz, nigdy nie napisałbyś takiej gry.

[quote]Dodając tak naprawdę dodatkowe funkcjonalności od Alphy 1.0 do Finala 1.2.5 (2 lata rozwoju!) zostając przy rdzeniu składającym się z dynamicznie generowanej mapy (powtarzam - od tamtej wersji dodano dużo funkcjonalności, które jednak nie powinny wpłynąć na wydajność!) gra straciła tak bardzo na wydajności, że na tym samym komputerze (mój laptop) ze stałych 100 FPS wydajność spadła do 40-50 FPS. Wiecie, gdzie ta wydajność poszła? W niezoptymalizowany, kiepskiej jakości kod. [/quote]
"zostając przy rdzeniu składającym się z dynamicznie generowanej mapy " Co do za brednie? Co to ma do zoptymalizowanego kodu? Szczątkowe momenty, w których odkrywasz nowy świat? Na serwerach w ogóle ten kod nie ma znaczenia.
"od tamtej wersji dodano dużo funkcjonalności, które jednak nie powinny wpłynąć na wydajność!)" Nie wiem jak ty, mistrzu programowania, wyobrażasz sobie dodawania masy nowych elementów, bez zwiększania zapotrzebowania na zasoby (które ty, błędnie, nazywasz wydajnością). Do tego, w MC 2 razy był zmieniany silnik graficzny, 3 razy format mapy, oraz 1 był przebudowywany od początku sposób generowania się terenu.

[img]http://cdn.memegenerator.net/instances/400x/23949418.jpg[/img] Edytowane przez DeX3r

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Woozie    258
Ech... Zacznijmy od tego, ze nieznajomość języka (nieumiejętność programowania w nim) nie równa się brakowi wiedzy o nim, zwłaszcza w moim przypadku. Mam przyjemność rozmawiać na co dzień z programistą w Javie (nasz kochany Castro :3) który co nieco wie o tym języku. Dodatkowo sam od kilku lat poznaję ten język od strony technicznej przez codzienną styczność z nim. Dlatego z czystym sumieniem mogę powiedzieć, że:

a) Java nie jest dobrym silnikiem do budowania tak wielkich gier. Wynika to z dwóch rzeczy: Java jest uruchamiana w niezbyt wydajnej maszynie wirtualnej (zapewnia to działanie kodu we wszystkich środowiskach, które obsługują maszynę) oraz fakt, iż Java prostym językiem nie jest. Trzeba znać ten język od podszewki i dokładnie wiedzieć, co się robi, aby osiągnąć dobry skutek.

b) Kod Minecrafta jest kiepskiej jakości. Mogę to orzec po wypowiedziach wyżej wymienionego Castra oraz moich własnych doświadczeniach z Notchem (a teraz resztą dev-teamu). Nie potrafią oni zrobić porządnych testów pre-release, co dobitnie udowadniali milionami bugfixów mimo długich testów. Przykład: zabugowany 1.0 Final po pięciu (jak nie więcej) Pre-releasach. Można dodać znacznie więcej przykładów.

c) Silniki graficzne oraz formaty map zostały stworzone przez modderów, po czym zostały wcielone do Minecrafta, i zapewniam cię że w postaci modów działały lepiej. Nie mam dowodów, musisz uwierzyć na słowo.

d) Sądzę, iż lwia część kodu Minecrafta dotyczy generacji świata oraz jego działania (wliczmy w to również moby), a nie - dajmy na to - działanie wagoników. Dlatego też powiedziałem, że po dodawaniu pierdółek (nie zrozum mnie źle, ale w stosunku do podstawy gry są to rzeczy mniej ważne), takich jak nowe bloki, nowe pozycje w GUI czy zastępowanie części kodu stworzonego przez siebie kodem od modderów (patrz wyżej) NIE POWINNO wpłynąć na wydajność gry. A wpływa.

Dlatego też, panie Ironiczny Programisto, nie należy sądzić, że jak nie programista, to na pewno nie wie o co chodzi. :)

[color=#0000CD]Wydzieliłem również nasz offtop do osobnego tematu.[/color]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
maties7    13
[quote name='Woozie']
Java jest uruchamiana w niezbyt wydajnej maszynie wirtualnej.
[/quote]
Zabawne jest to, że są przykłady programów, które wykonują się szybciej niż w takim C++. Po za tym co do szybkości to przed wszystkim maszyna wirtualna była optymizowana w taki sposób by mogła chociaż dorównywać innym językom, więc wbrew pozorom, aż tak tragicznie nie jest. Choć szczerze mówiąc, jeżeli chcemy mieć na prawdę szybką grę to lepiej było by wybrać inny język niż Java, ale jak chcemy by gra była wieloplatformowa to łatwiej to zrobić na Javie .

[quote name='Woozie']
Trzeba znać ten język od podszewki i dokładnie wiedzieć, co się robi, aby osiągnąć dobry skutek.
[/quote]
Czyli, jak każdy inny język.

[quote name='Woozie']
b) Kod Minecrafta jest kiepskiej jakości. Mogę to orzec po wypowiedziach wyżej wymienionego Castra oraz moich własnych doświadczeniach z Notchem (a teraz resztą dev-teamu). Nie potrafią oni zrobić porządnych testów pre-release, co dobitnie udowadniali milionami bugfixów mimo długich testów. Przykład: zabugowany 1.0 Final po pięciu (jak nie więcej) Pre-releasach. Można dodać znacznie więcej przykładów.
[/quote]
Trudno mi ocenić jak kiepsko jest napisany kod minecrafta, ale sądząc o przyszłym patchu 1.3 czy po sposobie dodania nowego blocku w modzie to aż tak fatalnie nie jest. Inna rzecz, że gra była bardzo długo w okresie alpha czy beta, gdzie miała prawo być zbugowana i niestety cześć bugów przeszła do finalnej wersji.

[quote name='Woozie']
c) Silniki graficzne oraz formaty map zostały stworzone przez modderów, po czym zostały wcielone do Minecrafta, i zapewniam cię że w postaci modów działały lepiej. Nie mam dowodów, musisz uwierzyć na słowo.
[/quote]
Uwierzyć na słowo? Nie bardzo przekonuje mnie ten argument.

[quote name='Woozie']
d) Sądzę, iż lwia część kodu Minecrafta dotyczy generacji świata oraz jego działania (wliczmy w to również moby), a nie - dajmy na to - działanie wagoników.
[/quote]
Nie prawda. Generowanie świata jest problemem tylko wtedy, gdy generujemy świat do którego zresztą dodano takie elementy jak kopalnie, wioski czy rzeki. Reszta kodu skupia się na symulacji świata, czyli jak tak się mob porusza, jak tam ten wagonik się miewa, symulacja światła(która jest inna niż na początku), wygładzanie granic między biomami itd. Kiedyś nie było pistonów, było prostsze światło, a przejść między biomami się nie wygładzało itd.

[quote name='Woozie']
Minecraft jest tak kiepsko napisany, że nawet ja nie znając Javy napisałbym go lepiej.
[/quote]
Skoro tak twierdzisz to zawsze możesz zdekompilować kod gry, nałożyć poprawki i pokazać na ulepszonego minecrafta. Edytowane przez maties7

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Wintalan    75
Gdyby mc był napisany w tym waszym c+, to
-większość osób by w niego nie grała po jakimś czasie, bo nie było by modów. W c+, raczej nie napisze się moda bez api, które po dziesiątkach(ba setkach!) wersji nie zostało wydane...
-gdyby mc rozwijał się w c+, po tych 3 latach, bylibyśmy jeszcze w alphie(najlepszym wypadku becie)... W javie kod jest zrozumiały, a w C krótki, osobiście wolałbym pisać w javie, niż znać na pamięć co i jak w c+, gdy jave trzeba po prostu rozumieć. Możemy popatrzeć na wielkie studia, które latami wydają łatki do jakiejś gry, gdy mojang w miarę szybko aktualizuje minecrafta, dodając wiele nowych rzeczy, oraz trochę bugfixując. Niewyobrażam sobie aktualizacji polegającej tylko i wyłącznie na bugfixach. Zresztą jeżeli graliście na pre-relase 1.3. To szybkość jest zauważalna! Gdy kiedyś świat tworzył się min. 6-7 sekund, to teraz nawet pasek ładowania nie ma czasu się wyświetlić, bo świat już się wygenerował. Z włączoną przeglądarką, frapsem, gg, skype i inny szajs mam blisko 700 fps(co i tak jest niezauważalne, bo jak ktoś kiedyś podkreślił, ludzie oko może zobaczyć max 60klatek/sekunda), gdy wcześniej tylko przy ts=on oraz gg=on, miałem 650 fpsów. Java... Zgadzam się jest wolniejsza od C, ale różnica jest minimalna. Java jest wolniejsza, ale bardziej wytrzymała. Ile gier w c+, stworzoną już w studiu mapą, ograniczoną do minimum, mi się zwieszało, gdy mc generujący, i wyświetlający kilkaset chunków jednocześnie, miał więcej fps, a zwiech prawie wogóle. Większość osób hejtujących javę, to osoby które nawet nie miały z nią styczności. Przyznam, że kiedyś, też nie lubiłem tego, że mc jest w javie, ale ostatnio zaczynam troszkę uczyć się javy i mam o niej więcej pojęcia, niż wcześniej... Zadam wam proste pytanie: Jakich javowych aplikacji używacie? Założę się, że nawet nie macie pojęcia o tym, że używacie na codzień dobrych programów, które są właśnie w... W javie... Poruszyłem wcześniej fakt, że studia latami wydają jedną aktualizację do gry. Zauważcie, że mc jest na linuxa, maca, oraz na okienka. Gdyby mojang musiałby pisać na każdy system po kolei, jak podkreśliłem wcześniej znajdowalibyśmy się jeszcze we wczesnej alphie,,,

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Mofixil    190
[quote name='Wintalan' timestamp='1343639288' post='84808']
ludzie oko może zobaczyć max 60klatek/sekunda)
[/quote]
Panie, pierdzielisz pan głupoty.
Ludzkie oko jest zdolne do rejestrowania nawet 100 klatek na sekundę, wszystko powyżej jest odczuwalne.
60FPS wzięło się stąd że 99% ekranów używanych w domach i biurach ma 60Hz, gdybyśmy od zawsze mieli 120Hz to teraz byś mówił że powyżej 120 klatek na sekundę ludzkie oko też nie widzi różnicy.
http://frames-per-second.appspot.com/
Porównaj sobie, masz ekran 60Hz, różnicy nie widzisz.
Gdybyś miał 75Hz lub 120Hz, jeden obraz mimo wszystko byłby płynniejszy od drugiego.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
dex3r    143
[quote name='Mofixil' timestamp='1343642013' post='84811']
Panie, pierdzielisz pan głupoty.
Ludzkie oko jest zdolne do rejestrowania nawet 100 klatek na sekundę, wszystko powyżej jest odczuwalne.
60FPS wzięło się stąd że 99% ekranów używanych w domach i biurach ma 60Hz, gdybyśmy od zawsze mieli 120Hz to teraz byś mówił że powyżej 120 klatek na sekundę ludzkie oko też nie widzi różnicy.
[url="http://frames-per-second.appspot.com/"]http://frames-per-second.appspot.com/[/url]
Porównaj sobie, masz ekran 60Hz, różnicy nie widzisz.
Gdybyś miał 75Hz lub 120Hz, jeden obraz mimo wszystko byłby płynniejszy od drugiego.
[/quote]
Mam w lapku 60Hz i w tym teście pomiędzy 60 a 48 różnicy nie widzę żadnej O.o
Już widzę czemu... To jest na tyle idiotyczny test, że pomiędzy 60FPSów a 120 jest kolosalna różnica, na moim 60Hz monitorze...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
crafted    3
[quote name='pawel2020' timestamp='1343164446' post='83518']
Jak żyje to nie widziałem bardziej dennej i beznadziejnej gry !!!! Pierwsze gry na Atari , Commodore 64 i ZX Spectrum 30 lat temu były 1000 razy lepiej napisane !!!!!
Mam pytanie dlaczego mój laptop z nowym procesorem i7, grafiką Nvidia z serii 500 , z 6 GB DDR 3 , grzeje się podczas tej gry ???
Ta gra powinna być uznana za szkodliwy program , gorszy od wirusa !!!!
[/quote]

Nie dziw się, że grzeje, komp pracuje :P Zwłaszcza przy takiej konfiguracji lapka. Mój czasami jak na nim nic nie robiłem, to się grzał do 80C O.o (i się nie spalił :P) Ale co to za problem? Nie chcesz? - Nie grasz. No i dlaczego się nam tutaj wyżalasz?

@up (DeX3r)
Daj sobie na 2000px/s i przypatrz (chciałem napisać przypacz xD) się dokładnie. Widać różnicę?
Ja już widzę różnicę między 60 a 90FPS, a mam 75Hz (nie dawałem wyższych częstotliwości)

@Wintalan
Nie zauważyłem, że 1.3 jest szybsze, chyba bardziej stabilne (utrzymuje się na wyższych FPS'ach)
Ale i tak Optifine lepiej przyspiesza Minecrafta, niż takie coś :o
Dowód: Na 1.2.5 z Optifine mam max. 200FPS. A 1.3 Pre-release? Góra 108FPS :P

@Woozie
Niezbyt wydajna? Na MineTest (Podstawowy Minecraft w C++) miałem góra 65FPS...
Kiepska jakość kodu? No dobra, może być ten dowód, ale to było [u]kiedyś[/u]. Teraz nie dostrzegam żadnego buga w 1.2.5 :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
dex3r    143
[quote][color=#282828][font=helvetica, arial, sans-serif]Daj sobie na 2000px/s i przypatrz (chciałem napisać przypacz xD) się dokładnie. Widać różnicę?[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]Ja już widzę różnicę między 60 a 90FPS, a mam 75Hz (nie dawałem wyższych częstotliwości)[/font][/color][/quote]
Na 2k px/s nadal jest kolosalna różnica pomiędzy 60 a 120. Ale pomiędzy 60 a 48 również. Ale jak coś tak zapierdziela w grze, to i tak taki wzrost ostrości niczego nie zmienia.

A tak mi się przypomniało:
[quote]Pierwsze gry na Atari , Commodore 64 i ZX Spectrum 30 lat temu były 1000 razy lepiej napisane !!!!![/quote]
Pewnie dlatego, że ich kod źródłowy zajmował max. ~64kb. Tymczasem źródło MC ma 7,5MB. Dodatkowo, ilość możliwych błędów na każdą linijkę kodu jest coś jak n^2. (ofc. nie tak dokładnie, ale kwadrat ma służyć tylko jako zobrazowanie).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...