2017-11-17 12 views
0

부울 데이터 사용을 위해 R8Uint 형식을 사용하는 몇 가지 예를 보았습니다. 그러나 스토리지를 절약하는 다른 솔루션이 있습니까?bool 데이터 저장에 가장 적합한 버퍼 텍스처 형식은 무엇입니까?

+0

[유효한 버퍼 텍스처 형식] (https://www.khronos.org/opengl/wiki/Buffer_Texture#Image_formats) 목록은 길지 않습니다. 선택할 수있는 것이 많지 않습니다. 당신은 정확히 우리의 조언이 필요합니까? –

+0

@NicolBolas 다른 답장에서 내 질문을 지정했습니다. 비트 패킹/패킹 작업의 성능 영향에 대한 통찰력이있는 경우 감사하겠습니다. –

답변

0

음, 가장 작은 형식은 1 바이트입니다.
명백한 의미 : 상황에 따라 8 비트 (부울)를 해당 바이트에 저장할 수 있습니다.

+0

참. 필자는 데이터를 다른 정밀도 형식으로 묶는 코드에 대해 읽었습니다. 그러나 누구든지 부랑자들을 위해 그것을 보지 못했습니다. 그래서 모든 가능한 솔루션을 알고 싶었고 그런 상황에서 쉐이더에서 패킹/언 패킹 작업이 성능을 저하시킬 수 있는지도 알고 싶었습니다. –

+1

쉐이더에만 국한된 것은 아니며, 일반 C++과도 관련이 있습니다. 'bool '을 비트 필드로 /부터 압축/풀기는 정확히 하나의 bitwise- & (보통 가장 빠른 op가 있습니다)입니다. 메모리가 작 으면 캐시 (셰이더에서 텍스처로드)에 도움이 될 수 있으므로 경우에 따라 일부 성능을 다시 얻을 수도 있습니다. – krOoze