Na tę chwilę czekał każdy, komu w grze brakuje FPSów na słabszych sprzętach, dotyczy to więc zwłaszcza osób tworzących na Androidy i Switcha.
Od najnowszej wersji 2024.4 (a także w wersjach beta) dostępna jest opcjonalnie kompresja sprzętowa tekstur pod GPU, co oznacza, że w przeciwieństwie do obrazów JPG, PNG czy QOI tekstura taka nie musi zostać rozpakowana do 32-bitowej bitmapy, a samo GPU bez problemu poradzi sobie z wszelkimi operacjami na tej teksturze w jej skompresowanej wersji. Oszczędza to zatem zarówno pamięć VRAM jak i czas przy korzystaniu z shaderów, czy po prostu przy rysowaniu na ekranie.
Repozytorium z przykłądowym projektem oraz instrukcją używania znajdziecie na githubie yoyogames:
github.com/YoYoGames/GM-GPUTextureCompression
Przygotowanie projektu jest na razie dość specyficzne, gdyż YYG nie skupiało się na razie na wsparciu po stronie IDE dla tego rozszerzenia, czekając na nasz feedback - możliwe więc, że w kolejnych wersjach nie będzie trzeba ręcznie wpisywać kompresji dla każdej grupy tekstur.
Co ważne, mimo kompresji i oszczędności VRAM na niektórych platformach (zwłaszcza na Androidzie) nadal obowiązuje limit wielkości tekstur. Nie wynika on tyle z wagi tekstury jaka faktycznie zmieści się w pamięci a... z limitu sterowników, które nie chcą operować na wartościach większych niż np. 2048 (2^11) czy (2^12). Wciąż jednak powinien być odczuwalny efekt poprawy nawet na niższych ustawieniach - jak twierdzi YYG, niektóre z testowanych przez nich gier zyskały aż 10x na wydajności. Jak jest faktycznie - zapewne trzeba poczekać na pierwsze opinie innych twórców.
Kompresja tekstur GPU dostępna w GM
środa, 01 Maja 2024, 18:22