Pytanie: Dlaczego ta sama ilość pikseli zajmuje znacznie mniej pamięci wideo, jeśli jest przechowywana w kwadratowej teksturze niż w długiej prostokątnej fakturze?OpenGL: Dlaczego tekstury kwadratowe zajmują mniej pamięci?
Przykład: Tworzę tekstury o rozmiarze 360 4x16384 za pomocą komendy glTexImage2D. Format wewnętrzny to GL_RGBA. Pamięć wideo: 1328 MB.
Jeśli tworzę 360 × 256 × 256 tekstur z tymi samymi danymi, zużycie pamięci jest mniejsze niż 100 MB.
Korzystanie ze zintegrowanego procesora graficznego Intel HD4000.
Nie jestem w 100% pewny, ale myślę, że ma to związek z tym, jak OpenGL obsługuje dane pikselowe za pomocą ich połączeń tekstowych. Kiedy Obrazy są kwadratowe, myślę, że ma to związek z potęgą 2, gdy przechowuje dane z tylnego bufora, aby były gotowe do renderowania. –
Czy generujesz mipmapy? Myślę, że nie, ale po prostu, aby się upewnić;) – Mars
@Mars: Masz rację, zapomniałem precyzyjnie, że NIE używam mipmaps. – Szak1