Diskuze: Výkon her v Javě
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 50 zpráv z 122.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Záleží to na návrhu a na tom, jak je daný program nebo hra napsaná. Samotná Java je dost rychlá.
Minecraftu se to podobná možná jen tím že je to ve stejném jazyce. To že je Minecraft špatně navrhnutý neznamená že Java není výkonná. Odsuzuješ Javu kvůli jedné blbě navrhnuté hře. Např. RuneScape (http://runescape.com/) je napsaný v Javě a nevím o tom, že by se nějak lagoval, padal a bugoval. Uznávám že Java je jeden z nejtěžších jazyků na hru, ale mě to nevadí a s výkonností nesouhlasím, Java je výkonná dost.
no s tými hrami neviem potvrdiť, to som len niekde počul ale verím tomu
pretože spustená java hra využije 100% výkonu procesoru a hra v inom jazyku
je k procesoru výrazne "milšia" to si myslím o java hrách, aplikácie toľko výkonu nežerú, neni
až také ťažké ich naprogramovať takže môj názor? Java na PC s Win
(neviem ako sa chová na iných zariadeniach s inými OS) je podľa mňa lepšia
skôr na aplikácie ako na hry.
Za rychlost či pomalost vyšších programovacích jazyků často může správná či nesprávná volba datových typů. Také záleží na tom, jak jsou mezi sebou propojeny. Jeden nevhodně napsaný getter či setter dokáže shodit rychlost aplikace i na polovinu.
JVM je <strong>velmi dobře</strong> optimalizovaný. Že to někdo napsal špatně v Javě neznamená, že je špatná Java, nebo se snad mýlím?
V javě máš spoustu herních enginů, a tak si nemyslím, že by byla nevhodná na hry. Podívej se třeba na http://jmonkeyengine.com/
ja som myslel tú podobnosť MC v tom, že aj tam sa zbierajú suroviny,
generuje sa nový svet, crafting, lovenie zvierat atď. no o výkone MC som
nehovoril. Javu neodcudzujem kvôli "zle navrhnutému minecraftu" ale kvôli
mojim skúsenostiam s hrami v Jave na PC s Windows. A ver mi, že to asi nebude
kvôli môjmu kompu . Ešte raz
hovorím: "Môj názor.". A nikomu inému názor neberiem
.
Určitě se nemýlíš. Java je rychlá dost, bohužel hodně aplikací je v ní špatně napsaných. Nemusíme chodit daleko a zůstat klidně u IDE. Netbeans je asi 20x pomalejší než PHP Storm, obojí je v Javě a obojí dělá to samé.
Je pravda že náhodné světy mám oblíbené z Minecraftu, ale jestli
podobnost hodnotíš takhle tak Minecraftu je podobná každá druhá RPG hra.
Buď si moc her nevyzkoušel, nebo je to tvým počítačem Mě se ve Windowsech žádná hra v
Javě nekouše, a nebere 100% CPU.
takže 1. vec: možno sa MC podobá viacero hier ale napr. taký crafting, to
nemá každá hra. 2. vec: ak je to možné, radšej hrám Javy na znížených
nastaveniach grafiky, neviem, možno je to aj trochu mojim PC ale určite keby
bol napr. Minecraft v jazyku C#, bol by výkonnejší (menšie nároky na CPU,
grafiku...). Ja aj keď mám spustených 10 programov, v Správcovi úloh mám
väčšinou 10-15% využitia CPU, RAM: 25-30%. Len čo spustím nejakú
náročnejšiu Java hru (nemyslím napr. Snake ), okamžite mi CPU stúpne na
97-100% využ. a RAM na 50-60%, čo sú podľa mňa výsledky hovoriace za
všetko
A 3. vec: celková Java
mi na Win moc nesedí, nwm prečo ale Java + Win je u mňa niečo nesediace
Skôr mi pripadá ako stavaná
na Linux
V hromadu hrách si můžeš tvořit itemy podle receptů (RuneScape, GuildWars 1 i 2, WoW, Don't Starve, ...). Pokud by byl napsaný stejným způsobem tak si myslím že ani ne (zde je zase vidět že srovnáváš s Minecraftem). U Javy taky záleží jestli ta hra používá k vykreslování CPU nebo GPU, hromada projektů využívá jen CPU. Pokud ti normálně vytěžuje tak málo tak spouštíš špatně napsané hry (i můj engine mi bral sám 60% CPUčka dokud jsem ho neoptimalizoval). Ano, sice je java multiplatformní, ale je převážně optimalizováná na Unixové systémy.
ja som povedal že crafting nemá každá hra, nie žiadna. A Javu nesúdim
len podľa jednej hry, tie zaťaženia CPU a RAM sú skoro na každej hre v
Jave. A ako som povedal, že mi nesedí na Win, že by som ju skôr bral na
Linuxe či Unix systémoch, sám si potvrdil že je optimalizovaná prevažne na
Unix systémy, no optimalizáciu na Windows si nespomenul
a ešte niečo... Ja hrávam na jednom MC serveri a zo 150 regnutých
hráčov sa 80% sťažuje že im hra neskutočne laguje a admin na to reagoval:
" Ja s tým nič nemôžem urobiť pretože je celý Minecraft napísaný v
jazyku Java a to je to najväčšie zlo na svete. ". To som citoval nášho
admina, takže nie som sám kto si myslí, že chyby nemusia byť len v hrách
ale aj v jazykoch. A to neporovnávam len MC ale prevažne každú X hru môžem
takto hodnotiť a porovnať
.
PS: čo si vlastne predstavuješ pod pojmom "zle napísaná hra"?
C# a Java jsou ohledně nároků na CPU i RAM srovnatelné jazyky. Nemají si co vyčítat. Dají se v nich napsat pomalé i rychlé programy, ale to už víš.
čo sa týka programov v Jave, tie bežia celkom dobre, bavíme sa tu o náročnejších hrách. Neprišiel som sa tu s vami hádať, len hovorím svoj názor.
Hm, pokud java neni pomala, tak jsou programatori tvorici v jave spatni?
Nebo proc skoro kazdy program napsany v jave je vzdycky tak strasne pomaly?
Eclipse, netbeans, jdownloader...
Ale ta pomalost javovských her není způsobena tím, že je ta hra v Javě. Kdyby byla v C/C++, byla by stejně pomalá, ne-li pomalejší. Prostě to autoři té hry nezvládli. Pokud někdo třeba místo seznamu používá pole nebo slovník či naopak, mívá to drastický dopad na výkon. Pokud někdo nedokáže spočítat vzdálenost dvou objektů jinak, než voláním pěti do sebe zanořených metod, tak principy Javy nepochopil a měl by se to naučit ještě předtím, než začne psát hry.
V Javě píše spousta špatných programátorů. Neznamená to však, že pokud programátor píše v Javě, je špatný. Jenom mnozí zapomínají profilovat, často používají kanóny na vrabce a nehledí na úspornou práci s pamětí, protože se o její správu nemusí starat. Často píší metody, ve kterých je jen výběr nebo uložení jedné hodnoty a nic víc. To má nezanedbatelnou režii.
Ona údajně ta hra běží na jednom vlákně, vývojáři furt slibují optimalizaci, ale zatím se k tomu nějak nemají a ten hlavní vývojář, který tu hru vytvořil dal od toho ruce pryč a dělá radši na něčem jiném.
Edit:// hru myslím Minecraft
To je přesně ono. Javisté často plýtvají výkonem, tedy CPU i RAM. Zejména ti, kteří k vývoji používají vytuněná PC.
úplne súhlasím zo Satikom. Predsa musíš aspon trochu uznať, že ak je
nejaký jazyk nevýkonný a zaťažuje PC tak sa nemôžeš sťažovať na
programátorov že sú zlí a že nevedia úsporne využívať všetky funkcie
Javy. To keď seká každá 2. hra, znamená to že všetci dobrý programátori
vyhynuli či čo?
Dobří programátoři místo her programují užitečnější aplikace
Stále oponuješ Minecraftem, vyjmenuj tedy aspoň 2 hry v Javě kromě
Minecraftu, které se ti sekají
Se Luboš Běhounek Satik nesouhlasím JDownloader jsem používal a Eclipse
používám dodnes a neseká se mi to (zde taky záleží jak si Eclipse
nastavíte, ve složce s Eclipsem je hromada .ini souboru kde se dá nastavit
spousta věcí ), u NetBeans
nevím.
Ty to pořád nechápeš, zkusím uvést jiný příklad. Vem si např. PHP. Spousta lidí (hlavně začátečníků) v něm kódy bastlí a tak dost lidí odsuzuje PHP, že je to špatný jazyk. Ale tomu tak přece není. Dnes už se v PHP píší testy, řeší se návrh aplikace, používají se návrhové vzory, kde to jen jde. Ten jazyk umožňuje psát velmi kvalitní kód, ale kvůli začátečníkům a projektům, které nebyly zrovna nejlépe napsané (např. WordPress), má spousta lidí tuto mylnou představu.
Myslím, že už jsme to vysvětlili dost. Jestli se rozhodneš soudit jazyk podle špatně napsaných programů, to je na tobě.
EDIT: když už rozebíráme Java aplikace, třeba již zmíněný PHPStorm je velice kvalitní a rychlé IDE napsané v Javě. Netbeans umožňuje mnohem méně, než třeba ten PHPStorm, a přesto je pomalejší.
heh najskôr obraňuješ
Javu, potom sa vyhováraš na programátorov a nakoniec povieš toto
či ty by si radšej rátal na
profi kalkulačke ako hral hry?
A tí čo vytvorili CS, WoW, TF, CoD, MC, GTA, NFS, ... to neboli
dobrí programátori? či mali radšej robiť aplikácie typu: "Hello world!" ?
Keby good progr. robili len
apl., potom by ani na devbooku nebola kategória "Hry".
Jak mi chceš vysvětlit, že na stejném PC, na kterém mi před několika lety běželo video ve FlashPlayeru naprosto plynule, najednou mám z toho samého videa slideshow a procesor na 100 %. Přitom při stažení a spuštění v MPlayeru mi to samé video běží se zátěží CPU kolem 30 %. Předpokládám, že FlashPlayer není napsán v Javě a je na přehrávání videa optimalizován.
Podle mne je vysvětlení jednoduché: Programátoři mají k dispozici moderní nástroje, ale programují s nimi hůř než ve středověku.
koľko krát to mám opakovať...Ja Javu neodsudzujem, len vravím že podľa
mňa to nieje naj jazyk na hry. A to PHP... Príklad: PHP by na niektorom web
browseri išlo dobre ale na inom by mohlo mať problémy. To isté Java. Mne na
Win seká, občas padne a keby som chcel robiť hry, nie žiadne GameMakerovky
kde sa nič nenaučím, isto by som nerobil v Jave, lebo ako som sa dozvedel,
podľa väčšiny je nevýkonnosť Javy na zlých programátoroch. Takže
radšej nebudem žiadny programátor, ako mám byť "zlý progr." a moje hry by
mali všade sekať
Používáš tolik zbytečných smajlíků, že ten jeden, který je u mé věty podstatný, naprosto přehlížíš.
vravíš na tom istom PC? môže to byť aj "hygienou" PC, že je napr.
zaprášeny atď. Môže to byť aj problém plného disku odkiaľ sa zavádza
systém (C:\), veľa nainštalovaných programov... A s čím mám aj ja
problém je to, že video napr. na YT (tiež FL player) mi v 1080p seká jak
sviňa a stiahnuté nie?
a na čom by asi malo PHP bežať? na bežiacom páse?
Odbíháš stále od otázek co jsou na tebe kladeny a vyhýbáš se tím
případnému ztrapnění. Nechci tě nějak podceňovat, ale myslím si že
dohadovat se tu s dítětem, kterému je 13 a nemá přehled o těhle věcech
nemá smysl.
Poprosil bych jednoho z adminů David Hartinger nebo David Jančík aby tuhle
nesmyslnou debatu přesunuli do jiného tématu do fóra, nebo nepodstatnou
část smazali co se netýče této hry.
Ted jsem si zkusil cvicne pustit jdownloader a musim uznat, ze odezvy pri behu programu jsou ok, ale to spousteni, ktere z SSD disku trva 8 sekund na 3GHz 4jadru (Win7x64), kdyz ve fronte mam 3 soubory...
Mozna jsem na Javu trochu vysazenej a mam predsudky, ale bohuzel s ni nemam moc dobre zkusenosti...
Eclipse/Netbeans jsem chvili musel pouzivat v praci na PHP a muzu rict jen
to, ze doufam, ze to uz nezaziju, myslim, ze pocitac slaby nebyl - nejake
dvoujadro s 2GB ram - tusim, ze jako prvni jsem vyzkousel Netbeans.
Na projektu s cca 20k radkama mi obcas automaticke dokoncovani bezne zaseklo
pocitac na 5-60 (a obcas i vic) sekund, coz je uz temer nepouzitelne. Zkousel
jsem stahovat jine verze netbeans, jinou verzi jre, ale nepomohlo nic, az
prejiti na eclipse, kde autokompletovani vyskakovalo vetsinou do dvou sekund,
ale zase napr kdyz jsem se chtel podivat do jineho souboru, tak jsem musel cekat
asi 15 sekund, nez se mi prepl pohled do druheho souboru.
Kdyz to srovnam s Visual Studiem, kde na tom samem pc u c# projektu s 60k
radky se intellisense zobrazuje vzdy tak rychle, ze zadny delay neni videt...
(Vim, ze srovnavam jabka s hruskami - PHP projekt v programu napsanem v jave
(NB) a C# v programu napsanem v C/C++ (VS), ale jak pak clovek nema mit pocit,
ze je java pomala? )
Zaprášený sice je, ale každý rok ho čistím, tak to není tak hrozné. Plným diskem to rozhodně není a těch pár tisíc programů (momentálně mi jich běží jen 145) na to také vliv nemá.
Však s tím YT je to stejný problém, který jsem popsal.
První spuštění JVM vždycky nějakou tu chvíli trvá. Zatím jsem neměl
soubor kde bych měl 20k řádků tak to nemůžu nějak vyvrátit. Ale plně
tě chápu, jsi vysazený na Javu asi jak já na C#
PHP neběží v browseru, ale nejčastěji na serveru. Neznám žádný browser, ve kterém by PHP běželo.
Vim, ze prvni spusteni chvili trva, proto jsem ten jd spustil a vypnul 3x po
sobe
2 GB je na provoz těchto IDE málo. Zrovna mám jen 256 MB RAM, takže taková prostředí vůbec nemohu používat, ale Vim běží parádně i se soubory, které mají 1M řádek.
no ja niesom nejaké 13 ročné decko jasné? a aby bolo jasné ani ja sa
nemienim hádať s nejakým 16 ročným týpkom aby ma volal "decko" a BTW
žiadne otázky na mňa kladené som tu nevidel a nikto nikoho nenúti robiť v
Jave, je tu 100 ďalších jazykov a ak niekomu niečo nevyhovuje, skúsi niečo
nové, tak ako mne nevyhovuje Java
ak so mnou súhlasí aj Luboš Běhounek Satik a to má 25 r. aj on je potom
decko čo takýmto veciam nerozumie?
Flash: tých 145 programov mala byť irónia??? načo sem ťahás flash? to
nemôžeš prirovnať k Jave pretože sekanie FULL HD videa nieje chyba flashu
(jazyka) ale pravdepodobne YT
PHP: no to bol len príklad čo bol na porovnanie...
Ja nerikam, ze je pomala, jen me zajimalo, proc vetsina programu napsanych v
jave (ktere znam), reaguje/spousti se tak pomalu, kdyz me nenapada, ktera cast
kodu by to mohla zpusobovat (kdyz si predstavim, ze bych to prepsal do c#) .
Je to chyba Flashu, bere zbytenčně moc výkonu a staré počítače to již nezvládají, je to taky jeden z mála důvodů proč se Flash už nevyvíjí. Má být nahrazen HTML 5.
Eclipse by mělo běžet lépe, než Netbeans. Java bude na Windows o něco pomalejší než na Unixu, C# naopak. Možná by bylo zajímavé udělat nějaké performance testy Java vs. C#.
To nebyla ironie. Skutečně mi na tom PC v tuto chvíli běží 145 programů z celkových asi 3000. Máš snad problém to pochopit?
Není to problém YT, ale přehrávače FlashPlayer.
hej? tak to som nevedel lebo z flashom nemám až také skúsenosti. ale 3000
programov na 1 kompe? to
musí byť riadny masaker pri hladaní nejakého súboru
To neni spatny napad, zkusit napsat a spustit nejake vlastni benchmarky mezi C# a Javou (pripadne treba pridat i dalsi jazyky).
Zalozis na to thread, ze bysme tam vymysleli nejake algoritmy na vyzkouseni a pak to naprogramovali (samozrejme za pouziti stejneho algoritmu ve vsech jazycich)?
Klidne se dobrovolne hlasim na C# a mozna na C++.
Jestli se tu něco objeví, klidně to přepíšu do Javy. Ale chce to spouštět na stejném počítači všechno.
Pro plný výkon Javy je dobré používat ExecutorService.
Už jsem zkoušel porovnat RK4 v C# a Javě a rozdíl byl nepatrný. Dokonce to bylo skoro stejně rychlé jako v C, takže se to dá použít i na drcení čísel (až po Fortranu, prosím). Značně záleží na typu úlohy.
Zobrazeno 50 zpráv z 122.