Cała noc optymalizowania gry, tylko po to, żeby zejść z 8.33GB RAM na 5.90GB

Oraz zejść z rozmiarem gry z 3GB na okolice 2.5GB ( ͡° ͜ʖ ͡°)

Dodatkowo udało się uciąć kilka procent na zużyciu CPU, bo GPU praktycznie się tutaj nudzi ¯\(ツ)/¯


Czuję się zadowolony z optymalizacji, kilka długich godzin grzebania i zmiany kodu, ale podoba mi się ten efekt.

Dopełniam coś, czego nie robi prawie nikt, czyli dbanie o słaby segment sprzętu

#chwalesie #programowanie #gry

3584e6cf-02f2-4584-b49c-07fcabd2bd29

Komentarze (34)

Gagger

@SuperSzturmowiec Jak dużo? Przeglądarki internetowe więcej zjadają

SuperSzturmowiec

@Gagger prosta grafika itp w flashu powinna działać xd

ataxbras

@Gagger Super wygląda Twoja gierka, naprawdę. I optymalizacja to dobra rzecz. I zapewne robisz ją najlepiej, jak można.

Jedynie napawa mnie jakimś smutkiem fakt, że wziąwszy pod uwagę kompleksowość Twojej gry, nie możesz jej zoptymalizować do, powiedzmy, kilkudziesięciu mega (nie z Twojej winy, optymalizacji bazowych bibliotek raczej nie zrobisz). Zaczynałem od ośmiobitowca. W czasach pierwszych pecetów, gier typu jaki pokazałeś, było mnóstwo. Oczywiście jest kwestia rozdzielczości, algorytmów płynnego ruchu i oświetlenia, powiększonych tekstur. Ale dalej jest to na mój nos za mało na 2.5GB. To samo tyczy się optymalizacji RAMu.

Zwyczajnie nie ma to uzasadnienia.

Choć te czasy, gdy każdy bit się liczył, raczej nie wrócą. Albo wrócą, ale to nie ludzie będą ją robić.

Gagger

@ataxbras Kiedyś obrazki były 8bitowe, z kilku pikseli złożone, teraz jest to 32x32

Niestety, ciężko zejść na jakieś 3GB RAM, bo to praktycznie niemożliwe, silnik, biblioteki i masa innych podprogramów zżera to potężnie


Jedynie pocieszyć się można tym, że mało jak przeglądarka zjada 6GB RAM, bo jest to zazwyczaj więcej

Sam Windows zjada ponad 8GB.


Może (MOŻE) po skompilowaniu będzie to mniej, ale też nie nastawiałbym się na za wiele, zejdzie do max 5GB

100mph

@Gagger graficznie nie odbiega to od gier typu Prince of Persia z mojej mlodosci, a wtedy na amige taka gra miescila sie na dyskietce xD teraz 6gb ramu LOL

100mph

@SuperSzturmowiec no prosze Cie, GTA III i GTA VICE CITY zajmowaly 1,5GB HDD

Opornik

@100mph @SuperSzturmowiec

ba7853e2-c21f-4c64-806d-97df8b793e50
SuperSzturmowiec

@100mph to obrazuje jak kiepskie silniki są teraz albo ich twórcy mają wywalone. Ile mocy pc idzie w powietrze

100mph

@SuperSzturmowiec programowalem w swoim zyciu w jezykach "technicznych" i tam wyglada to tak, ze nikt nie korzysta z niskopozionowych jezykow przez co do pierdol stosuje sie nieadekwatnie zasobozerne narzedzia

Gagger

@100mph Nie, że nie odbiera.

Jest stylizowana. Jest różnica między kilkubitowymi obrazkami, dla rozdzielczości 720p i 360p

A piskelowym stylem dla 1080p, 1440p i 3840p


Porównujesz całkowicie inne rzeczy, bo kiedyś dźwięk czy tekstura były bitowe, nie jak dziś w formatach, które już wymagają dość trochę zasobów

100mph

@Gagger O tym mowie. Dlatego czlowiek na ksiezycu wyladowal przy pomocy komputera z 4mb ramu, a gra 2-plaszczyznowa wymaga 6gb xD

Gagger

@100mph Bo chcesz lepszą jakość, szybciej.

Możesz pograć na 360p czy mniejszej i mieć wykorzystane mniej RAM


Ale ludzie chcą grać w 4K a coraz częściej i w 8K

Mimo, że nie ma sprzętu praktycznie do 4K


Gdyby nie ciągła pogoń za lepszą grafiką, szybszym wczytywaniem poziomów, większą ilością NPC na mapie, to byłoby tak jak chcesz, 1GB RAM na grę o 300MB miejsca na dysku

Ale z powodów wymienionych wyżej, no niestety, te tekstury w 1440p trochę ważą i na dysku i w pamięci

Te postacie, światła, cienie, efekty etc.

100mph

@Gagger Żeby była jasność to w zupełności Cię nie chce krytykować. Kiedyś funkcjonowano przy ograniczonych zasobach sprzętowych, teraz tym się nikt nie przejmuje bo hardware już tak szybko się nie rozwija i nie jest tak drogi.

Gagger

@100mph Ja Ci spokojnie odpowiadam, po prostu mam taki styl pisania.

spokojnie

Arientar

@Gagger skoro grafika ms bus stylizowana na mocno pikselową i i tak ma mieć tyle samo szczegółów co grafika w mniejszej rozdzielczości, to po co robić grafikę w dużo większej rozdzielczości, gdzie I tak będą to te same piksele obok siebie. Czy proste skalowanie w górę metodą "najbliższego sąsiada"? Przecież grafika 32x32 piksele now będzie bardziej szczegółowa, gdy narysujesz ją jako siatkę takich samych 30x30 kwadratów w grafice 960x960 px. Czy może ciągle skalowanie wszystkich grafik by zjadło za dużo mocy obliczeniowej?

ataxbras

@Arientar Dałoby się skalować przy minimalnym obciążeniu. Dałoby się zastosować odpowiedni antialiasing z wrażliwością na krawędzie pikseli. Masz rację w tym, co piszesz.

Problemem jest tutaj pipeline renderera - żeby cokolwiek tutaj zoptymalizować, należałoby przebudować ów pipeline. I wtedy, taka gra byłaby o rząd wielkości mniejsza (co najmniej) i zapewne wydajniejsza.

Ale to choroba współczesnego developmentu softu - składanie paczek wypakowanych gigami zbędnego badziewia, bo dawno zapomniano o oszczędności zasobów.

Argumenty @Gagger są dosyć słabe, choć rozumiem, że on operuje w granicach narzuconych przez soft, którego używa.

Nie ma większego znaczenia rozdziałka, na jaką się rzutuje, skoro to rzutowanie jest wykonywane w przypadku każdej rozdzielczości. I jak masz grafikę pikselową, to możesz ją wrzucić w natywnej rozdzielczości. Ale zapewne się nie da w tym przypadku, pewnie są jakieś limity.

lokurva

@Gagger szanuję takie podejście do wytwarzanego softu

owczareknietrzymryjski

> z 8.33GB RAM na 5.90GB

@Gagger xxxxxDDDDDDDDDDDDDDDDDD

Gagger

@owczareknietrzymryjski Nie żebym się czepiał, ale zejdź niżej

Jest to praktyków niemożliwe, bo sam silnik zjada swoje zasoby

A tu masz jeszcze masę rzeczy typu potwory, obiekty, światła, cienie i dziesiątki innych rzeczy

owczareknietrzymryjski

@Gagger xxxxxxxxxxxxxxxxxxDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Catharsis

Nie ma opcji żeby to było normalne żeby ta gra zużywała 6GB ramu xD. W życiu nie widziałem żeby prosta gra 2D tyle zużywała. A przez długi czas byłem wyczulony bo jeszcze pół roku temu siedziałem i grałem na złomie z 8GB ramu i zawsze zwracałem uwagę ile zużywają gry. Ba, duże gry 3D potrafiły zużywać dużo mniej ramu. Może o czymś nie wiesz, nie wiem może da się te tekstury zoptymalizować, skompresować cokolwiek nie znam się, ale na pewno to nie jest normalne. I wiem, że to jest robione w gotowym silniku do tworzenia gier, ale nadal. Przecież prawie każdy z takich korzysta a jakoś gry tyle nie zajmują w ramie.

fsd

@Catharsis odpaliłem swój twór zrobiony na pałę na jakiś konkurs na gównianym silniku. Wielkości gry nie ma co porównywać, bo moja ma contentu na niecałą godzinę, ale pamięć jak najbardziej. U mnie prawie wszystko jest na jednej planszy, sporo obiektów, grafiki dla rozdziałki HD z normalną 32-bitową paletą, bez żadnych sztuczek. Z całym ciężarem silnika zajmuje prawie 400MB.

maly_ludek_lego

@Catharsis Nie chce krytykować twórcy, ale dla mnie też to dużo za dużo. Coś jest tam nie tak.

Niestety. Rozumiem max 2, 3 gb ram, ale nie 6 czy 8 na taką gierkę.

szczekoscisk

Cała noc optymalizowania gry, tylko po to, żeby zejść z 8.33GB RAM na 5.90GB


Dopełniam coś, czego nie robi prawie nikt, czyli dbanie o słaby segment sprzętu

37bc72b3-9bec-4ea1-97e6-2d3cabf85d20
Eruanno

6GB RAM do platformówki 2D xD fajnie się bawisz się w optymalizację ale wyczuwam trolling

ataxbras

@Greyman Świetny rant.

sierzant_armii_12_malp

@Gagger Czy ty chcesz mi wmówić, że ta gra ze screenshotu zżera prawie 6 GB RAM? Sorry, ale jeśli tak, to straszne gówno odwaliłeś.

Zaloguj się aby komentować