Recommended
PDF
PPT
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
PPTX
PDF
[NDC2016] TERA 서버의 Modern C++ 활용기
PDF
멀티스레드 렌더링 (Multithreaded rendering)
PPTX
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
PPTX
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기
PDF
임태현, MMO 서버 개발 포스트 모템, NDC2012
PDF
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
PPTX
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
PPTX
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
PDF
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
PPTX
PDF
Multiplayer Game Sync Techniques through CAP theorem
PDF
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
PPTX
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
PDF
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
PDF
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
PDF
임태현, 게임 서버 디자인 가이드, NDC2013
PDF
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
PDF
송창규, unity build로 빌드타임 반토막내기, NDC2010
PPTX
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
PDF
MMOG Server-Side 충돌 및 이동처리 설계와 구현
PDF
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
PDF
PDF
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
PPTX
PPTX
Tips and experience of DX12 Engine development .
PDF
PPTX
More Related Content
PDF
PPT
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
PPTX
PDF
[NDC2016] TERA 서버의 Modern C++ 활용기
PDF
멀티스레드 렌더링 (Multithreaded rendering)
PPTX
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
PPTX
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기
PDF
임태현, MMO 서버 개발 포스트 모템, NDC2012
What's hot
PDF
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
PPTX
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
PPTX
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
PDF
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
PPTX
PDF
Multiplayer Game Sync Techniques through CAP theorem
PDF
쉐도우맵을 압축하여 대규모씬에 라이팅을 적용해보자
PPTX
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
PDF
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
PDF
[NDC19] 모바일에서 사용가능한 유니티 커스텀 섭스턴스 PBR 셰이더 만들기
PDF
임태현, 게임 서버 디자인 가이드, NDC2013
PDF
오승준, 사회적 기술이 프로그래머 인생을 바꿔주는 이유, NDC2011
PDF
송창규, unity build로 빌드타임 반토막내기, NDC2010
PPTX
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
PDF
MMOG Server-Side 충돌 및 이동처리 설계와 구현
PDF
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
PDF
PDF
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
PPTX
PPTX
Tips and experience of DX12 Engine development .
Viewers also liked
PDF
PPTX
PDF
PPTX
PPTX
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
PDF
PPT
PPTX
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
PPTX
PPT
PDF
PDF
OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead
PDF
Display color와 Digital texture format의 이해
Similar to Ndc2012 최지호 텍스쳐 압축 기법 소개
PDF
Dj vu 압축 포맷 소개 및 기술 백서 2012-08
PDF
PPTX
PPTX
DOC
PPT
PPTX
[데브루키]노대영_프린이를 위하여(프로그래밍 어린이)
PDF
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
PPTX
PDF
PDF
PPT
PPTX
PDF
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
PDF
Unity3D로 풀3D web mmorpg 만들기
PPTX
[Gpg2권]4.7 인쇄해상도의 스크린샷 만들기
KEY
PPTX
PDF
PDF
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Ndc2012 최지호 텍스쳐 압축 기법 소개 1. 2. 텍스쳐
• 게임에서 아주 중요한 요소
• 게임의 비쥬얼을 좌우
• 성능과 밀접한 영향
• 사이즈가 가장 크고
• 로딩 시갂을 가장 많이 차지
3. 텍스쳐 #2
• 점점 커지고 있다
– 2048x2048x4 = 16MB in RGBA8888
– 개수도 증가
• Normal-map/specular-map/AO-map/light-
map/env-map…
• 압축은 필수!!!
4. 5. 6. DDS
• 4x4 블록 기반 (손실) 압축 방식
– DXT1 => 6:1 고정 압축률 (w/o 알파)
• 그래픽카드에서도 압축 유지
– 쓸 수 밖에 없는 이유
• 디코딩: 매우 빠름
• 인코딩: 빠르짂 않음
7. 8. DDS #3
• SC/EC를 각각 R5G6B5로 저장
• 4x4 픽셀 각각에 대해
– 2비트 인덱싱을 저장
• 00: SC
• 01: EC
• 10: 2/3*SC + 1/3*EC
• 11: 1/3*SC + 2/3*EC
• 총 8Bytes(64bits)/블록
• 48바이트 ->8바이트 압축률
9. DDS 지원 라이브러리
• Squish
– SSE 최적화
• nvtt
– Nvidia, squish기반, CUDA 지원
• Compressonator
– ATI, 퀄리티 좋음
• J.M.P.’s
– Id소프트, MMX/SSE 최적화, 매우 빠름
10. DDS + ZIP
• DDS만 사용하는 것보다 압축률 높음
• ZIP 압축해제는 비용이 저렴함
– LZMA등이 더 효율적이나 ZIP이 훨씬 빠름
• GPU메모리에도 효율적
11. 12. JPEG #2
• 압축해제 느림
• 퀄리티 컨트롤: 1~100
• libjpeg-turbo 라이브러리
– MMX/SSE/NEON 최적화(iOS지원)
– libjpeg보다 2-4x 빠름
13. JPEG 압축 과정
• 1. RGB를 YCbCr로 변환
• 2. 8x8블럭 DCT 변환
• 3. Quantize
• 4. Huffman Coding
14. 15. RGB를 YCbCr로 변환 #2
• Y채널: 휘도, 밝기
– 원본 크기 사용
• Cb/Cr: Y채널에 대한
Red/Blue의 차이
– 원본의 1/4크기로 다운샘플
Y=0.5 일때, Cb/Cr
16. 17. 8x8 DCT
(Discrete Cosine Transform)
• 이미지를 8x8픽셀 블
록으로 분할
• 8x8블럭을 64개 패턴
의 선형 조합으로 분해
• 각 패턴들에 대한 계수를
계산; 64개(=8x8)
18. 19. Huffman Coding
• 자주 쓰이는 값에 적은 비트 수 할당
• 4개의 Huffman Table이 사용
– Code: 1~16비트 (가변길이)
– Value: 8비트
• 일반적으로 JPEG 표준 테이블 사용
– 최적화 가능
20. 21. (JPEG 2000)
• Discrete Wavelet Transform
• JPEG보다 좋은 화질(=적은 용량)
• JPEG보다 많이 느린 속도
• JPEG보다 많은 메모리 필요
• 결과적으로 비추
22. JPEG XR
• Microsoft (2007)
• Windows Media Photo, HD Photo
• ISO 표준 포맷 (2009)
• JPEG보다 훨씬 나은 성능과 퀄리티
• JPEG 2000보다는 약갂 떨어지는 퀄리티
• 하지만 JPEG 2000 보다 훨씬 빠름(정수 연산)
23. JPEG군 비교
• (용량 대비)퀄리티
– JPEG < JPEG-XR < JPEG 2000
• (인코딩/디코딩)속도
– JPEG 2000 < JPEG-XR < JPEG
24. JPEG XR 기능
• 알파 채널 지원
• 그레이스케일 지원
• 16-bit/32-bit 실수형 지원
• 비손실 압축 지원
25. JPEG XR 지원 라이브러리
• Intel IPP 라이브러리
– 상용, 최적화?
• HD Photo Device Porting Kit
– 최적화 안됨
• Windows Imaging Component
– Windows XP SP3, Vista, 7 에 포함
26. WebP
• Google (2010) Web을 위한 이미지 포맷
• 표준 아님 – 크롬 브라우저 지원
• JPEG보다 나은 퀄리티
– “WebP 는 JPEG보다 30%이상 더 작다”
• JPEG 2000보다 조금 퀄리티가 떨어지나 빠름
• 라이브러리: libwebp, MMX/SSE 최적화, 오픈소스
27. WebP 퀄리티
JPG(43.84KB) WebP(29.61KB)
http://code.google.com/speed/webp/gallery.html
28. WebP + DDS
• WebP 로 디코딩
– 작은 파일(스토리지) 사이즈
• DXT 로 인코딩
– GPU 메모리 공갂 절약
– DXT도 인코딩이 빠르지는 않다
– J.M.P. 등의 빠른 실시갂 DXT 인코더 사용
• 단점: 손실 압축을 두번 퀄리티 저하
29. Crunch
• (원본 이미지가 아닌) DDS 자체를 직접 (손실)
압축
– JPG나 WebP사용 시 들어가는
– 추가적인 DDS 인코딩 작업이 필요 없음
• 빠르고 용량도 DDS+ZIP에 비해 충분히 작다
• 단점: 인코딩이 꽤 느림
30. 용량 비교
140 128
120
100 94 (낮은 값일 수록 용량 적음)
76
80
60 50
40 30
20
0
DDS DDS+ZIP JPG Crunch WebP
Size(KB)
31. 로딩(+다운로드) 속도 비교
18
16
14
12
10
8
6
4
2
0
DDS+ZIP JPG Crunch WebP (낮은 값일 수록 빠름)
로컬속도(ms) 2 4 3 10
네트워크속도(sec) 16.2 11.4 6.3 5
32. 정리
• 용량이 최우선이라면, WebP+DDS
– 예) 실시갂 스트리밍 다운로드
• 용량과 로딩 속도 둘 다 중요하다면, Crunch
• 용량보다는 로딩 속도가 중요하다면,
DDS+ZIP
33. 34. 레퍼런스
• How does JPEG actually work?
– JPEG알고리즘 개요
• JPEG Huffman Coding Tutorial
– JPEG 알고리즘의 쉽고 디테일한 설명
• Image Compression and the Discrete
Cosine Transform : DCT 설명
35. 36. 속도 비교 – 로컬 로딩
• 테스트 환경
– 로컬PC, 512x512 RGB 텍스쳐
– JPG , WebP w/ DXT 인코딩, Crunch
• 테스트 결과
– 1. DDS + ZIP : 2 ms / texture
– 2. Crunch : 3 ms / texture
– 3. JPG : 4 ms / texture
– 4. WebP : 10 ms / texture
• 디코딩 속도 의존적
37. 속도 비교 – 네트워크 로딩
• 테스트 환경
– 네트워크 다운로드
– 100개 이상 텍스쳐, 1MB/sec 속도
• 테스트 결과
– 1. WebP : 4 ( 4MB) + 1 = 5 sec
– 2. Crunch : 6 ( 6MB) + 0.3 = 6.3 sec
– 2. JPG : 11 (11MB) + 0.4 = 11.4 sec
– 3. DDS + ZIP : 16 (16MB) + 0.2 = 16.2 sec
• 파일 크기 의존적
38. 용량 비교
타입 사이즈 비고
RAW 768KB =512x512x3
DDS 128KB 6:1압축률
DDS + ZIP 94KB 8:1압축률
JPG 76KB 10:1압축률
Crunch 50KB 15:1압축률
WebP 30KB 25:1압축률