Döşemeli oluşturma - Tiled rendering

Karo oluşturma , bir alt bölümlere ayırma işlemidir bilgisayar grafik düzenli görüntüyü ızgara olarak , optik alan ve ızgara, ya da her bir bölüm oluşturma karo ayrı ayrı. Bu tasarımın avantajı , tüm çerçeveyi bir kerede çeken anlık mod oluşturma sistemlerine kıyasla bellek ve bant genişliği miktarının azalmasıdır . Bu, karo işleme sistemlerini özellikle düşük güçte taşınabilir cihaz kullanımı için yaygın hale getirdi . Döşenmiş işleme bazen "orta sırala" mimarisi olarak bilinir, çünkü geometrinin sıralamasını grafik ardışık düzeninin sonuna yakın yerine ortasında gerçekleştirir .

Temel kavram

Görüntülemek için bir 3D görüntü oluşturmak, bir dizi adımdan oluşur. İlk olarak, görüntülenecek nesneler ayrı modellerden belleğe yüklenir . Sistem daha sonra modelleri ortak bir koordinat sistemine, dünya görüşüne dönüştürmek için matematiksel fonksiyonları uygular . Bu dünya görüşünden, belirli bir bakış açısından, kameradan görüldüğü gibi orijinal modellere yaklaşan bir dizi çokgen (tipik olarak üçgenler) oluşturulur . Ardından, bir birleştirme sistemi, üçgenleri oluşturarak ve dokuları dışa uygulayarak bir görüntü üretir . Dokular, gerçekçilik yaratmak için üçgenlerin üzerine boyanmış küçük görüntülerdir. Ortaya çıkan görüntü daha sonra çeşitli özel efektlerle birleştirilir ve görüntülenen görüntüyü oluşturmak için video donanımının tarayacağı bir çerçeve arabelleğine taşınır . Bu temel kavramsal düzen, görüntü ardışık düzeni olarak bilinir .

Bu adımların her biri, elde edilen görüntüyü tutmak için gereken bellek miktarını artırır. Boru hattının sonuna ulaştığında, görüntüler o kadar büyüktür ki, tipik grafik kartı tasarımları , görüntüyü çeşitli alt bölümlere taşımak için gerekli bant genişliğini sağlamak için genellikle özel yüksek hızlı bellek ve çok hızlı bir bilgisayar veriyolu kullanır. boru hattının bileşenleri. Bu tür bir destek, özel grafik kartlarında mümkündür, ancak güç ve boyut bütçeleri daha sınırlı hale geldikçe, yeterli bant genişliği sağlamak tasarım açısından pahalı hale gelir.

Döşemeli oluşturucular, görüntüyü döşeme olarak bilinen bölümlere ayırarak ve her birini ayrı olarak işleyerek bu sorunu giderir. Bu, ara adımlar sırasında ihtiyaç duyulan bellek miktarını ve herhangi bir zamanda taşınan veri miktarını azaltır. Bunu yapmak için sistem, geometriyi oluşturan üçgenleri konuma göre sıralayarak, karo sınırlarıyla hangi üçgenlerin örtüştüğünü hızlı bir şekilde bulmayı sağlar. Ardından, yalnızca bu üçgenleri işleme hattına yükler, GPU'da çeşitli oluşturma işlemlerini gerçekleştirir ve sonucu çerçeve arabelleğine gönderir . Çok küçük döşemeler kullanılabilir, 16×16 ve 32×32 piksel popüler döşeme boyutlarıdır, bu da dahili aşamalarda gereken bellek ve bant genişliği miktarını da azaltır. Ve her karo bağımsız olduğundan, doğal olarak basit paralelleştirmeye uygundur.

Tipik bir döşemeli oluşturucuda, geometri önce ekran alanına dönüştürülmeli ve ekran alanı döşemelerine atanmalıdır. Bu, her döşeme için geometri listeleri için bir miktar depolama gerektirir. Erken döşenen sistemlerde bu, CPU tarafından gerçekleştirildi , ancak tüm modern donanımlar bu adımı hızlandırmak için donanım içerir. Geometri listesi ayrıca önden arkaya sıralanabilir, bu da GPU'nun diğerlerinin arkasına gizlenmiş pikselleri işlemekten kaçınmak için gizli yüzey kaldırmayı kullanmasına izin vererek gereksiz doku aramaları için bellek bant genişliğinden tasarruf sağlar.

Döşemeli yaklaşımın iki ana dezavantajı vardır. Birincisi, birkaç karonun üst üste binmesi durumunda bazı üçgenlerin birkaç kez çizilebilmesidir. Bu, toplam oluşturma süresinin bir anlık mod oluşturma sisteminden daha yüksek olacağı anlamına gelir. Tam bir görüntü elde etmek için karoların birbirine dikilmesi gerektiğinde de olası sorunlar vardır, ancak bu sorun uzun zaman önce çözülmüştür. Çözülmesi daha zor olan, bazı görüntü tekniklerinin çerçeveye bir bütün olarak uygulanmasıdır ve bunların, tüm çerçeveyle çalışmak zorunda kalmamak için kiremitli bir işlemede uygulanması zordur. Bu ödünleşimler iyi bilinmektedir ve avantajların yararlı olduğu sistemler için önemsiz sonuçlar doğurur; kiremitli işleme sistemleri, elde taşınan bilgi işlem cihazlarında yaygın olarak bulunur.

Döşemeli oluşturma , bitişik pikselleri bellekte bitişik yapan döşemeli/doğrusal olmayan çerçeve arabelleği adresleme şemalarıyla karıştırılmamalıdır . Bu adresleme şemaları, yalnızca kiremitli oluşturucular değil, çok çeşitli mimariler tarafından kullanılır.

Erken iş

Döşemeli işlemeyle ilgili ilk çalışmaların çoğu, Pixel Planes 5 mimarisinin (1989) bir parçası olarak yapıldı.

Pixel Planes 5 projesi, döşemeli yaklaşımı doğruladı ve artık döşemeli oluşturucular için standart olarak görülen birçok tekniği icat etti. Bu alandaki diğer makaleler tarafından en çok alıntı yapılan çalışmadır.

Döşeme yaklaşımı, yazılım oluşturma tarihinin başlarında da biliniyordu. Uygulamaları Reyes render genellikle "kiremit kova" haline görüntüyü bölün.

Ticari ürünler – Masaüstü ve konsol

Masaüstü GPU'ların geliştirilmesinin başlarında, birkaç şirket kiremitli mimariler geliştirdi. Zamanla, bunların yerini büyük ölçüde hızlı özel harici bellek sistemlerine sahip anlık mod GPU'ları aldı.

Bunun başlıca örnekleri şunlardır:

Yonga üzerinde büyük arabellekler kullanan döşenmemiş mimarilere örnekler:

  • Xbox 360 (2005): GPU , yerleşik bir 10  MB eDRAM içerir ; bu, 4× çok örnekli kenar yumuşatma ile 1280×720 görüntünün tamamı için taramayı tutmak için yeterli değildir , bu nedenle HD çözünürlüklerde çalışırken ve 4× MSAA etkinleştirildiğinde bir döşeme çözümü üst üste bindirilir.
  • Xbox One (2013): GPU , bir görüntünün tamamını veya bir kısmını tutmak için kullanılabilen yerleşik bir 32 MB eSRAM içerir  . Döşemeli bir mimari değildir, ancak yazılım geliştiricilerin döşemeli işlemeyi taklit edebilecek kadar esnektir.

Ticari ürünler – Gömülü

Nispeten düşük harici bellek bant genişliği ve gereken küçük miktarda çip üstü bellek nedeniyle, döşemeli işleme, gömülü GPU'lar için popüler bir teknolojidir. Mevcut örnekler şunları içerir:

Kutucuk tabanlı anında mod oluşturma (TBIM):

  • ARM Mali serisi.
  • Qualcomm Adreno (300 serisi ve daha yenisi, FlexRender aracılığıyla dinamik olarak anında/doğrudan mod oluşturmaya da geçebilir).

Kutucuk tabanlı ertelenmiş oluşturma (TBDR):

Vivante , sıkıca bağlanmış çerçeve arabelleğine sahip mobil GPU'lar üretir (yukarıda açıklanan Xbox 360 GPU'ya benzer). Bu, ekranın bölümlerini oluşturmak için kullanılabilse de, oluşturulan bölgelerin büyük boyutu, genellikle döşeme tabanlı bir mimari kullanılarak tanımlanmadıkları anlamına gelir.

Ayrıca bakınız

Referanslar