Warsztat.GD

Produkcja gier => Grafika 2D => Wątek zaczęty przez: timus w Maj 04, 2015, 17:11:47

Tytuł: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: timus w Maj 04, 2015, 17:11:47
BPG (Better Portable Graphics) to format grafiki stratnej i bezstratnej o wysokim stopniu kompresji który ma być następca jpeg(jak dla mnie to również idealny następca png). Kilka ważniejszych jego cech:

Posiada jednakże jeden bardzo duży problem, HEVC jest opatentowany w USA, nie jestem prawnikiem ale wydaje mi się, że może to być spora przeszkoda.

Przykłady:

Więcej informacji i szczegółowy na stronie libbpg.org (http://libbpg.org/).

Co o tym formacie sądzicie? Czy nadaje się na następce JPEG? Czy nadaje się do użycia w grach? Czy ktoś obeznany z prawem może powiedzieć coś na temat problemu z patentem?
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Krzysiek K. w Maj 04, 2015, 19:11:37
Cytuj
Czy nadaje się do użycia w grach?
A co ma format pliku do gier? Nie sądzę, żeby kiedykolwiek karty graficzne pozwalały na trzymanie tekstur skompresowanych jako BPG, więc co najwyżej zmniejszy to samą paczkę z grą, ale na samo działanie nie wpłynie kompletnie.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: koirat w Maj 04, 2015, 21:30:21
Animacja może się przydać.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xion w Maj 04, 2015, 22:40:49
Hah, przeczytałem ten wątek jako "BGP, przyszłość Internetu" i myślę sobie "Jaka przyszłość? Przecież na BGP Internet działa od dekad!" :) Następnym razem dodaj, że chodzi o grafikę w grach i Internecie.

A co do samego BPG, to zamiast porównań z formatem z zeszłego stulecia, chętniej bym zobaczył, jak się sprawuje w starciu z wynalazkami bliższymi teraźniejszości, jak WebP.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: aphity w Maj 04, 2015, 23:02:19
A co ma format pliku do gier?
Dla AAA pewnie nie zrobi to wielkiej różnicy (bo co to za problem dorzucić do pudełka jeszcze jednego Blu-raya ;) ), ale w grach mobilnych i online objętość paczki tudzież czas downloadu assetów to dość istotne czynniki

Hah, przeczytałem ten wątek jako "BGP, przyszłość Internetu" i myślę sobie "Jaka przyszłość? Przecież na BGP Internet działa od dekad!" :) Następnym razem dodaj, że chodzi o grafikę w grach i Internecie.
To samo. Tyle że ja pomyślałem, że to jakiś news dotyczący odejścia od BGP na rzecz czegoś lepszego :P

edit: Aha, odnośnie patentów: jeżeli faktycznie jest tak jak piszesz, tzn. ta firma ma patent na rozwiązania użyte w tym formacie (i nie da się tych fragmentów zmienić tak by nie naruszać patentów), to, o ile format się spopularyzuje, pewnie skończy się na tym że każdy producent browserów tudzież eksporterów do tego formatu będzie odprowadzać opłatę licencyjną. Tak było z mp3 - tylko że tam posiadacz patentu (Fraunhofer Institut?) zażyczył sobie opłat tylko od enkoderów - więc w cenie produktów umiejących tworzyć mp3 zawarte było bodaj ok. $1 tej opłaty licencyjnej.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: timus w Maj 04, 2015, 23:31:09
A co do samego BPG, to zamiast porównań z formatem z zeszłego stulecia, chętniej bym zobaczył, jak się sprawuje w starciu z wynalazkami bliższymi teraźniejszości, jak WebP.
Proszę bardzo, mozilla zrobiła takie porównanie(patrz HEVC): http://people.mozilla.org/~josh/lossy_compressed_image_study_july_2014/ (http://people.mozilla.org/~josh/lossy_compressed_image_study_july_2014/)(jasno widać, że WebP jest na przegranej pozycji)

Hah, przeczytałem ten wątek jako "BGP, przyszłość Internetu" i myślę sobie "Jaka przyszłość? Przecież na BGP Internet działa od dekad!" :) Następnym razem dodaj, że chodzi o grafikę w grach i Internecie.
Wydawało mi się, że umieszczenie tego tematu w dziale Grafika 2D wystarczy, widać duża ilość osób nie zwraca na ten szczegół uwagi, w przyszłości postaram się zawierać tego typu informacje w tytule.

więc co najwyżej zmniejszy to samą paczkę z grą, ale na samo działanie nie wpłynie kompletnie.
Po to właśnie używa się coraz to lepszych algorytmów kompresji w nowych formatach.

Nie sądzę, żeby kiedykolwiek karty graficzne pozwalały na trzymanie tekstur skompresowanych jako BPG
Nie wydaje mi się aby gpu pozwalana na używanie jakiegokolwiek formatu z kompresja(? ktoś ma jakieś informacje, ze tak można ?) chociażby na wzgląd na wydajność. Z drugiej strony nie wszystkie gry muszą używać GPU, ba nawet nie muszą mieć grafiki!
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xender w Maj 05, 2015, 14:21:08
Nie wydaje mi się aby gpu pozwalana na używanie jakiegokolwiek formatu z kompresja(? ktoś ma jakieś informacje, ze tak można ?) chociażby na wzgląd na wydajność.
Są specjalne formaty do kompresji tekstur.
Taka kompresja jest lokalna (tekstura dzielona jest na prostokątne bloki o stałej wielkości) i ma stały współczynnik, co pozwala zachować dostęp swobodny do dowolnego fragmentu w O(1).

https://en.wikipedia.org/wiki/Texture_compression
https://www.opengl.org/wiki/S3_Texture_Compression

Ta klasa algorytmów AFAIK nie ma zastosowania do kompresji plików/strumieni - czy to obrazków, czy wideo.
Chociaż kompresja wideo to temat-rzeka, więc może się mylę i tam też znalazła jakąś niszę.

Z drugiej strony nie wszystkie gry muszą używać GPU, ba nawet nie muszą mieć grafiki!
Grze bez grafiki BPG ani żadna inna jej kompresja niepotrzebna.
Chcesz wykoleić własny temat? :P
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: timus w Maj 05, 2015, 15:32:22
Grze bez grafiki BPG ani żadna inna jej kompresja niepotrzebna.
Chcesz wykoleić własny temat? :P
BPG bezstratny można przecież użyć jako formatu mapy 2D dla gry tekstowej. Przy bardzo dużych mapa pewnie sporo okroił by rozmiar w porównaniu np do mapy w formacie txt.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xirdus w Maj 05, 2015, 20:23:29
@timus: a nie lepiej do kompresji tekstu zastosować format do kompresji tekstu?
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Krzysiek K. w Maj 05, 2015, 20:48:52
Cytuj
Nie wydaje mi się aby gpu pozwalana na używanie jakiegokolwiek formatu z kompresja(? ktoś ma jakieś informacje, ze tak można ?) chociażby na wzgląd na wydajność.
Tekstury trzyma się skompresowane na GPU właśnie ze względu na wydajność. Dekompresję GPU robi całkowicie sprzętowo, więc dekompresja nie boli, a zysk wydajnościowy jest, bo mniej danych do przeciągnięcia z pamięci do GPU.

Cytuj
@timus: a nie lepiej do kompresji tekstu zastosować format do kompresji tekstu?
Jeśli masz zapisaną mapę 2D jako plik tekstowy, to nie zmienia to faktu że nadal są to dane 2D. Inna kwestia, że danych mapy raczej nie będzie tak wiele, żeby sobie tym głowę zawracać.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xirdus w Maj 06, 2015, 01:56:11
Jeśli masz zapisaną mapę 2D jako plik tekstowy, to nie zmienia to faktu że nadal są to dane 2D.
Ale inne dane. Specyfika plików graficznych i plików tekstowych jest na tyle różna, że wątpię by algorytm zoptymalizowany pod grafikę pokonał na tym polu algorytm zoptymalizowany pod tekst. Inna sprawa, że ASCII Art tak naprawdę tekstem nie jest (chodzi o dystrybucję poszczególnych liter na przestrzeni tekstu), więc i algorytmy inaczej zadziałają. Oczywiście pomijając to, że jak już wspomniałeś, dużo tego nie ma, a jak trzeba to ZIP starczy aż nadto.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Krzysiek K. w Maj 06, 2015, 03:29:41
Cytuj
Ale inne dane. Specyfika plików graficznych i plików tekstowych jest na tyle różna, że wątpię by algorytm zoptymalizowany pod grafikę pokonał na tym polu algorytm zoptymalizowany pod tekst.
Algorytm kompresji plików graficznych ma tę przewagę, że robi predykcję na podstawie sąsiadów w dwóch wymiarach.

Cytuj
Inna sprawa, że ASCII Art tak naprawdę tekstem nie jest (chodzi o dystrybucję poszczególnych liter na przestrzeni tekstu), więc i algorytmy inaczej zadziałają.
Właśnie o to mi chodzi. Poza tym nie widziałem generalnie żadnego algorytmu do kompresji typowo tekstu, który był by w szerszym użyciu - zwykle używa się zipa i tyle.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xion w Maj 06, 2015, 06:22:05
Cytuj
Właśnie o to mi chodzi. Poza tym nie widziałem generalnie żadnego algorytmu do kompresji typowo tekstu, który był by w szerszym użyciu - zwykle używa się zipa i tyle.
Przy obecnych rozmiarach pamięci i szybkościach transferu, zwykły tekst nie osiąga po prostu rozmiarów na tyle kłopotliwych, żeby jakaś specjalna kompresja się opłacała. Wyjątkiem może być kompresja tekstu o pewnej strukturze, czyli np.:
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Krzysiek K. w Maj 06, 2015, 12:15:20
Cytuj
(inna sprawa, że np. zminifikowany JavaScript pod względem entropii ma niewiele wspólnego z kodem, o prozie nie wspominając, a o wiele więcej z binarnymi blobami)
Byś się zdziwił. Zminifikowane źródła bardzo często kompresują się lepiej od binarek (gdzie "a+b" bardzo rzadko da się zakodować w trzech bajtach), a także oryginalnych źródeł (brak spacji i  długich identyfikatorów).
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xender w Maj 06, 2015, 16:15:50
Wyjątkiem może być kompresja tekstu o pewnej strukturze, czyli np.:
  • kodu w VCS-ach przy dużych projektach (>1MLOC) -- tutaj można by zobaczyć, czego używają np. Git albo Perforce
Nie wiem, co siedzi w P4.

W Gicie luźne obiekty to zwykłe, generyczne zlib.deflate.
Packfile chyba tym samym, tylko przedtem robi się delty pomiędzy różnymi obiektami w packfile (korzystając z heurystyki, że bloby odpowiadające plikom o tej samem nazwie i pozycji w drzewie w kolejnych commitach (czyli po prostu kolejno zacommitowane wersje jednego pliku) prawdopodobnie są podobne i delty między nimi będą małe).
Delty są tutaj chyba binarne.

Hg z kolei leci na diffach, chyba tekstowych, pewnie też kompresowanych, ale nie wiem.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: albireo w Maj 06, 2015, 18:55:05
Hg z kolei leci na diffach, chyba tekstowych, pewnie też kompresowanych, ale nie wiem.
Hg leci na kompresowanych deltach binarnych, przy czym od czasu do czasu zamiast delty wrzuca pełną wersję pliku (aby do odtworzenia 20kB pliku nie trzeba było przetwarzać 10MB delt).

Natomiast co do formatu BPG, to bezstratna wersja nie jest jakoś dużo lepsza niż stare PNG, a wymaga dużo więcej mocy procesora do dekodowania (nie wspominając już o kodowaniu).
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Westen w Maj 11, 2015, 20:40:46
"Możliwość osadzenia metadanych np. EXIF"

I właśnie ta możliwość nie zdyskredytuje formatu PNG. W czasach gdzie każdy każdego szpieguje to format obrazu, który nie posiada metadanych EXIF to jest jak święty Gral
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xirdus w Maj 11, 2015, 20:45:37
Jest 10 rodzajów ludzi: ci, którzy nie wiedzą co to EXIF, ci, którzy mają EXIF gdzieś, ci, którzy używają edytorów EXIF żeby je wyciąć ze swoich zdjęć, oraz ci, którzy robią słabe matematyczne żarty używając niestandardowego systemu liczbowego.
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: Xender w Maj 11, 2015, 20:56:25
Offtop time!

https://xiph.org/daala/
Tytuł: Odp: BPG przyszłość gier i internetu?
Wiadomość wysłana przez: sebas86 w Maj 16, 2015, 23:22:57
Krzysiek, takie rzeczy jednak w grach się przydają. Sam mam ostatnio urwanie głowy z grafiką w Unity, każdy marudzi, że buildy za wielkie ale jakoś nikt nie chce poświęcić jakości. W grach 2D niestety kompresja tekstur w oparciu o PVRTC czy ETC nie nadaje się do większości zasobów. Unity w ogóle nie stosuje dodatkowej kompresji do plików graficznych trzymanych razem z aplikacją, jeśli gdzieś jest RGB32 to prosta gierka z retinowymi assetami dla tabletów potrafi lekką ręką wrąbać po instalacji 0.5GB miejsca…  a w środku ledwo kilka tekstur 4096x4096. sytuację ratują asset budnle, które wykorzystują LZMA i bardzo ładnie się kompresują, ale niestety kosztem rezygnacji z części ułątwień w zarządzaniu zasobami gry.

Więc w grach jak najbardziej trzeba dbać o takie rzeczy – jaki sens marnować skąpe zasoby przestrzeni dyskowej na urządzeniach mobilnych? Rozmiar aplikacji po instalacji to jeden z czynników decydujących o zatrzymaniu użytkownika na dłużej, jeśli zacznie mu brakować miejsca na telefonie/tablecie to duża gra będzie pierwszą rzeczą, która wyleci, nawet jeśli cenił ją wyżej od innej ale lżejszej.