{{위키데이터 속성 추적}}
'''타일 렌더링'''(tiled rendering)은 [[컴퓨터 그래픽스]] 이미지를 광학 공간에서 규칙적인 격자로 세분하고 격자의 각 구역 또는 타일을 개별적으로 렌더링하는 과정이다. 이 설계의 장점은 전체 프레임을 한 번에 그리는 즉시 모드 렌더링 시스템에 비해 필요한 메모리와 대역폭이 줄어든다는 것이다. 이로 인해 타일 렌더링 시스템은 저전력 [[모바일 장치|휴대용 기기]]에서 특히 보편화되었다. 타일 렌더링은 때때로 "중간 정렬" 아키텍처로 알려져 있는데, 이는 [[그래픽스 파이프라인]]의 끝 부분 근처가 아닌 중간에서 기하학적 형상을 정렬하기 때문이다.<ref>{{웹 인용|url=https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15869-f11/www/readings/molnar94_sorting.pdf|title=A Sorting Classification of Parallel Rendering|last=Molnar|first=Steven|date=1994-04-01|publisher=[[IEEE]]|archive-url=https://web.archive.org/web/20140912130015/https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15869-f11/www/readings/molnar94_sorting.pdf|archive-date=2014-09-12|url-status=live|access-date=2012-08-24}}</ref>

== 기본 개념 ==
디스플레이용 3D 이미지를 생성하는 것은 일련의 단계로 구성된다. 먼저, 표시할 객체들을 개별 모델에서 메모리로 불러온다. 그런 다음 시스템은 수학적 함수를 적용하여 모델들을 공통 좌표계인 월드 뷰로 변환한다. 이 월드 뷰에서 특정 시점인 카메라에서 본 원래 모델을 근사하는 일련의 다각형(주로 삼각형)이 생성된다. 다음으로, 합성 시스템이 삼각형을 렌더링하고 외부에 텍스처를 적용하여 이미지를 생성한다. 텍스처는 사실감을 주기 위해 삼각형 위에 그려지는 작은 이미지이다. 결과 이미지는 다양한 특수 효과와 결합된 후 [[프레임버퍼]]로 이동하며, 비디오 하드웨어가 이를 스캔하여 표시되는 이미지를 생성한다. 이러한 기본적인 개념적 구조를 디스플레이 파이프라인이라고 한다.

이러한 각 단계는 결과 이미지를 저장하는 데 필요한 메모리 양을 증가시킨다. 파이프라인의 끝에 도달할 때쯤 이미지는 매우 커져서, 일반적인 [[그래픽 카드]] 설계에서는 종종 특수한 고속 메모리와 매우 빠른 [[버스 (컴퓨팅)|컴퓨터 버스]]를 사용하여 파이프라인의 다양한 하위 구성 요소 간에 이미지를 이동시키는 데 필요한 대역폭을 제공한다. 이러한 종류의 지원은 전용 그래픽 카드에서는 가능하지만, 전력과 크기 예산이 더 제한적이 되면서 충분한 대역폭을 제공하는 것이 설계 측면에서 비용이 많이 들게 된다.

타일 렌더러는 이미지를 타일이라고 하는 구역으로 분할하고 각 구역을 개별적으로 렌더링함으로써 이 문제를 해결한다. 이는 중간 단계에서 필요한 메모리 양과 한 번에 이동하는 데이터의 양을 줄인다. 이를 위해 시스템은 기하학적 형상을 구성하는 삼각형들을 위치별로 정렬하여 타일 경계와 겹치는 삼각형을 빠르게 찾을 수 있게 한다. 그런 다음 해당 삼각형들만 렌더링 파이프라인에 불러와 [[그래픽 처리 장치|GPU]]에서 다양한 렌더링 작업을 수행하고 결과를 [[프레임버퍼]]로 전송한다. 매우 작은 타일을 사용할 수 있는데, 16×16 및 32×32 픽셀이 인기 있는 타일 크기로, 이는 내부 단계에서 필요한 메모리와 대역폭의 양을 작게 만든다. 또한 각 타일이 독립적이기 때문에 자연스럽게 간단한 병렬화가 가능하다.

일반적인 타일 렌더러에서는 먼저 기하학적 형상을 스크린 공간으로 변환하고 스크린 공간 타일에 할당해야 한다. 이를 위해서는 각 타일의 기하학적 형상 목록을 저장할 공간이 필요하다. 초기 타일 시스템에서는 [[중앙 처리 장치|CPU]]가 이 작업을 수행했지만, 모든 현대 하드웨어에는 이 단계를 가속화하는 하드웨어가 포함되어 있다. 기하학적 형상 목록은 전면에서 후면으로 정렬할 수도 있어, GPU가 [[은면 제거]]를 사용하여 다른 픽셀 뒤에 숨겨진 픽셀의 처리를 피할 수 있으므로 불필요한 텍스처 조회에 대한 메모리 대역폭을 절약할 수 있다.<ref>{{웹 인용|url=http://www.imgtec.com/powervr/insider/powervr_presentations/GDC%20HardwareAndOptimisation.pdf|title=PowerVR: A Master Class in Graphics Technology and Optimization|date=2012-01-14|publisher=[[Imagination Technologies]]|archive-url=https://web.archive.org/web/20131003002919/http://www.imgtec.com/powervr/insider/powervr_presentations/GDC%20HardwareAndOptimisation.pdf|archive-date=2013-10-03|url-status=live|access-date=2014-01-11}}</ref>

타일 방식의 주요 단점은 두 가지이다. 하나는 일부 삼각형이 여러 타일과 겹칠 경우 여러 번 그려질 수 있다는 것이다. 이는 전체 렌더링 시간이 즉시 모드 렌더링 시스템보다 길어질 수 있음을 의미한다. 또한 타일을 결합하여 완전한 이미지를 만들 때 발생할 수 있는 문제도 있지만, 이 문제는 오래 전에 해결되었다. 해결하기 더 어려운 것은 일부 이미지 기법이 프레임 전체에 적용된다는 점인데, 이는 전체 프레임을 다루지 않는 것이 목적인 타일 렌더링에서 구현하기 어렵다. 이러한 절충점들은 잘 알려져 있으며, 그 장점이 유용한 시스템에서는 미미한 결과를 낳는다. 타일 렌더링 시스템은 휴대용 컴퓨팅 기기에서 널리 사용된다.

타일 렌더링은 인접한 픽셀을 메모리에서도 인접하게 만드는 타일형/비선형 프레임버퍼 주소 지정 방식과 혼동해서는 안 된다.<ref>{{웹 인용|url=http://www.x.org/wiki/Development/Documentation/HowVideoCardsWork|title=How Video Cards Work|last=Deucher|first=Alex|date=2008-05-16|publisher=[[X.Org Foundation]]|archive-url=https://web.archive.org/web/20100521083733/http://www.x.org/wiki/Development/Documentation/HowVideoCardsWork|archive-date=2010-05-21|url-status=live|access-date=2010-05-27}}</ref> 이러한 주소 지정 방식은 타일 렌더러뿐만 아니라 다양한 아키텍처에서 사용된다.

==초기 작업==
타일 렌더링에 관한 초기 연구의 상당 부분은 픽셀 플레인 5 아키텍처(1989)의 일환으로 수행되었다.<ref>{{웹 인용|url=http://www.cs.unc.edu/~pxfl/history.html|title=History|last=Mahaney|first=Jim|date=1998-06-22|work=Pixel-Planes|publisher=[[University of North Carolina at Chapel Hill]]|archive-url=https://web.archive.org/web/20080929160951/http://www.cs.unc.edu/~pxfl/history.html|archive-date=2008-09-29|url-status=live|access-date=2008-08-04}}</ref><ref>{{서적 인용|title=Proceedings of the 16th annual conference on Computer graphics and interactive techniques - SIGGRAPH '89|last=Fuchs|first=Henry|date=1989-07-01|publisher=[[Association for Computing Machinery|ACM]]|pages=79–88|chapter=Pixel-planes 5: a heterogeneous multiprocessor graphics system using processor-enhanced memories|doi=10.1145/74333.74341|isbn=0201504340|access-date=2012-08-24|chapter-url=http://dl.acm.org/citation.cfm?id=74341|s2cid=1778124}}</ref>

픽셀 플레인 5 프로젝트는 타일 방식의 타당성을 입증하고 현재 타일 렌더러의 표준으로 여겨지는 많은 기술을 발명했다. 이 연구는 해당 분야의 다른 논문들에서 가장 널리 인용되고 있다.

타일 방식은 소프트웨어 렌더링 역사의 초기에도 알려져 있었다. [[레이즈 렌더링]]의 구현은 종종 이미지를 "타일 버킷"으로 나눈다.

== 상용 제품 - 데스크톱 및 콘솔 ==
데스크톱 GPU 개발 초기에 여러 회사들이 타일 아키텍처를 개발했다. 시간이 지나면서 이들은 대부분 빠른 맞춤형 외부 메모리 시스템을 갖춘 즉시 모드 GPU로 대체되었다.

주요 사례는 다음과 같다.

* [[파워VR]] 렌더링 아키텍처(1996년): [[래스터화|래스터라이저]]는 32×32 타일로 구성되어 있었으며, 이 타일 내에서 [[다각형]]이 이미지 전체에 걸쳐 여러 [[화소|픽셀]]에 병렬로 래스터화되었다. 초기 [[개인용 컴퓨터|PC]] 버전에서는 CPU에서 실행되는 [[디스플레이 드라이버]]가 타일링을 수행했다. [[드림캐스트]] 콘솔에 적용된 경우, 하드웨어 부품이 타일링을 수행했다. 이는 [[지연 셰이딩|지연 렌더링]]을 용이하게 했는데, 보이는 픽셀만 [[텍스처 매핑]]되어 [[셰이딩]] 계산과 텍스처 [[대역폭 (컴퓨팅)|대역폭]]을 절약했다.
* [[오크 테크놀로지]](1997년) 존 페디 어소시에이츠의 회장인 존 페디의 말에 따르면 워프 5. 오크 칩은 타일링과 안티앨리어싱, 트릴리니어 밉맵 텍스처, 픽셀당 등의 다른 고성능 렌더링 알고리즘을 결합한 최초의 시장 제품이다.<ref>{{뉴스 인용|title=Oak intros 3-D chip Warp 5 accelerator uses Talisman like rendering scheme|last1=Maclellan|first1=Andrew|date=June 23, 1997|issue=1063|publisher=Electronic Buyers News}}</ref>
* [[마이크로소프트 탈리스만]](1996년)
* [[드림캐스트]](파워VR 칩셋 탑재)(1998년)
* 기가픽셀 GP-1(1999년)<ref>{{웹 인용|url=https://www.theregister.co.uk/1999/10/06/gigapixel_takes_on_3dfx_s3/|title=GigaPixel takes on 3dfx, S3, Nvidia with... tiles|last=Smith|first=Tony|date=1999-10-06|work=Gigapixel|publisher=[[The Register]]|archive-url=https://web.archive.org/web/20121003004013/http://www.theregister.co.uk/1999/10/06/gigapixel_takes_on_3dfx_s3/|archive-date=2012-10-03|url-status=live|access-date=2012-08-24}}</ref>
* [[라라비 (마이크로아키텍처)|인텔 라라비 GPU]](2009년)(취소됨)
* [[플레이스테이션 비타|PS 비타]](파워VR 칩셋 탑재)(2011년)<ref>{{웹 인용|url=http://3dsforums.com/lounge-2/develop-2011-ps-vita-most-developer-friendly-hardware-sony-has-ever-made-19841/|title=Develop 2011: PS Vita is the most developer friendly hardware Sony has ever made|date=2011-07-21|work=PS Vita|publisher=[[3dsforums]]|access-date=2011-07-21}}{{깨진 링크|date=June 2018|bot=InternetArchiveBot|fix-attempted=no}}</ref>
* [[엔비디아]] [[맥스웰 (마이크로아키텍처)|맥스웰 아키텍처]] 및 이후 아키텍처 기반 GPU(2014년)<ref>{{뉴스 인용|url=http://www.realworldtech.com/tile-based-rasterization-nvidia-gpus/|title=Tile-based Rasterization in Nvidia GPUs|last=Kanter|first=David|date=August 1, 2016|newspaper=Real World Technologies|archive-url=https://web.archive.org/web/20160804205844/http://www.realworldtech.com/tile-based-rasterization-nvidia-gpus/|archive-date=2016-08-04|url-status=live|access-date=April 1, 2016}}</ref>
* [[AMD]] [[그래픽스 코어 넥스트|베가(GCN5) 아키텍처]] 및 이후 아키텍처 기반 GPU(2017년)<ref>{{웹 인용|url=https://pcper.com/2017/01/amd-vega-gpu-architecture-preview-redesigned-memory-architecture/2/|title=AMD Vega GPU Architecture Preview: Redesigned Memory Architecture|date=5 January 2017|website=PC Perspective|language=en-US|access-date=2020-01-04}}</ref><ref>{{웹 인용|url=https://www.anandtech.com/show/11002/the-amd-vega-gpu-architecture-teaser|title=The AMD Vega GPU Architecture Teaser: Higher IPC, Tiling, & More, Coming in H1'2017|last=Smith|first=Ryan|website=www.anandtech.com|access-date=2020-01-04}}</ref>
* [[인텔]] 젠11 GPU 및 이후 아키텍처(2019년)<ref>{{웹 인용|url=https://software.intel.com/sites/default/files/managed/db/88/The-Architecture-of-Intel-Processor-Graphics-Gen11_R1new.pdf|title=Intel Processor Graphics Gen11 Architecture|website=software.intel.com|access-date=2024-08-13}}</ref><ref>{{트윗 인용|number=1126251762657124358|user=intelnews|title=Intel's @gregorymbryant at today's...|date=8 May 2019}}</ref><ref>{{웹 인용|url=https://newsroom.intel.com/wp-content/uploads/sites/11/2019/05/10th-Gen-Intel-Core-Product-Brief.pdf|title=Big-time entertainment in remarkably thin and lightdesign|archive-url=https://web.archive.org/web/20190528103709/https://newsroom.intel.com/wp-content/uploads/sites/11/2019/05/10th-Gen-Intel-Core-Product-Brief.pdf|archive-date=2019-05-28}}</ref>

큰 온칩 버퍼를 사용하는 비타일 아키텍처의 예는 다음과 같다:

* [[엑스박스 360]](2005년): GPU에 내장된 10 [[메가바이트|MB]] [[eDRAM]]이 포함되어 있다. 이는 4배 [[멀티샘플 안티앨리어싱]]이 적용된 1280×720 이미지의 전체 래스터를 저장하기에 충분하지 않으므로, HD 해상도로 실행되고 4배 MSAA가 활성화될 때 타일링 솔루션이 추가된다.<ref>{{웹 인용|url=http://msdn.microsoft.com/en-us/library/bb464139.aspx|title=XNA Game Studio 4.0 Refresh|last=Meyer|first=Tara|date=29 September 2011|website=msdn.microsoft.com|archive-url=https://web.archive.org/web/20150107120850/http://msdn.microsoft.com/en-us/library/bb464139.aspx|archive-date=2015-01-07|url-status=live|access-date=2014-05-15}}</ref>
* [[엑스박스 원]](2013년): GPU에 내장된 32 MB [[eSRAM]]이 포함되어 있으며, 이를 사용하여 이미지의 전체 또는 일부를 저장할 수 있다. 타일 아키텍처는 아니지만, 소프트웨어 개발자가 타일 렌더링을 에뮬레이트할 수 있을 만큼 유연하다.<ref>{{웹 인용|url=http://www.neowin.net/news/xbox-one-developer-upcoming-sdk-improvements-will-allow-for-more-1080p-games|title=Xbox One developer: upcoming SDK improvements will allow for more 1080p games|date=29 July 2023}}</ref>

== 상용 제품 - 임베디드 ==
상대적으로 낮은 외부 메모리 대역폭과 적당한 양의 온칩 메모리가 필요하기 때문에, 타일 렌더링은 임베디드 GPU에서 인기 있는 기술이다. 현재의 예는 다음과 같다.

타일 기반 즉시 모드 렌더링(TBIM):

* [[ARM 홀딩스|ARM]] [[말리 (GPU)|말리]] 시리즈.<ref>{{웹 인용|url=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0363d/CJAEEJCF.html|title=Mali rendering strategy|publisher=ARM|archive-url=https://web.archive.org/web/20160304051042/http://infocenter.arm.com/help/index.jsp?topic=%2Fcom.arm.doc.dui0363d%2FCJAEEJCF.html|archive-date=2016-03-04|url-status=live|access-date=2018-10-27}}</ref>
* [[퀄컴]] [[아드레노]](300 시리즈 이상은 플렉스렌더를 통해 즉시/직접 모드 렌더링으로 동적 전환 가능).<ref>{{웹 인용|url=https://lwn.net/Articles/638908/|title=An update on the freedreno graphics driver|publisher=lwn.net|archive-url=https://web.archive.org/web/20150905111118/https://lwn.net/Articles/638908/|archive-date=2015-09-05|url-status=live|access-date=2015-09-15}}</ref><ref>{{웹 인용|url=https://www.qualcomm.com/media/documents/files/the-rise-of-mobile-gaming-on-android-qualcomm-snapdragon-technology-leadership.pdf|title=The rise of mobile gaming on android|publisher=Qualcomm|page=5|archive-url=https://web.archive.org/web/20141109010801/https://www.qualcomm.com/media/documents/files/the-rise-of-mobile-gaming-on-android-qualcomm-snapdragon-technology-leadership.pdf|archive-date=2014-11-09|url-status=live|access-date=17 September 2015}}</ref><ref>{{웹 인용|url=https://www.anandtech.com/show/4686/samsung-galaxy-s-2-international-review-the-best-redefined|title=Samsung Galaxy S 2 (International) Review - The Best, Redefined|last1=Klug|first1=Brian|last2=Lal Shimpi|first2=Anand|date=September 11, 2011|website=www.anandtech.com|access-date=2020-01-04}}</ref>

타일 기반 지연 렌더링(TBDR):

* ARM 말리 시리즈.<ref>{{웹 인용|url=https://developer.arm.com/documentation/dui0555/a/introduction/the-mali-gpu-hardware/tile-based-rendering|title=Tile based rendering|publisher=[[Arm Holdings|Arm]]|access-date=2020-07-13}}</ref>
* [[이미지네이션 테크놀로지]] 파워VR 5/6/7 시리즈.<ref>{{웹 인용|url=http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering|title=A look at the PowerVR graphics architecture: Tile-based rendering|publisher=Imagination Technologies|archive-url=https://web.archive.org/web/20150405010019/http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering|archive-date=2015-04-05|url-status=live|access-date=2015-09-15}}</ref>
* [[브로드컴]] [[비디오코어|비디오코어 IV]] 시리즈.<ref>{{웹 인용|url=http://www.broadcom.com/docs/support/videocore/VideoCoreIV-AG100-R.pdf|title=VideoCoreIV-AG100|date=2013-09-18|publisher=Broadcom|archive-url=https://web.archive.org/web/20150301043328/http://www.broadcom.com/docs/support/videocore/VideoCoreIV-AG100-R.pdf|archive-date=2015-03-01|url-status=live|access-date=2015-01-10}}</ref>
* [[애플 실리콘]] GPU.<ref>{{웹 인용|url=https://developer.apple.com/videos/play/wwdc2020/10631|title=Bring your Metal app to Apple Silicon Macs|website=developer.apple.com|access-date=2020-07-13}}</ref>

[[비방트]]는 프레임 버퍼 메모리와 긴밀하게 결합된 모바일 GPU를 생산한다(위에서 설명한 Xbox 360 GPU와 유사). 이를 사용하여 화면의 일부를 렌더링할 수 있지만, 렌더링된 영역의 크기가 크기 때문에 일반적으로 타일 기반 아키텍처를 사용한다고 설명되지 않는다.

== 같이 보기 ==

* [[테셀레이션 (컴퓨터 그래픽)]]
* [[텍스처 아틀라스]]
* [[스캔라인 렌더링]]
* [[타일 기반 비디오 게임]]
* [[웹 맵 타일 서비스]]

== 각주 ==
{{각주}}

{{그래픽 처리 장치}}

[[분류:3차원 렌더링]]