Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak zaoszczędzić mb


Qentinios

Rekomendowane odpowiedzi

Opublikowano

Cześć, chcę Wam przedstawić kilka czynników które mają wpływ na wagę klienta - im mniej tym lepiej, czyż nie? ;)

 

1. Wpisy

Pierwszym i chyba najważniejszym sposobem są prawidłowe wpisy podczas pakowania - nie wiem jak to się ma przy automatycznych packerach, bo ja od zawsze używam tych tradycyjnych.

Przy każdym wpisie mamy:

        <File archivedPath="d:/ymir work/ui/game/taskbar/9.sub" type="1"><![CDATA[Source\ymir work\ui\game\taskbar\9.sub]]></File>
type="1"
Chodzi o type. Dla plików graficznych oraz tekstowych powinno użyć się type="1", ew. type="2", ale tu trzeba uważać bo niektóre nowsze binki nie obsługują dwójki.
Ta prosta operacja pozwala skompresować naprawdę sporo mb.
2. Format
- mam na myśli głównie pliki graficzne - tutaj takie małe porównanie - dds, jpg, png, tga
qucgqu.jpg
Przygotowałem jeden obraz, w 4 rozszerzeniach, i pakowałem je pojedynczo, z zastosowaniem nazw takich jak ich rozszerzenia. Co się okazało? Jak widzicie zdecydowanie wygrywa dds. Jpg też jest dobry, ale biorąc pod uwagę jakość i to że dds obsługuje alphę, to DirectDraw Surface na pewno jest najlepszym formatem.
Sam dds też ma swoje 'subformaty'. Tzn, kiedy przezroczystość nie jest wymagana, możemy zapisać dds bez alphy, oszczędzając ~35% wagi obrazu.
Polecam takie ustawienia dla plików niewymagających alphy:
yx3gsf.jpg
A dla tych z przezroczystością:
5xpk6t.jpg
3. Nowe mapy
Przypuszczam że na wszystkich mapach niestworzonych przez ymir, nie ma cieni - plik shadowmap.dds figuruje jako jednolita biel. Zdarza się że waży on np 120kb, a znajduje się on w folderze każdego segmentu.
Proste obliczenia. Plik waży 125kb, mapa 6x6, co daje 36 segmentów. Do tego kompresja po spakowaniu do epk dajmy na to 25%.
125*36*75%=3375kb=3mb
Wychodzi z tego, że mamy zbędne 3mb, które właściwie za nic nie odpowiada. Niby nic, ale wyobraźcie sobie że mamy 4 takie mapy, albo, dajmy przypadek ekstremalny, mapę 16x16.
125*256*75%=24000kb=23.4mb
Można powiedzieć, że to już trochę jest. Co więc należy zrobić? Usunąć? Można, ale systerr będzie zaśmiecony. Najlepiej podmienić wszystkie takie pliki shadowmap.dds, ważące 120kb, na taki ważący np 1kb, który znajdziecie tu:
Jak to zrobić np w mapie 16x16 (256 folderach) xD? Ręcznie chyba byście się zajechali.
Można to osiągnąć za pomocą odpowiedniej modyfikacji tego skryptu:
cd "C:\Users\Qentinios\Source" 
del /S shadowmap.dds
Zedytujcie pod siebie i zapiszcie jako .bat, a następnie możecie użyć programu, który również załączę (n2ncopy.exe). Przeciągając na lewą część okna plik do skopiowania, a na prawą foldery, po naciśnięciu "copy", program automatycznie skopiuje nam do wszystkich podanych (przeciągniętych) folderów.
Link:
Skan:
4. Packer
Bardzo duże znaczenie ma użyty packer, niektóre pakują lepiej, inne gorzej. Tu nie podaje linków, musicie sami różne protestować i dość do tego który najlepiej sobie radzi.
5. Śmieci
Biorąc klienta innego serwera jako podstawkę, prawie nigdy nie wykorzystamy wszystkich jego potworów, map, obiektów - warto te niepotrzebne skasować. Po co ludzie maja pobierać niepotrzebne?
6. Muzyka
Pewnym sposobem na odchudzenie klienta na ~100mb może być usunięcie muzyki - ja jednak tego nie polecam - wiele ludzi, w tym ja, lubi grać z dźwiękiem.
A może Wy znacie jakieś inne sposoby? Napiszcie, dodam do tematu.

sygnatura2.png


  • Odpowiedzi 55
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Najlepszy Packer to EterNexus. nim pliki PC z globala odchudziłem o kilka mb. :) Clienta Rykoxa odchudziłem nim o 200mb. pliki Etc pakuje z 40mb do 13 ;). Polecam ten program. a co do etc... nie pakujcie ETC starszych clientów bo strasznie crashuje. ten sposób działa na nowych clientach

Opublikowano

Kompilacja skryptów klienta w moim przypadku zmniejszyła .py z rozmiaru 1.47kb do 1.22kb, a przy okazji "zabezpieczyłem" skrypty. Tak, wiem, zaraz się podniosą głosy, że się nie opłaca dla tych kilku kb pierdolić pół roku, ale powiem Wam, że gracze używający internetu mobilnego będą Wam padać do stóp :)

57199140501148694665.png

Opublikowano

Kompilacja skryptów klienta w moim przypadku zmniejszyła .py z rozmiaru 1.47kb do 1.22kb, a przy okazji "zabezpieczyłem" skrypty. Tak, wiem, zaraz się podniosą głosy, że się nie opłaca dla tych kilku kb pierdolić pół roku, ale powiem Wam, że gracze używający internetu mobilnego będą Wam padać do stóp :)

 

No może w takie skrajności nie popadajmy, bo można np usunąć errorlog.exe, bo po co komu pytajniki, wystarczy że wypie**oli klienta, a zawsze 80kb mniej xD

sygnatura2.png


Opublikowano

No może w takie skrajności nie popadajmy, bo można np usunąć errorlog.exe, bo po co komu pytajniki, wystarczy że wypie**oli klienta, a zawsze 80kb mniej xD

 

najlepiej wyjebać wszystko i robić na podstawce koreańskiej z 2004 roku, tylko 261mb :D

57199140501148694665.png

Opublikowano

najlepiej wyjebać wszystko i robić na podstawce koreańskiej z 2004 roku, tylko 261mb :D

No i tylko te 9 lat roboty ;d

Btw sposoby spoko,exter nexus czy jakaś taka nazwa pakera,zmniejsza też troszkę on wagę plików.

RauE0Ri.png

Opublikowano

W cliencie globalnego metina jest nawalone wszystko na raz czasami można tam znaleść nawet 3 te same rzeczy w innych epk warto poświecić trochę czasu i uporządkować niektóre rzeczy.Przykładem jest client ravi nie ma tam żadnych patchów/seasonow etc.

Opublikowano

 

najlepiej wyjebać wszystko i robić na podstawce koreańskiej z 2004 roku, tylko 261mb :D

Racja, ale i tak jeszcze syf zawiera, jak potrójne pliki. gr2 typu "xx_lod_01.gr2". Zawsze trochę miejsca zaoszczędzi się :)

Graj na Helium2 już teraz!


Vc801YR.png

Opublikowano

dzięki ludzie podsuneliscie mi super pomysł ! :) a co do eter nexusa to naprawdę polecam. :) zmniejszyłem nim wagę nawet clienta derina o 60mb a to dużo :D

Opublikowano

tak naprawdę ten enter nexus zmienia tylko type na 1. Dobrym sposobem będzie też oczyszczenie plików pc/pc2 z dodatkowych nie potrzebnych plików (z 200mb -> 40MB (po mojej edycji)).

 

Dodatkowo:

 

Jeśli posiadamy patcher pliki dodatkowe mapy itp możemy wrzucić na hosting naszego patchera aby pobierał playerom po uruchomieniu gry. ( wtedy polecam użyć patchera w pythonie - to chyba najlepsze rozwiązanie jeśli komuś nie chce się grzebać w plikach clienta). Pozdrawiam.

"Mimo wszystko do normalnego życia jest potrzebna nam druga osoba."


Każdy kiedyś musi...


Koniec z MpcForum.pl


Opublikowano

Racja, ale i tak jeszcze syf zawiera, jak potrójne pliki. gr2 typu "xx_lod_01.gr2". Zawsze trochę miejsca zaoszczędzi się :)

 

Lody zwiększają optymalizację gry podczas grania więc takich rzeczy się nie usuwa.

Najbardziej się przydaje np na DT.

1011932_514376648616209_1943977858_n.png
Opublikowano

Lody zwiększają optymalizację gry podczas grania więc takich rzeczy się nie usuwa.

Najbardziej się przydaje np na DT.

Co za głąb... Do czego Ci w cliencie NIEPODPIĘTE do niczego pliki? Jak tak Ci się podobają to zrób sobie jeszcze dodatkowe 100 kopi każdego pliku GR2 i ładnie ponumeruj... Mój client nie posiada ani jednego pliku xxx_lod_01.gr2 i jakoś mi ich nie jest żal, a wręcz przeciwnie. Zastanów się po co te pliki tak naprawdę znajdują się w globalnym cliencie, a potem pisz tu takie głupoty, bo tego aż czytać się nie da.

 

Co to całego tematu to dobry poradnik, pewnie nie jednej osobie się przyda.

Opublikowano

Co za głąb... Do czego Ci w cliencie NIEPODPIĘTE do niczego pliki? Jak tak Ci się podobają to zrób sobie jeszcze dodatkowe 100 kopi każdego pliku GR2 i ładnie ponumeruj... Mój client nie posiada ani jednego pliku xxx_lod_01.gr2 i jakoś mi ich nie jest żal, a wręcz przeciwnie. Zastanów się po co te pliki tak naprawdę znajdują się w globalnym cliencie, a potem pisz tu takie głupoty, bo tego aż czytać się nie da.

 

Co to całego tematu to dobry poradnik, pewnie nie jednej osobie się przyda.

 

Client gdy dostatecznym oddaleniu kamery przełącza stosunkowo model na lod_XX przy czym granny pobiera mniej pamięci.

 

Coś jeszcze chcesz dodać wszystko wiedzący?

1011932_514376648616209_1943977858_n.png
Opublikowano

Client gdy dostatecznym oddaleniu kamery przełącza stosunkowo model na lod_XX przy czym granny pobiera mniej pamięci.

 

Coś jeszcze chcesz dodać wszystko wiedzący?

 

cześć Santriel cymbale

Opublikowano

Client gdy dostatecznym oddaleniu kamery przełącza stosunkowo model na lod_XX przy czym granny pobiera mniej pamięci.

 

Coś jeszcze chcesz dodać wszystko wiedzący?

Dobra 1:0 dla ciebie. Moje rozwiązanie konwersji modeli w grze trochę inaczej działa.

Opublikowano

Dobra 1:0 dla ciebie. Moje rozwiązanie konwersji modeli w grze trochę inaczej działa.

 

Taki sam bajer masz z teksturami, gdy je otworzysz masz na warstwach kilka rozdziałek.

Czym dalej kamera tym mniejszą rozdziałke wczytuje.

 

Jeżeli nie ma modelu xx_lod_11 czy tekstura nie ma warstw z różnymi rozdzielczościami to pozostaje przy 1 którą załaduje do pamięci. :P

1011932_514376648616209_1943977858_n.png
Opublikowano

Client gdy dostatecznym oddaleniu kamery przełącza stosunkowo model na lod_XX przy czym granny pobiera mniej pamięci.

 

 

 

Taki sam bajer masz z teksturami, gdy je otworzysz masz na warstwach kilka rozdziałek.

Czym dalej kamera tym mniejszą rozdziałke wczytuje.

 

Jeżeli nie ma modelu xx_lod_11 czy tekstura nie ma warstw z różnymi rozdzielczościami to pozostaje przy 1 którą załaduje do pamięci. :P

 

Widać nawet ja mogę się jeszcze czegoś ciekawego o budowie klienta dowiedzieć :D

 

A więc możemy skasować te dodatkowe lod, aby zaoszczędzić miejsce i bardziej obciążyć komputer, lub zostawić, aby klient więcej zajmował, ale lepiej sobie radził na bardzo słabym sprzęcie.

sygnatura2.png


Opublikowano

Widać nawet ja mogę się jeszcze czegoś ciekawego o budowie klienta dowiedzieć :D

 

A więc możemy skasować te dodatkowe lod, aby zaoszczędzić miejsce i bardziej obciążyć komputer, lub zostawić, aby klient więcej zajmował, ale lepiej sobie radził na bardzo słabym sprzęcie.

 

Gdy usuniesz lody to zaoszczędzisz pewnie około 25mb więc takie szaleństwo nikomu nie jest potrzebne, lepiej 50-80mb mniej zjadania ramu i mniej płaczu o runtime error.

 

 

Edit: Przy okazji odradzam też jakoś super specjalnie bawić się w lepszą kompresje paczek ponieważ czym lepiej skompresowana tym dłużej ją silnik wypakowuje i powoduje lagi.

Dziękuję za uwagę, dobranoc. xD

1011932_514376648616209_1943977858_n.png
Opublikowano

Taki sam bajer masz z teksturami, gdy je otworzysz masz na warstwach kilka rozdziałek.

Czym dalej kamera tym mniejszą rozdziałke wczytuje.

 

Jeżeli nie ma modelu xx_lod_11 czy tekstura nie ma warstw z różnymi rozdzielczościami to pozostaje przy 1 którą załaduje do pamięci. :P

Tylko nie jestem pewny skuteczności takiej optymalizacji. Jeśli nie ma plików lod, to niezależnie od odległości między tobą a mobem, wczytywany jest ten sam model. W przypadku istnienia plików lod_XX.gr2, model jest stale podmieniany np. we wspomnianym przez cb DT, najpierw widzimy daleko moby te, które maja rozszerzenie _lod_01.gr2, następnie gdy moby są przy nas, zmienia się ich model na normalny (nie chodzi o odległość moba do kamery, lecz o odległość moba od postaci, co w sumie na jedno wychodzi). Zastanawia mnie czy w momencie podmiany tego modelu nie ma większego obciążenia niż jakby się załadowało jeden model wszędzie i nie zmieniało go. Bo zgadzam się, gdy moby sobie gdzieś tam daleko stoją, a my tylko przechodzimy przez mapę to mniej ram client zużywa, bo te modele są słabsze jakością, ale w momencie gdy się expi, następuje stała zmiana modeli z tych _lod_01.gr2 na normalne.

 

Jeśli chodzi o tekstury, to pierwsze słyszę, żeby plik dds/tga miał warstwy. Przy zapisie do takiego pliku, warstwy są scalane niczym jak w pliku jpg - nie odpalisz ponownie pliku z podziałem na warstwy bo już ich nie ma. Co innego kanały, ale ty piszesz o warstwach, a one na 99% nie są zapamiętywane przy zapisie do tych formatów. W sumie wystarczy stworzyć teksture z 2 warstwami np. dla psa. Jedna warstwa zielona, druga różowa z inna rozdzielczością. Jeśli mob będzie zmieniał kolor wraz z oddaleniem się od niego to masz rację.

Opublikowano

Tylko nie jestem pewny skuteczności takiej optymalizacji. Jeśli nie ma plików lod, to niezależnie od odległości między tobą a mobem, wczytywany jest ten sam model. W przypadku istnienia plików lod_XX.gr2, model jest stale podmieniany np. we wspomnianym przez cb DT, najpierw widzimy daleko moby te, które maja rozszerzenie _lod_01.gr2, następnie gdy moby są przy nas, zmienia się ich model na normalny (nie chodzi o odległość moba do kamery, lecz o odległość moba od postaci, co w sumie na jedno wychodzi). Zastanawia mnie czy w momencie podmiany tego modelu nie ma większego obciążenia niż jakby się załadowało jeden model wszędzie i nie zmieniało go. Bo zgadzam się, gdy moby sobie gdzieś tam daleko stoją, a my tylko przechodzimy przez mapę to mniej ram client zużywa, bo te modele są słabsze jakością, ale w momencie gdy się expi, następuje stała zmiana modeli z tych _lod_01.gr2 na normalne.

 

Jeśli chodzi o tekstury, to pierwsze słyszę, żeby plik dds/tga miał warstwy. Przy zapisie do takiego pliku, warstwy są scalane niczym jak w pliku jpg - nie odpalisz ponownie pliku z podziałem na warstwy bo już ich nie ma. Co innego kanały, ale ty piszesz o warstwach, a one na 99% nie są zapamiętywane przy zapisie do tych formatów. W sumie wystarczy stworzyć teksture z 2 warstwami np. dla psa. Jedna warstwa zielona, druga różowa z inna rozdzielczością. Jeśli mob będzie zmieniał kolor wraz z oddaleniem się od niego to masz rację.

 

Jakość modelu jest ustawiana ustania w zależności od oddalenia kamery (scroll w myszce) a nie odległości od moba.

Podmiana modelu nie obciąża silnika graficznego.

 

A tekstury może inaczej wyjaśnię.

 

8HwbUuI.png

 

O te mipmapy mi chodziło, jeżeli masz dalej oddaloną kamerę to wczytuje mipmapę z mniejszą rozdzielczością.

1011932_514376648616209_1943977858_n.png
Opublikowano

 

Jakość modelu jest ustawiana ustania w zależności od oddalenia kamery (scroll w myszce) a nie odległości od moba.

Podmiana modelu nie obciąża silnika graficznego.

 

A tekstury może inaczej wyjaśnię.

 

8HwbUuI.png

 

O te mipmapy mi chodziło, jeżeli masz dalej oddaloną kamerę to wczytuje mipmapę z mniejszą rozdzielczością.

Mipmapy powstają automatycznie przy zapisie do pliku DDS (a właściwie powinny zostać utworzone, chyba że wybrałeś jakiś inny sposób zapisu DDS).

Co do zmiany plików GR2, to kiedyś wrzuciłem model ripera do folderu z dzikim psem, zmieniłem nazwe na stray_dog_lod01.gr2 i sprawdzałem działanie tego. Gdy podchodziło się do potwora, to ten zmieniał swój wygląd. Czasami nawet dopiero po 3 sek. Na oryginalnym modelu tego aż tak nie widać. Może na nowej bince to jakoś inaczej działa.

Opublikowano

Mipmapy powstają automatycznie przy zapisie do pliku DDS (a właściwie powinny zostać utworzone, chyba że wybrałeś jakiś inny sposób zapisu DDS).

Co do zmiany plików GR2, to kiedyś wrzuciłem model ripera do folderu z dzikim psem, zmieniłem nazwe na stray_dog_lod01.gr2 i sprawdzałem działanie tego. Gdy podchodziło się do potwora, to ten zmieniał swój wygląd. Czasami nawet dopiero po 3 sek. Na oryginalnym modelu tego aż tak nie widać. Może na nowej bince to jakoś inaczej działa.

 

No ale generalnie wszystko działa tak jak opisałem.

1011932_514376648616209_1943977858_n.png
Opublikowano

Ja mam zajebiście lepsze pomysły xdd

 

Mówisz muza ~100mb?

Z 100mb można do 30mb *(kompresja której nasze ucho nie jest w stanie bez profesjonalnego sprzętu rozpoznać) Chodzi mi o format.

Wszelkie pliki graficzne .dds .tga można na .jpg z kompresją 100% (Nasze zmysły nie są w stanie rozpoznać tak małych zmian) Np 100mb p.graficznych do 40mb

 

 

No i tak jak piszesz xdd Klient tworzony od 0. Czyli same skrypty i jazda!

Opublikowano

Ja mam zajebiście lepsze pomysły xdd

 

Mówisz muza ~100mb?

Z 100mb można do 30mb *(kompresja której nasze ucho nie jest w stanie bez profesjonalnego sprzętu rozpoznać) Chodzi mi o format.

Wszelkie pliki graficzne .dds .tga można na .jpg z kompresją 100% (Nasze zmysły nie są w stanie rozpoznać tak małych zmian) Np 100mb p.graficznych do 40mb

 

 

No i tak jak piszesz xdd Klient tworzony od 0. Czyli same skrypty i jazda!

Weź pod uwagę, że jpeg nie obsługuje przeźroczystości.

gwo9.jpg


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...