Przejdź do treści

Pamięć tekstury (VRAM)

Ile VRAM zużywają tekstury na moim zasobie?

Odpowiedź: Tekstura 4K nie zajmuje na dysku tyle samo co w pamięci karty graficznej. W GPU leży nieskompresowana (4 bajty na piksel dla RGBA8) lub skompresowana blokowo: BC1 zużywa 8 bajtów na blok 4 × 4 pikseli (0,5 bajta na piksel), a BC3 i BC7 zużywają 16 bajtów na blok (1 bajt na piksel). Z mipmapami dodaje się łańcuch mniejszych wersji, które razem to około jednej trzeciej dodatkowe. Kalkulator sumuje to dla wszystkich twoich map, aby sprawdzić, czy aktywa mieszczą się w budżecie.

Wzór

Hukommelse pr. kort = bredde × højde × byte pr. pixel

BC1: 8 byte pr. 4×4-blok = 0,5 byte/pixel; BC3 og BC7: 16 byte pr. blok = 1 byte/pixel; RGBA8 ukomprimeret: 4 byte/pixel

Mip-kæden (½, ¼, ⅛ … af hver side) lægger 1/4 + 1/16 + … ≈ 1/3 til

Samlet = pr. kort × antal kort (fx 4 UDIM-tiles × 3 kort = 12)

Symbole i jednostki we wzorze
SymbolZnaczenieJednostka
oplRozdzielczość tekstury (kwadratowa)px
byte_pr_pxFormat w GPU
mipmapsMapy mip
antalLiczba map tekstur (UDIM-tiles × map na tile)kort
=Całkowita pamięćMB
=Na mapę teksturyMB
=Nieskompresowany do porównaniaMB
=Piksele na kartęMP

Ważność i źródło

Źródło
Microsoft DirectX blokkomprimering: BC1 = 8 byte, BC3/BC7 = 16 byte pr. 4×4 pixels; mip-kæde ≈ +⅓

Nie dotyczy, gdy

  • MB to tutaj 1024 × 1024 bajtów, jak pokazują silniki. Normalne mapy są często kompresowane jako BC5 (1 bajt/piksel, dwa kanały), a tekstury HDR jako BC6H (1 bajt/piksel). Strumieniowanie tekstur w Unreal przechowuje tylko poziomy mip potrzebne w pamięci, więc rzeczywiste zużycie może być niższe.

Przykład obliczeniowy

Wstawiono domyślne wartości kalkulatora. Liczby obliczono dokładnie tym wzorem, którego używa narzędzie.

Wstawiono

  • Rozdzielczość tekstury (kwadratowa)4096 px
  • Format w GPU1
  • Mapy mip1
  • Liczba map tekstur (UDIM-tiles × map na tile)12 kort

Dawca

  • Całkowita pamięć256 MB
  • Na mapę tekstury21,3 MB
  • Nieskompresowany do porównania1024 MB
  • Piksele na kartę16,8 MP

Sam kalkulator jest zablokowane

Utwórz bezpłatne konto, aby odblokować wszystkie artykuły, kalkulatory, szablony i asortyment — i uzyskać dostęp do quizów i klas. Zajmuje to poniżej minuty: imię, email i hasło. Żadna karta kredytowa.

Chcesz najpierw czegoś spróbować? Zobacz, czego możesz używać bez konta — strefa junior, leksykon, filmy i więcej.

Sådan bruger du den

Når et asset skal ind i et realtime-projekt, skal teksturerne holde sig inden for et hukommelsesbudget, især på mobil og VR. Beregneren regner, hvor meget dine teksturkort fylder i grafikkortet, med og uden komprimering og mipmaps.

Krok za krokiem

  1. Vælg teksturens opløsning.
  2. Vælg det format, motoren komprimerer til: BC7 til farve, BC1 til simple kort uden alfa.
  3. Vælg om der er mipmaps. Det er der næsten altid i 3D.
  4. Skriv antal kort: UDIM-tiles gange kort pr. tile (fx albedo, normal og ORM).

Typowe błędy

  • At bruge 4K på alt. En lille prop på skærmen har ikke brug for det.
  • At gemme teksturer ukomprimeret i motoren uden grund.
  • At glemme at hver UDIM-tile er sin egen tekstur.

Przykłady z codzienności

Hero-karakter med UDIMs

En karakter til en cinematic har 4 UDIM-tiles i 4K, hver med 3 kort (albedo, normal, ORM). Motoren bruger BC7 og mipmaps.

Rozdzielczość tekstury (kwadratowa)
4K (4096 × 4096)
Format w GPU
BC7 lub BC3/DXT5 (1 bajt/piksel)
Mapy mip
Z mapami mip
Liczba map tekstur (UDIM-tiles × map na tile)
12 karta

To znaczy: Teksturerne fylder 256 MB i VRAM, 21,3 MB pr. kort. Ukomprimeret ville det være 1024 MB.

Prop til et mobilspil

En tønde til et mobilspil har 3 kort i 1K med BC1-komprimering og mipmaps.

Rozdzielczość tekstury (kwadratowa)
1K (1024 × 1024)
Format w GPU
BC1/DXT1 (0,5 bajtu/piksel)
Mapy mip
Z mapami mip
Liczba map tekstur (UDIM-tiles × map na tile)
3 karta

To znaczy: Tønden bruger kun 2 MB. Det er et fornuftigt niveau for en lille prop.

Ukomprimeret UI-tekstur

Et stort UI-billede i 2K er sat til ukomprimeret RGBA uden mipmaps for at holde skarpheden.

Rozdzielczość tekstury (kwadratowa)
2K (2048 × 2048)
Format w GPU
Nieskompresowany RGBA8 (4 bajty/piksel)
Mapy mip
Bez mipmaps
Liczba map tekstur (UDIM-tiles × map na tile)
1 karta

To znaczy: Det ene billede fylder 16 MB. Overvej om BC7 er godt nok, så det kun fylder en fjerdedel.

Reguła praktyczna

En 4K-tekstur i BC7 med mipmaps fylder ca. 21 MB. Ukomprimeret fire gange så meget.

Jak sprawdzić odpowiedź

Pr. kort × antal kort skal give den samlede hukommelse.