Wpis z mikrobloga

YAY, UDAŁO SIĘ! ^^
TL;DR: Jestem j-----m k---a geniuszem! :3
Mój algorytm kompresji (LWM) modeli PlayCanvasa udał się z sukcesem!

Tabela wyników do zobrazowania:
- Oryginalny JSON - 4.50 MB;
- Kompresja MsgPackiem - 2.65 MB;
- Kompresja LWM - 2.55 MB;
- Kompresja LWM (SSPD) - 2.03 MB;
- Kompresja LWM (clean) - 1.60 MB;
- Kompresja GZIP - 1.27 MB;
- Kompresja LWM (clean SSPD) - 1.08 MB;
- Kompresja 7ZIP - 1.05 MB;

A teraz legenda:
- LWM - bezpośrednia reprezentacja binarna bez kompresji, jakby przetłumaczyć JSONa na binarkę (mało seksi);
- LWM (SSPD) - skompresowana reprezentacja binarna modelu (Small Size of Packed Data; bardziej seksi);
- LWM (clean) - binarka bez kompresji, ale wypieprzone dane normalek i texcoordów z meshy (docelowo nie są nam potrzebne w każdym meshu modelu używanym w tym projekcie; very sexi);
- LWM (clean SSPD) - skompresowana binarka z wypieprzonymi danymi normalek i texcoordów z meshy (almost orgasm);

A póki co to wyniki bez jakiejkolwiek kompresji floatów! Nad nimi już dziś nie posiedzę, ale orgasm będzie z dobrze zaimplementowaną kompresją floatów - docelowo chcę zejść do maksimum 70% tego, co oferują już teraz kompresje SSPD i clean SSPD <3

#gamedev #playcanvas #nieprogramowanie #chwalesie

  • 42
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MP0WER: Nie chcę zabrzmieć jak rasista


ale nie widzi mi się pracować w mieście pełnym muslimów, oraz nie czuć się bezpiecznie wracając nocą po mieście :|
  • Odpowiedz
@PsichiX: p------o? za taka stawke to ty bys wracal bmw gran coupe z wlasnym kierowca. A nawet mogl miec prywatnego ochroniarza co by nawalal twoich muslimow. XD
  • Odpowiedz
@PsichiX: nie lepiej wlasny zrobic i pobierac hajs za subskrypcje? dla 100 osob po 15 dolcow masz miesiecznie 5700 zl siedzac na dupie.

do tego zachecisz wiecej i masz n-razy wiecej.

a jedyne co robisz to popijasz szampana na hawajach.
  • Odpowiedz
@MP0WER: to nie jest takie proste - ogarnąć dobry model biznesowy nowo powstałego silnika to nie jest taka bułka z masłem. sama ciężka praca niewiele tu da. target. zabezpieczenie przed wyparciem z rynku przez inne firmy. w wielu miejscach byłem, wiele widziałem na rynku silników do gier. to, co dotąd zrobiłem to nadal za mało na start z własnym silnikiem za hajs. serio, wiem co mówię. gamedev to ostra suka
  • Odpowiedz
@PsichiX: skoro sam robisz taki wielki silnik to chyba sie da samemu? nie mowimy o konkurencji unity, UE, CE ale jakas nisza.

a model biznesowy to przeciez nie jest takie ciezkie, zawsze mozesz kogos wziasc do pomocy.
  • Odpowiedz
@MP0WER:
ta nisza jest już eksploatowana. dlaczego w pracy zarzuciliśmy wieloletni silnik? bo konkurencja jest lepsza, wiedzą lepiej od nas jak zarobić na tym, co zrobili. my byliśmy w piaskownicy, mimo iż technologicznie wymiataliśmy, to silnik ssał z punktu widzenia obsługi użytkownika. a to robota na kolejne miesiące. kto zapłaci na R&D, gdy ledwo znajduje sie hajs na aktualne pokrycia? nie, nie. postanowiłem: dopóki z własnym silnikiem nie osiągnę przewagi
  • Odpowiedz
@PsichiX:

- LWM - bezpośrednia reprezentacja binarna bez kompresji, jakby przetłumaczyć JSONa na binarkę (mało seksi);
Co to znaczy? W jaki sposób tłumaczysz ASCII na binarkę? ( ͡° ͜ʖ ͡°) Chodzi Ci o jakąś uporządkowaną strukturę danych?

Porównujesz swój algorytm z innymi, osiągając obiecujące wyniki - ale czemu "odśmiecanie" stosujesz tylko dla swojej kompresji? Fajnie, że coś takiego robisz - ale nie wybielaj sobie wyników. :D
  • Odpowiedz
@PsichiX: Super, ale patrzysz rowniez na uzycie CPU? Odrzucilem niedawno kilka silniejszych algorytmow kompresji do stosowania przy replikacji baz danych wlasnie dlatego, ze mialy za duze wymagania CPU. Patrzac na laczny czas kompresji i przesylu skompresowanych danych silna kompresja nie byla wcale optymalna.
  • Odpowiedz
@matcheek: w tym przypadku kazde zejscie z wagi jest wazniejsze, niz dlugosc czasu dekodowania (tych pareset ms mnie nie rusza akurat) - klient wymaga, klient dostaje :)
  • Odpowiedz
@PsichiX: Haha, zapomniałem o tym McDrive. :) Niestety, z Snake nie mam już kontaktu od dłuższego czasu. Spróbuję z nim się skontaktować ʕʔ
  • Odpowiedz
@PsichiX: czyli wywaliłeś część danych i się dziwisz że lepiej kompresujesz od popularnych algorytmów kompresujących? (którym dałeś podstawowego JSONa)

Znaczy - to też jest rozwiązanie, ale mimo wszystko poszukałbym gotowych rozwiązań/algorytmów. Po pierwsze dlatego, że będą wydajniejsze (bo są dziełem pracy dziesiątek programistów i lat doświadczeń w kompresji danych, oraz są poparte licznymi pracami doktorskimi i dowodami ich skuteczności), a po drugie że często można znaleźć gotowe implementacje w JS,
  • Odpowiedz