Náročnost jména

  • Zdravíčko,


    při momentálně probíhajícím eventu (superkameny) je jasně vidět, že je zde problém se jmény. Pokud je kolem hráče více mobů, tak se hra začne sekat (a to i při top hardwaru). Poněkud zvláštním řešením je odstranění jmen mobů. V tu chvilku hra běží na plný počet snímků a o sekání není ani slechu.


    Jak je možné, že něco tak jednoduchého, jako jsou obyčejná jména nad moby, dělají takto ohromný problém? Jména nejsou průhledná, není to žádná animace a tedy nelze říct, že by nějak mohly zatěžovat počítač respektive CPU.


    Zde je vidět ohromný problém, který už trvá pěkně dlouho. Spíše než problém bych to nazval totálně zbastlenou optimalizaci. Ten kód musí být nehorázná prasárna.


    Pro ukázku. Na snímku dole mám 60FPS (lock FPS). Pokud zapnu jména, tak jsou to 3-4 FPS.




    Ano, takto to vypadá, když při eventu "Superkameny" spadnou dva do sebe a člověk tedy níčí 10 metinů najednou.


    Další chybu bych viděl v tom, že i při vypnutí jmen nějaká zůstanou vidět (viz. obrázek).


    A další problém je v tom, že člověk si nemůže nechat jména u mobů vypnuté, protože v tu chvilku se vypnou i jména u dropu a člověk nedokáže poznat co padlo, protože vše (krom zbraní) padá v měšci.
    Proč nelze nastavit vypnutí jmen pouze u mobů respektive pouze u dropu?


    PS. Nezáleží na hardwaru. Samozřejmě čím větší výkon, tak tím více oddálíte toto sekání, ale i při tom dnešním hardwaru se váám tato hra začne někdy sekat, což je úplný nesmysl, když by měla fungovat v pořádku i na totálně starých strojích. O dnešním hardwaru se jim v době vývoje hry ani nezdálo a stejně to nefunguje správně. Zde je vidět extrémní ne-optimalizace celkem jednoduché hry. Hlavně že prachy z IS jedou pomalu každý den s novýma věcma tam, ale optimalizace... pfff. Hlavně že vše stojí majlant.



    Dávám yangy zdarma! Přijďte si na adresu Ústavní 91, Praha 8 a na recepci řekněte, že si jdete pro zlaté, že Vás posílá Lycan a oni Vás nasměrují.

  • Ahoj,já myslím,že tohle asi už dávno víš jen pro ostatní to zopakuji:


    Nedostatečná paměť nebo stejná adresa paměti,ke které přistupuje více než jeden program (nebo více částí jednoho programu),může zmrzačit DX9-12 nebo "usmrtit" windows.


    virtuální paměť - swapovací stránky - aplikace metin prostě NEMÁ příkaz pro navracení (vymazání) pamětí (dat z RAM).Tudíž dochází k častému přepisování a kolizím.To je celé.
    Psala sem o tam snad tisíckrát a nikdo to zatím nepředělal :-D


    EDIT: Jen abych nebyla moc stručná,opět si dovolím něco málo použít z jinýho vlákna - berte to jako tip:


    Uvolněte místo v RAM a tím i přehráváním dat před započetím hraní každé hry a to restartováním PC.Systém windows nedokáže vymazat všechny DLL z pamětí i když ukončíte program.Můžete také spustit hru,potom jí ale opět ukončit a potom jí znovu načíst (ale ve výsledku to není tak dobré jako restart PC).

    Edited once, last by Joedo ().

  • Ono by stačilo se řádně prohrabat kódem, a všude, kde je to potřeba, propouštět proměnné a alokovaná místa v paměti. Jenže vzhledem k délce kódu by to zabralo pěkných pár dní tipuju, a bůhví, jestli by jim to pak ještě pořád fungovalo...

    Fénix

    Neverwish
    TheGodness
    Endurancee

  • Ono by stačilo se řádně prohrabat kódem, a všude, kde je to potřeba, propouštět proměnné a alokovaná místa v paměti. Jenže vzhledem k délce kódu by to zabralo pěkných pár dní tipuju, a bůhví, jestli by jim to pak ještě pořád fungovalo...

    K tomu nemám co dodat,jak psal show.. v dnešní době,kdy je dalo by se říct standart více jádro,ale hlavně min 8GBRAM je celkem zarážející,že tahle aplikace má problém,jak jsem psala v postu 2 - dřív nebyly okna tolik náročný na RAM,používali swap disku - dnes je to jiné.Proto na dřívějších oknech bylo "méně" artefaktů a záseků - dnes se okna rozmáznou skoro po celý délce pamětí je jedno jak veliký je máš.A pak když dojde k zápisu (přepisu) kodu,potom je celkem nasnadě že tahle aplikace MÁ VELIKEJ PROBLÉM !!!
    Minimálně hrozí celkovej pád hry (kolize v adrese paměti kterou využívají okna - je to prevít no :-) ) a nebo prostě zaplácnou natolik banky v RAM že dojde k podečtení a tím tmavnutí obrazu.Těch možností je daleko více :-D Ale vesměs ano Wend,máš pravdu a to v celém svém komentu.


    Pokud chcete optimalizaci - pak ale ne začínat u kompů kde jsou napevno stanoveny min. požadavky na hardware ale začínat by se mělo vždy OD OPERAČNÍHO SYSTÉMU - tzn optimalizace pro wokna.To,že dnes sou 10/tky - ok - ať se udělá optimalizace pro win 10.A to neodfláknutá - my se již přizpůsobíme.


    Ale na vážno mě to fakt poslední dobou neba :-D

  • "páte přes deváté"


    Vypadá to, jak kdyby si člověk někde našel půlku informací a k něm připsal druhou půlku z něčeho úplně jiného.


    1. ne, problém není ve velikosti RAM
    2. ano, problém je s přístupem
    3. Metin2 je DX8. DX9,10,11 nebo 12 s tím nemá nic společného, dokonce DX s tímto problémem nemá vůbec co dělat. (EDIT: dodám, že DX8 se dnes konvertuje na DX9, ale nic to na tom nemění.)
    4. Zjistit jak funguje uvolňování RAM (ber to jako domácí úkol)
    5. Windows dokáže sám uvolňovat paměť i DLL.


    Čím více obsazené RAM je, tak tím lépe, protože pokud to píše, že je 1/2 RAM volná, tak s ní Windows nepracuje dobře. (To, že je RAM plná neznamená, že není dostupná pro vše co jí potřebuje! )


    6. Věř mi když řeknu, že na hry nechceš používat SWAP.



    Čím víc to čtu, tak mi připadá, že to Joeda někde opsala. Něco má absolutní smysl a druhá věta je zase absolutní hloupost. Kde na to člověče chodíš?



    Dávám yangy zdarma! Přijďte si na adresu Ústavní 91, Praha 8 a na recepci řekněte, že si jdete pro zlaté, že Vás posílá Lycan a oni Vás nasměrují.

  • Takže nesouhlasím - hádat se tu nechci.


    1.O velikosti RAM tam nepadla ani zmínka - špatně jsi to pochopil,v tom mám pravdu.
    3.Ano má s tím co dělat metin.
    4.Nepotřebuji - okna svojí "získanou" paměť nevrací.(Což je pochopitelné - vysvětlovat nechci,ale nelíbí se mi podobný štourání)
    5.Nesmysl.Uvolnit pamět můžeš tím,že vytáhneš šnuru ze zásuvky nebo jí přepíšeš.


    A věř mi,že spousta her swapování používá.


    Dneska nemám náladu,promin.

  • Celkově ty jména jsou zvláštní - viz to samý jména stánků. Když je zapnu, nehnu se na ch1, když vypnu, můžu tam běhat se 3 klientama na 60 FPS


    E: @SHOWSTOUCH k Joedo nemá cenu se vyjadřovat. Opisuje a kopíruje fráze, plácá pátý přes devátý, ale všechno ví nejlíp :)

  • Celkově ty jména jsou zvláštní - viz to samý jména stánků. Když je zapnu, nehnu se na ch1, když vypnu, můžu tam běhat se 3 klientama na 60 FPS


    E: @SHOWSTOUCH k Joedo nemá cenu se vyjadřovat. Opisuje a kopíruje fráze, plácá pátý přes devátý, ale všechno ví nejlíp :)

    Že by podmět k hádce? :-D Co když jsi mimo ty,jelikož mě neznáš? :-D Spíš mi připadá že jsi v tom postu psal více o sobě ------


    No a vysvětlím ti krásnou věc:


    Pascal/Delfi nebo C nebo snad jeho následovník C++ jsou programovací jazyky.A mají jeden obrovskej nedostatek chceš vědět jakej? Dobrá - NEMAJÍ AUTOMATICKOU SPRÁVU PAMĚTI.Co to znamená? Boože to by bylo na dlouho - prostě:
    Programovací jazyk (myslím že metin je v C++) má vlastní zdrojovej kod.Ten se musí přeložit do strojovýho kodu,tak aby mu rozumněl procesor.Tenhle převod zajišťuje tzv.kompiler kterej přeloží celej prográmek do strojovýho kodu.Pokud obsahují ve zdrijáku chybu kompiler tu chybu nedokáže odhalit a tak dochází k přetečení dat v RAM - což je celý problém týhle hry.A jelikož se musí ručně zadávat laicky instrukce do kodu pak pokud je špatnej kod pak celkově program nebo aplikace bude dělat to co třeba dělá metin.A pokud bys to chtěl opravit - přepsat,pak to nejde.Jelikož bys musel mít zdroják a celej postup opakovat - tzn,řádek po řádku kontrolovat a pak co celý nanovo kompilovat - což je prostě nemožný.


    A je mi jedno co tu píšete - upřímně mimo jste snad všichni to o mě :-D


    EDIT: A ještě ti připojím perličku abych dodržela definicky delšího komentáře (někdy se stačí zamyslet sám/sama nad sebou,i to pomáhá a to nejen ve hře) pak:
    Vážně se ti nikdy nestalo,že třeba ve věži démonů,jeskyní,ochao a bůh ví kde je takový monožství potvor,že by na jedné či několika příšerách,nad nima se neobjevil stavocý řádek - klidně můžeš mít vyplý popisky příšer - je to jedno.To je to co jsem psala a píšu - přeplněný RAMky,pád - pokud nemáš swap,oddálený pád (trvá to o chvilku dýl) se zapnutím swapováním.For je v tom,že je chybnej kod,pokud máš zaplej swap nejstarší a nejmín duležitý data se zapíšou na disk a tím se "uvolní" RAM.Jenže - wokna jsou wokna,běží na dočasnejch souborech a není to jedno co kde swapujou.Další věcí je,že všechny verze woken přistupují k RAMkám - na co mít volný nevyužitý místo v RAM? Tak se roztáhneme po celý šířce RAMek.Tak to fungovalo tak to funguje doted.Co se týče Directů - podmínej je hardvare to co ma karta a nastavení - vsimni se ze v ovladacích mas neco o shaderech-verze.K tomu aby win bezel potrebuje directy,stejne jako karta pro svuj chod - pokud mas v tomhle konflikt .... Dalsí věc - dríve dochazelo k chybe insuficent of memory apod.Podobnej problém byl i tady i kdyz s jinou hláškou - tzn,ovladac graf.karty prestal pracovat - pameti se nedostalo popr nebyly vráceny v pozadovaným case - laicky prelozena chyba proc? Protože nas milej metin pouzival a pouziva stejny adresovaní pamětí jako maji wokna nebo GK.To že nekomu to běhá je otázka - jelikož každej komp je jinej - to u rýznych proměnejch a přístupech.


    A jelikož nemám zapotřebí se účastnit v tomto vláknu dohadum ne o tematu,ale o mojí osobě,zde ...


    Sbohem

    Edited once, last by Joedo ().

  • Každej program, pokud nemá napevno přiřazený adresy (což je volovina nejvyššího kalibru), si bere první volný místo v paměti... Metin by neměl nic přepisovat. To, že jim chybí uvolňování míst v paměti... To je další věc, pak logicky dochází k problémům při vyadresování celé paměti... Buď vývojáři neuměli pracovat s adresama, nebo se jim s tím nechtělo dělat... Obojí ve mně vzbuzuje hrůzu.


    Jinak swapování u her... Záleží na množství dat nutných k uložení, obecně platí - pokud možno swap nevyužívat... Přeci jen přístup k datům je pak pomalej, a navíc zasírá disk...

    Fénix

    Neverwish
    TheGodness
    Endurancee

  • Poprosil bych o lock. Toto je hlášení chyb. Joedo by z toho ráda udělala další nekonečnou diskuzi, kde by se nakonec probíral smysl života brouka a kde končí vesmír.


    Díky.



    Zamykám, příště prosím na Joedo ani nereagovat, zase si zapommněla vzít prášky.



    Dávám yangy zdarma! Přijďte si na adresu Ústavní 91, Praha 8 a na recepci řekněte, že si jdete pro zlaté, že Vás posílá Lycan a oni Vás nasměrují.

    Edited once, last by Sparrow318 ().