amblem.jpg (11246 bytes)

Anasayfa
Haberler
İncelemeler
Rehberler
Forumlar
Programlar
Linkler
Arama
Fiyatlar

E-Mail

 

 

Temel 3D Grafik Teknolojileri - 1

 

Hazırlayan : Ege İyioğlu 

3D Grafiğe girizgah

Malumunuz günümüzde artık çoğu oyun 3 boyutlu dünyalarda geçiyor, mesela bir Quake olsun bir Counter Strike olsun bunlar eski, paralax scrolling kullanan, bir ekran üzerinde sağa sola yukarı ve aşağı gidebilen bir kahramanı yönettiğiniz, klasik shoot'em up tarzı oyunlardan oldukça farklılar. Artık günümüz oyunlarında bir odada dolaşırken önümüze çıkan sandalyenin etrafından dolanıyor ve sandalyenin çivisinin elbisemizi yırtmasına şahit olabiliyoruz, bu esnada tepedeki havalandırma deliğinden içeri süzülen ışık huzmesinin bir an için gözümüzü kamaştırması da cabası. İşte tüm bu gerçekçi efekt ve detaylar, işbu yazımızda anlatılacak olan temel 3D grafik teknolojileri kullanılarak oluşturuluyor.

Veri Otobüsü (Data bus)

Bir anakart aldığımızda eğer on-board bir grafik çipi yoksa, bir de ekstradan grafik kartı almamız gerekiyor. Eskiden ISA da kullanılırdı ama artık modern kartlar ya PCI ya da AGP formatında geliyor ve bu port vasıtasıyla anakart hem grafik kartına çalışması için elektrik veriyor, hem de veri iletişimini sağlıyor. Bu "veri" dediğimiz şey ekranda çizilmesi istenen görüntüye göre büyük farklılık gösterebiliyor. Eğer software iniz basit bir excel tablosu ise, grafik kartında işlenen ve bus vasıtasıyla gidip gelen veriler oldukça küçük olabilir, amma velakin yüksek çözünürlükte quake oynuyorsanız milyonlarca işlem, kaplama, geometrik şekil ve bunların işlenmesi için gereken komutlar bu bus tan geçmek zorundadır.

Bus'tan saniyede ne kadar veri geçeceği, yani bant genişliği,  o bus'ın türüne bağlı olarak değişiyor. Daha eski olan PCI slotları 33Mhz de çalışırlar, 133MB / saniye lik bir veri iletişimine izin verirler. İlk duyduğunuzda "daha ne yetmez mi?" diyebilirsiniz ama size söyleyeyim çoğu durumda yetmez, zira özellikle oyun programları artık grafik kartına çok fazla işlem yaptırmakta ve ziyadesiyle fazla bandwidth istemektedir. Bu ihtiyaca cevaben ortaya çıkan AGP (hızlandırılmış grafik portu) slot, 66 Mhz de çalışır. AGP nin 1x , 2x , 4x gibi çeşitli versiyonları vardır. Bunlar sırasıyla 266Mb/s , 534Mb/s , 1066Mb/s veri transferine olanak sağlarlar. Şimdi düşününce sainyede 1GB veri transferi düşününce biraz abartı gelebilir ama yeni oyunlar ve yeni grafik kartlar çıktıkça bu değer bile yetersiz kalmaya başlıyor, netekim yakında 8x standardı ve bu standardı destekleyen grafik kartları ve anakartlar piyasaya çıkacak. Buradan bir kere daha anlıyoruz ki 3D grafik uygulamaları gerçekçi 3D ortamlar yatarmak için çok fazla bandwidth e ihtiyaç duyuyorlar.

AGP modları:

AGP nin PCI'a göre avantajı sadece bandwidth ile bitmiyor, bazı özel mode lar sayesinde PCI'ın ulaşamayacağı performans değerlerini elde edebiliyorlar. Bunlardan birisi DIME, Direkt Hafıza Erişimi türünden bir tercüme yapabiliriz. Normal grafik kartları bir görüntüde ihtiyaç duyulan texture ları (kaplamalar) kartın hafızası yetmediği zaman sistem hafızasında da saklayabiliyorlar, ve bir frame oluşturulması gerektiğinde gerekli tecture ı sistem hafizasından lokal hafızaya, oradan da işlemciye alıp görüntüyü oluşturuyorlar, böylece bir grafik kartının kullanabileceği hafıza sistem hafızasıyla ya da mainboard unuzun AGP aperture size isimli ayarında belirtilen değerle sınırlı oluyor, ama veriyi önce sistem hafızasından lokale oradan da işlemciye getirip işlemek bir hayli zaman kaybettirip performansı düşürüyor. AGP texturing kullanıldığında grafik kartı sistem hafızasına direkt erişim imkanına kavuşuyor ve gerekli bilgileri sistem hafızasından okuduğu gibi işleyebiliyor bu da tabii ki belirgin bir performans artışını beraberinde getiriyor. Amma velakin aradaki bus ın yetersiz kaldığı durumlarda bu da performans açısından bazı olumsuzluklara sebep oluyor, mesela oyunda yeni bir bölüme geçtiğinizde bir yavaşlama bir duraklama oluyor ya da oyun frame atlamaya başlıyor.. Yukarıda ifade ettiğim AGP 8x modu yaygınlaştığında bu olumsuzluğun ortadan kalkması ve AGP texturing in 3D uygulamalarını büyük ölçüde hızlandırması mümkün..

Evet AGP 'nin özelliklerini açıklamaya devam edelim. Bunlardan biri Sideband Addressing: Kenardan Adresleme Veriyolu diye çevirebiliriz: Normal durumlarda grafik kartı ile CPU arasında tek şeritli bir yol vardır, veri ya CPU dan grafik kartına, ya da grafik kartından CPU ya gider. Ama eğer grafik kartına doğru veri akarken CPU ya bir komut göndermek gerekirse, bu veri akışını kesip, CPU ya komutu gönderip veri akışına kaldığı yerden devam etmek gerekir ki takdir edersiniz bu da performansı düşürecektir. İşte Sideband Addressing olayında işin içinde CPU ya komut göndermek için bir veriyolu daha oluyor ve komutlar bu yol kullanılarak her istendiğinde iletilebiliyor ve performans kayıpları önleniyor.

Son olarak Fast Writes diye bir özelliğimiz var, bu olmayan kartlarda cpu grafik kartının işlemcisine birşeyler göndermek istediğinde önce bunları sistem belleğine yazıyor, grafik kartı da kendisine gönderilen verileri sistem belleğine erişip işliyor, bu da zaman ve hız kaybına sebebiyet veriyor. Fast Write kullanabilen kartlarda ise CPU sistem hafızasını kullanmadan direkt olarak grafik kartının işlemcisine erişebilme yeteneği kazanıyor, bu sayede veri akışı daha çabuk gerçekleşebiliyor. Dikkatinizi çekeyim bu Fast Writes teknolojisi şimdilik sadece NVidia tarafından kullanılıyor.

Bu yazı dizisine devam edeceğiz ve T&L , Anti-Aliasing gibi konulara birlikte değineceğiz. Şu anda sadece bir başlangıç yaptık. 

Ege İyioğlu
turk-hardware.com
Yazı Editörü