2012/01/29

Ekran Karti Kartlari


Ekran Kartları

VGA Kartları

Ekran Kartları
Ekran kartlarının ilk zamanlardaki tek görevi, işlemci ve programların ürettiği görüntüleri monitör tarafından kullanılabilir hale getirmekti. Teknolojik gelişmeler sonucunda ekran kartlarına ek hızlandırıcı çipler takılarak, hem işlemci üzerindeki yükü azaltıldı, hem de daha başarılı görüntüler elde edildi. Bununla birlikte işlemci ile ekran kartı arasındaki koordinasyonu sağlamak için sürücü (Driver) adı verilen programlar geliştirildi ve bu programlar, artık işletim sistemlerinin vazgeçilmez parçası olan DirectX, Talisman gibi yazılımlarla birlikte çalışmaya başladı. Ekran kartları ilk zamanlar verileri bilgisayarın RAM’ inden alır kendi RAM' ine aktarır ve monitöre gönderirdi. Fakat günümüz ekran kartları bundan çok daha fazlasını yapabilmektedir. İşlemcinin hafızasından veri alıp göndermek, gerektiğinde sistem hafızasını kullanmak ya da işlemcinin çalışmasını düzenlemek günümüz ekran kartlarının yapabildiklerinden sadece birkaçıdır. Ekran kartları çalıştıklarında CPU gibi ciddi birer ısı kaynakları olduklarından günümüz ekran kartları üzerlerinde soğutucular veya fanlar bulunur. Ekran kartının işlemcisi ne kadar ısınırsa o kadar çok soğutulmaya ihtiyaç duyulur. Gerekli soğutma işlemleri yapılamadığı takdirde sistem (özellikle oyun oynarken) kilitlenmeye başlar.
Bu yüzden ihtiyaç duyulan en yeterli soğutucu kullanılmalıdır.
 

Ekrandaki Görüntü Nasıl Oluşur?

Monitörünüze yeteri kadar yakından bakarsanız görüntünün çok küçük noktalardan oluştuğunu görürsünüz. İşte bu noktalara görüntünün en küçük birimi
olan piksel denilir. Her pikselin kendine ait renk ve yoğunluk bilgileri vardır. Daha genel bir tanımla piksel için ekranın bağımsız olarak kontrol edilebilir en küçük parçası olduğunu söylenir. İşte bu piksellerden binlercesi bir araya gelerek ekrandaki görüntüyü oluşturuyor. Görüntü ise piksellerin yan yana oluşturdukları kombinasyondur.Bilgisayarın o anda çalışmakta olan programın meydana getirdiği görüntü bilgileri, işlemci ve RAM üzerinde bulunan Ekran kartının kullandığı adres ve portlara yazılır. Buradaki bilgiler veriyolu aracılığı ile ekran kartı üzerindeki işlemciye gelir, işlemci verileri kart üzerindeki hafızaya yazdıktan sonra gerekli işlemleri yapıp hafızadan verileri tekrar okur ve RAMDAC adlı bileşene gönderir. RAMDAC' in görevi ise dijital haldeki verileri, monitörün görüntüleyebileceği televizyon sinyali benzeri elektrik sinyallerine çevirmektir.Tabi bütün bunlar çok kısa sürede olmaktadır. Veriyolu hızı hafıza miktarı gibi faktörler bu süreyi ve elde edilen görüntü kalitesini büyük ölçüde etkilemektedir.
 

Çözünürlük

Çözünürlüğün görüntü kalitesini belirleyen en önemli faktör olduğunu söyleyenebilir. Çözünürlük, ekrandaki görüntünün kaç pikselden oluşacağını belirler ve yatay ve dikey piksel cinsinden belirtilir (800x600,1024x768 gibi). Örneğin 800*600 çözünürlüğündeki bir değer belirtilmişse bu yataydaki tek bir satırda 800, dikeydeki tek bir satırda ise 600 ve ekranda toplamda 480000 adet piksel olduğunu belirtmektedir. Çözünürlük arttıkça görüntü birbirinden bağımsız olarak kontrol edilebilen daha çok pikselden oluşur ve görüntü kalitesi de yükselir.Windows 95 ile hayatımıza giren "scaleable screen objects" teknolojisi sayesinde çözünürlük arttıkça ekrandaki kullanılabilir alan da artar. Windows ekranında çözünürlük ne olursa ekrandaki nesneleri oluşturan piksel sayısı değişmez. Çözünürlük arttıkça pikseller de küçüleceği için nesneler daha az yer kaplar ve masaüstündeki kullanılabilir alan çözünürlükle doğru orantılı olarak artar Çözünürlük yükseldikçe kontrol edilmesi gereken piksel sayısı ve dolayısıyla da gerekli işlem gücü, ayrıca bu piksellerin bilgilerini tutmak için gerekli bellek miktarıyla onların transferi için gereken bellek bant genişliği artar. Bu yüzden de performans düşer. Kullanmak istenilen çözünürlük hem ekran kartı desteklemeli, hem de monitör fiziksel olarak gerekli sayıda pikseli ekranda oluşturabilmeli. Yüksek tazeleme oranlarında ve çözünürlükte çalışabilmeyi öngören teknolojiye Interlancing adı verilir. Ekran çözünürlüğünün veya boyutunun artması ile düşen tazeleme oranları göz önüne alındığında iyi bir çözüm olarak görülebilir. Temelde her tazeleme (Refresh) sırasında tek ve çift numaralı satırların ayrı olaraktaranması ilkesine dayanır. Örneğin ilk taramada 1,3,5... ikinci taramada ise 2,4,6... numaralı satırların taranması…
 

Renk Derinliği

Piksellerin alabileceği renkler kırmızı, yeşil ve maviden türetilir. Renk derinliği bu renklerin miktarını belirler. Renk derinliği ne kadar artarsa her pikselin alabileceği renk sayısı artar, renkler gerçeğe daha yakın olur. Renk derinliği bit cinsinden belirtilir. Her bit 1 ve 0 olarak iki değer alabilir. 8 bit kullanıldığında bu bitlerden 28 = 256 kombinasyon üretilir. Aynı şekilde 8 bit renk derinliğinde de her piksel için 256 renk kullanılabilir.

İnsan gözünü aldatıp ekrandaki görüntüyü gerçek gibi göstermek için kullanılan üç rengin de (kırmızı, yeşil ve mavi) 256`şar tonu gereklidir, bu da renk
başına 8 bitten24 bit yapar. Bu moda True Colour (Gerçek Renk) adı verilir. Fakat çoğu güncel ekran kartı görüntü belleğini kullanma yöntemleri yüzünden pikselleri bu modda göstermek için 32 bite ihtiyaç duyarlar. Kalan 8 bit alpha kanalı (piksellerin saydamlık bilgisini tutar) için kullanılır.

High Colour (16 bit) modunda ise yeşil için altı ve maviyle kırmızı için de beşer bit kullanılır. Yeşil için 64, maviyle kırmızı için de renk başına 32 farklı yoğunluk vardır bu modda. Renk kalitesinde 32 bite göre çok az fark olsa da piksel başına 4 yerine 2 byte (8 bit = 1 byte) hafıza gerekeceğinden 32 bite göre performans avantajı sağlar.

256 renk (8 bit) modu ilk duyuşta size renk fakiri izlenimi verebilir fakat renk paleti denen bir yöntemle bu 8 bit olabilecek en verimli şekilde kullanılarak renk kalitesi biraz arttırılır. Renk paletinin mantığı: Kullanılacak 256 renk gerçek renk modundaki 3 bytelık renklerden seçilir ve bu renklerden bir renk paleti oluşturulur. Her program ilgili paletteki 256 renkten istediğini seçip kullanabilir. Böylece örneğin kırmızı için iki, mavi ve yeşil için de üçer bit kullanılarak elde edilen renklerden daha canlı renkler elde edilebilir ve elimizdeki 8 bit en verimli şekilde kullanılmış olur. Sistemimin 256 renge ayarlı olduğunu fakat 16 bitlik bir resim dosyası açtığını varsayalım. Bu durumda hazırdaki renklerin değişik kombinasyonları kullanılarak üretilemeyen renge yakın bir renk oluşturulur ve bu renk üretilmesi gereken rengin yerine gösterilir. Buna dithering denir. Tabi ki dithering yöntemiyle elde edilmiş bir
resmin kalitesi orjinal resme göre göre çok daha düşüktür.
 

Görüntü Arayüzleri

Önceleri ekrandaki piksellerin adreslenmesi için bir standart olmadığından üreticiler de programcılar da (dolayısıyla son kullanıcılar da) sorun yaşıyorlardı. Bu sorunu çözmek için üreticiler VESA (Video Electronics Standarts Association) adında video protokollerini standartlaştırmayı amaçlayan bir konsorsiyum oluşturdular. VGA ile beraber geriye uyumluluk da sağlanarak çözünürlük sürekli arttı. Görüntü standartları.

MDA (Hercules): Monochrome Display Adapter, 1981 yılındaki ilk IBM PC`deki ekran kartı. Ekranda yerleri önceden belirlenmiş olan 256 özel karakteri gösterebilyordu sadece. 80 kolona 25 satırlık bir ekranda gösterebildiği yazı karakterlerinin boyutları da önceden belirlenmişti ve grafik görüntülemek mümkün değildi. IBM, bu kartlara ekstra slot masrafından kurtulmak için bir de yazıcı bağlantı noktası eklemişti.

• CGA: Bu arayüzde ekran kartları RGB monitörlerle çalışıp ekranı piksel piksel kontrol edebiliyorlardı. 320x240 çözünürlüğündeki bir ekranda 16 renk
üretilebiliyor fakat aynı anda bunlardan sadece 4 tanesi kullanılabiliyordu. 640x200`lü bir yüksek çözünürlük modu vardır ama bu modda sadece 2 renk
gösterilebiliyordu. Görüntü kalitesi kötü olsa bile en azından grafik çizilebiliyordu. Zaman zaman piksellerin gidip gelmesi ve ekranda rastgele
noktalar oluşmasına rağmen bu standart çok uzun bir süre kullanıldı.

• EGA: CGA`dan birkaç yıl sonra sırada Enhanced Graphics Adapter vardı. CGA ile VGA arasındaki bu kartlar 1984`ten IBM`in ilk PS/2 sistemlerini ürettiği
1987`ye kadar kullanıldı. EGA monitörle kullanıldığında üretilen 64 renkten aynı anda 16 tanesi kullanılabiliyordu. Yüksek çözünürlük ve monochrome
modları da vardı ,ayrıca eski CGA ve monochrome monitörlerle de uyumluydu. Bu kartlardaki bir yenilik de bellek genişletme kartlarıydı. 64K bellekle satılan bu kartları bellek genişletme kartıyla 128K`ya upgrade etmek mümkündü. Ek olarak satılan IBM bellek kitiyle bir 128K daha eklemek de mümkündü.
Sonraları bu kartlar standart olarak 256K bellekle üretilmeye başlandı.

• PGA: IBM`in 1984`te piyasaya sürdüğü Professional Graphics Array adını hitap ettiği pazardan alıyordu. 5000 dolara satılıyor ve entegre 8088
işlemcisiyle mühendislik ugulamalarıyla diğer alanlardaki bilimsel çalışmalar için 640x480 çözünürlükte 256 renkte saniyede 60 kare hızla 3 boyutlu
animasyonları çalıştırabiliyordu. Fiyatı yayılmasını engelledi ve fazla kullanılamadan piyasadan kalktı.

• MCGA: 1987`de piyasaya sürülen MultiColor Graphics Array standardındaki ekran kartları teknolojide büyük bir sıçrama yaparak VGA ve SVGA`ya kadar
gelen bir gelişimi başlattı. IBM`in Model 25 ve Model 30 PS/2 PC`lerinde anakarta entegre halde geliyordu. Uygun bir IBM monitörle kullanıldığında
bütün CGA modlarını da destekliyordu fakat TTL yerine analog sinyallerle çalıştığından daha önceki standartlarla uyumlu değildi. TTL (Transistor – to –
Transistor Logic) mantığında voltaj seviyesine göre transistörler açılıp kapanır ve sadece 1 ve 0 değerleri oluşur bunu sonucunda. Analog sinyallerdeyse bu
kısıtlama yoktur. Analog sinyalleşmenin de sağladığı avantajla MCGA arayüzüyle 256 renk üretilebiliyordu. Bu arayüzle beraber 9 pinlik monitör
bağlantısından halen kullanılmakta olan 15 pinlik bağlantıya geçildi.

• 8514/A: IBM`in MCA veriyoluyla kullanmak için ortaya attığı bu arayüz zamanla yüksek tazeleme hızlarına çıktı. VGA ile aynı monitörü kullanmasına
rağmen VGA`dan farklı çalışıyordu. Bilgisayar ekran kartına ne yapması gerektiğini söylüyordu ama ama ekran kartı onu nasıl yapacağını kendisi
ayarlıyordu. Örneğin ekrana bir çember çizileceği zaman VGA`daki gibi işlemci görüntüyü piksel piksel hesaplayıp ekran kartına yollamıyordu. Bunun yerine
ekran kartına çember çizileceğini söylüyordu ve ekran kartı da çemberi çizmek için piksel hesaplarını kendisi yapabiliyordu. Bu yüksek seviyeli komutlar
standart VGA ile komutlarından çok farklıydı. Bu standart çıktığı zamanın daha ilerisindeydi ve VGA`dan daha kaliteli görüntü sunuyordu ama fazla destek bulamadığı için yayılma imkanı bulamadan piyasan kalktı. IBM üretimi durdurup aynı daha daha fazla renk gösterebilen XGA üzerine yoğunlaştı.
XGA 1990`da piyasaya çıktıktan sınra MicroChannelplatformları için standart oldu.

• VGA: 2 Nisan 1987`de, MCGA ve 8514/A ile aynı günde IBM tarafından tanıtılan Video Graphics Array aradan sıyrılarak masaüstü için standart olmayı
başardı. IBM yeni bilgisayarlarında bu chipleri anakarta entegre ederken eski bilgisayarlarda da kullanılabilmeleri için 8 bitlik bir arayüzle anakarta
bağlanabilen bir ayrı bir kart halinde de geliştirdi. IBM üretimi durdurduktan sonra bile değişik firmalar üretime devam ettiler. VGA ile 262144 renklik bir
paletten seçilen 256 renk aynı anda kullanılabiliyordu. 640x480`lik standart çözünürlükte aynı anda 16 renk gösterilebiliyordu. Ayrıca 64 renk gri tonlama
ile siyah beyaz monitörlerde renk similasyonu yapabiliyordu.

• SVGA: Super VGA ilk SVGA kartlardan güncel kartlara kadar çok fazla kartı

Ekran Kartları

kartları için aygıt sürücüsü kavramı ortaya çıktı. Kartların yanında verilen sürücülerle işletim sistemleri kartların tüm özelliklerini kullanabiliyorlardı.
SVGA ile milyonlarca renk değişik çözünürlüklerde gösterilebiliyor fakat bunun sınırları karta ve üreticiye bağlı. SVGA değişik şirketler tarafından kullanılan
ortak bir kavram olduğundan başlarda eski standartlar gibi çok katı sınırları yoktu. Bunun üzerine VESA bir SVGA standardı belirledi. VESA BIOS Extension adında standart bir arayüz belirlendi ve bu sayede programcılar her kart için ayrı kod yazma zahmetinden kurtuldular. Üreticiler bu arayüzü benimsemek istemediler ve başlarda kartların yanında verilen ve her boot işleminden sonra çalıştırılan bir programla kartlarını bu BIOS uzantılarıyla uyumlu hale getirdiler fakat sonunda bunu kartların BIOS`larına entegre ettiler. SVGA ile 800x600 çözünürlüğe çıkıldı.

SVGA'dan sonra IBM XGA ile 1024x768 çözünürlüğe geçerken sonraki basamak olan 1280x1024`e de bir VESA standardı olan SXGA ile geçildi. Sonra da UXGA ile de 1600x1200 çözünürlüğe geçildi. Çözünürlükteki 4:3 oranı sadece SXGA ile bozuldu, bu standartta oran 5:4`tür.
 

En Temel Bileşenleriyle Bir Ekran Kartı

Ekran Kartları

Bir ekran kartı temel olarak 3 bileşenden oluşur: Grafik işlemcisi, bellek ve RAMDAC.

• Grafik İşlemcisi: Güncel kartlar için grafik işlemcisi görüntü hesaplamalarını yapmak için ekran kartının üzerine oturtulmuş bir CPU`dur dersek yanlış olmaz. Son zamanlarda grafik işlemcileri yapı ve karmaşıklık bakımından CPU`ları solladılar ve işlev bakımından da görüntü üzerine yoğunlaşmış bir CPU niteliğine kavuştular. CPU`ya neredeyse hiç yük bindirmeden üç boyutlu işlemcleri tek başlarına tamamlayabiliyorlar artık. Bu yüzden de güncel grafik işlemcileri GPU (Graphics Processing Unit - Grafik İşlemci Birimi) adıyla anılıyorlar.

• Görüntü Belleği: Ekran kartının üzerinde bulunur ve görüntü hesaplamalarıyla ilgili veriler burada saklanır. Sisteminizdeki ana bellek gibi çalışır, yalnız
burada bu belleğin muhattabı CPU değil görüntü işlemcisidir. Önceleri ekran kartlarının ayrı bellekleri yoktu fakat görüntü işlemcileri hızlanıp geliştikçe
ekran kartları sistemden yavaş yavaş bağımsızlıklarını ilan etmeye başladılar. Bellek miktarı kadar ekran kartının sıkıştırma algoritmalarıyla bu belleği ne
kadar verimli kullanabildiği de önemlidir.

• RAMDAC: Monitörlerdeki analog sinyallerden bahsetmiştik, işte RAMDAC (RAM Dijital-to-Analog Converter) görüntü belleğindeki verileri analog RGB
(Red Green Blue, monitörde renklerin bu üç renkten türetildiğini yazmıştık) sinyallerine çevirerek monitör çıkışına verir. Monitörde kullanılan üç ana renk
için de birer RAMDAC ünitesi vardır ve bunlar her saniye belirli bir sayıda görüntü belleğini tarayıp oradaki verileri analog sinyallere dönüştürürler.
RAMDAC`in bu işlemi ne kadar hızlı yapabildiği ekran tazeleme hızını belirler.

Bu hız Hz cinsinden belirtilir ve ekrandaki görüntünün saniyede kaç kere yenilendiğini gösterir. Örneğin monitörünüz 60 Hz`te çalışıyorsa gördüğünüz
görüntü saniyede 60 kere yenilenir. Ekran tazeleme hızını mümkün olduğu kadar 85 Hz`in altına çekmemenizi öneririm, daha düşük tazeleme hızları göz
sağlığınız için zararlı olabilir. Tabi bu gözünüzün ne kadar hassas olduğuna da bağlı, bazı gözler 75 ve 85 Hz arasındaki farkı hissedemezken bazıları ilk
bakışta bunu anlayabilir. RAMDAC`in iç yapısı ve özellikleri hangi çözünürlükte ne kadar rengin gösterilebileceğini de belirler.

LCD ekranlar yapıları gereği dijtal olduklarından RAMDAC`ten değil de direk görüntü belleğinden görüntü bilgisini alıp kullanabilirler. Bunun için DVI (Digital
Video Interface) adında özel bir bağlantı kullanırlar. Bu konuya ileride
 

BIOS:

Ekran kartlarının da birer BIOS'ları vardır. Burada ekran kartının çalışma parametreleri, temel sistem fontları kayıtlıdır. Ayrıca bu BIOS sistem açılırken
ekran kartına ve onun belleğine de küçük bir test yapar.

3B bir görüntü 3 temel adımda oluşturulur:

1. Sanal bir 3B ortam yaratılır
2. Ekranda bu ortamın hangi bölümünün gösterileceğine karar verilir.
3. Görüntüyü mümkün olduğu kadar gerçeğe yakın gösterebilmek için her pikselin nasıl görüneceği belirlenir.

Sanal bir 3B ortamı o sadece o ortamın bir resmi belirleyemez. Gerçek dünyadan küçük parçayı alarak konuyu açalım. Elimizi ve onun altında duran bir masayı olduğunu anlayabiliriz. Masaya elimizle vurduğumuz zaman da masa kırılmaz ya da elimiz masanın içinden geçemez. Bu ortamın ne kadar çok resmine bakarsak bakalım masanın sertliğini ve elimize vereceği tepkiyi sadece o resimlerle anlayamayız. Sanal 3B ortamlar da böyledir. Bu ortamlardaki nesneler sentetiktir, bütün özellikleri onlara yazılım yoluyla verilir. Programcılar sanal bir 3B dünya tasarlarken büyük bir özenle bütün bu detaylara dikkat ederler ve bu işler için özel araçlar kullanırlar.

Belirli bir zamanda oluşturulan bu 3B dünyanın ancak belirli bir bölümü ekranda gösterilir. Ekrandaki görüntü dünyanın nasıl tanımlandığına, sizin nereye
gitmek istediğinize ve nereye baktığınıza göre değişir. Hangi yöne hareket ederseniz edin etrafınızdaki sanal dünya o an bulunduğunuz pozisyonu ve nereye baktığınızı değerlendirerek ekranda ne görmeniz gerektiğine karar verir. Bu farklı sahneler de kendi içlerinde tutarlı olmalıdır,örneğin bir nesne ona baktığınız her açıdan ve uzaklıktan aynı yükseklikteymiş hissi vermelidir. 3. adıma geçmeden önce sabit bir görüntünün nasıl oluşturulduğuna bakıp sonra da bir 3B görüntünün nasıl hareket kazandığına bakacağız.
 

Yüzey Kaplamaları

Sanal 3B ortamlarda nesnelerin dış görünüşleri çok önemlidir. Dış görünüşü şunlar
belirler:

• Renk: Nesnenin rengi.
• Kaplama: Tel örgünün üzerine yapılan kaplamayla nesnenin yüzeyi düz, çizgiliveya girintili çıkıntılı görünebilir.
• Yansıma: Nesneye etkiyen ışığa ve etrafındaki diğer nesnelere göre cisminüzerinde yansımalar oluşturulur.

Bir nesneyi gerçek gibi göstermek için bu üç özellik de dengeli bir biçimde nesnenin değişik yüzeylerine uygulanmalıdır. Örneğin bir 3B ortamda bir klavyeyle bir masa ışığı aynı oranda yansıtmaz. Bu üç parametreyi değiştirerek nesnelere sert veya yumuşak hissi verilebilir.
 

AGP

VLB, ISA, PCI erken sonunda ekran kartlarının da işlemciyle direk haberleşmek için kullanabilecekleri yüksek bant genişliğine sahip slotları oldu. PCI 2.1
spesifikasynlarıyla belirlenen AGP, PCI gibi 33 değil daha yüksek bant genişliği için 66 MHz`te çalışır.

AGP de tıpkı PCI gibi 32 bit genişliğindedir ama 66 MHz`te çalıştığı için en en düşük hız modunda bile 254.3 MB/s bant genişliğine sahiptir. Bunun dışında kendine özel bir sinyalleşmeye 2X, 4X ve 8X hızlarında bu bant genişliği 2`ye, 4`e ve 8`e katlanır. Bu slotun başka bir avantaji da PCI veriyolundaki gibi bant genişliğinin paylaşılmaması, AGP`nin bütün bantgenişliği ekran kartına aittir. Bu değerler kulağa hoş gelebilir ama uygulamalarda CPU, ekran kartı dışında pekçok parçaya daha ulaşmak zorundadır. AGP bantgenişliği yüksek olsa bile pratikte değişik AGP modları arasında sistemdeki diğer darboğazlar yüzünden beklenilen performans farkı olmaz çoğu zaman.

AGP, pipeliningi(İş bölümü) de desteklediği için sistem kaynaklarını daha verimli kullanabilir, pipeliningin ne olduğunu merak edenler İşlemcilerle ilgili yazımıza göz atabilirler. AGP'nin bir diğer avantajı da ana belleği görüntü belleğiyle paylaşabilmesidir. Bu sayede çok yüksek miktarda görüntü belleğine ihtiyaç duyulmadan gerektiğinde ana bellek görüntü belleği olarak kullanılabilir.
 

API Kavramı

Ekran kartları büyük bir hızla gelişiyor ve hemen her kartın farklı özellikleri var. Programcıların da her kart için ayrı kod yazmaları mümkün olmadığına göre bütün kartların ve yazılımın anlaşabileceği ortak bir platforma ihtiyaç var.

İşte bu boşluğu API (Application Programming Interface, Uygulama Programlama Arayüzü) dolduruyor. API, uygulamalarla onları çalıştıran donanımın
anlaşmasını sağlıyor. Programlar kodlarını direk donanıma aktarmadan standart biçimde API`ye aktarıyorlar. Ekran kartının sürücü yazılımı da API`den aldığı bu standart kodları kartın kullanabilceği şekle çevirip karta ulaştırıyor. Oyunlarda en sık kullanılan iki API OpenGL ve Direct3D`dir.
 

OpenGL

Ekran Kartları

API`si olarak Silicon Graphics`in IrisGL kütüphanesinden türettiği OpenGL önceleri sadece iş uygulamalarıyla kıstılanmıştı (mekanik tasarım ve bilimsel analiz gibi). 1996`da Windows versiyonunun geliştirilmesinden sonra oyun yapımcıları tarafından çok tutuldu ve halen yaygın olarak kullanılıyor.

OpenGL gelişmiş pek çok tekniği destekler, texture mapping (yüzeyleri bir grafik dosyasıyla kaplamaya yarar), antialiasing, saydamlık, sis, ışıklandırma, smooth shading (bir yüzeyden yansıyan ışık yüzey boyunca farklı etkilerde bulunsa bile shading yapılabilmesini sağlar), motion blur (hareket eden görüntü arkasında iz bırakır) ve modelling transformation (nesnelerin sanal uzaydaki büyüklüklerini, yer ve perspektiflerini değiştirmeye yarar) gibi.

Özellikleri bakımından Direct3D`ye benzese de 3B bir sahnenin basit elemanları ve bunlara uygulanacak efekler üzerinde çok etkili bir kontrol sağlar.
OpenGL, donanım tarafından iki seviyede desteklenebilir. ICD (installable client drivers) ışıklandırma, dönüşüm ve rasterizationı (bakış açımıdaki pikselleri tanımayı sağlayan bir algoritma) desteklerken MCD (mini client drivers) sadece rasterization desteği vardır. MCD sürücüleri yazmak daha kolaydır ama performans konusunda ICD çok daha üstündür.
 

Direct 3D

Direct3D`nin donanımdan bağımsız yazılım geliştirilmesine izin veren kısmı HAL`dır (Hardware Abstraction Layer). HAL, genel olarak desteklenen özellikler için bir arayüz oluşturur ve sürücülerin kendisi üzerinden donanıma erişmesinze izin verir. Direct3D, OpenGL`e denk sayılabilecek bir düşük seviye moduna sahip olmasına rağmen çoğu zaman OpenGL kadar esnek olmamakla eleştirilir.

Direct3D işhattında ekran kartı devreye girmeden önce geometri hesaplamalarını işlemci yapar. DirectX 6.0`da birlikte rendering işlemleri iyileştirildi multitexturing (bu özelliğe sahip kartlar tek geçişte birden çok dokuyu işleyeiblirler) desteği eklendi. Ayrıca görüntü kalitesini arttıran anisotropic filtering (nesneler uzaklaştıkça düşen görüntü kalitesini iyileştirir) ve bump mapping (düz yüzeyler üzerinde gerçek kaplama ve ışık efekti yapılmasını sağlar).

DirectX 7.0 bize donanımsal T&L hızlandırması desteğini getirdi,8.0 versiyonuyla ise hayatımıza hem piksel hem de geometri seviyesinde programlanabilir shaderlar girdi. Bu programlanabilir shaderlar sayesinde görüntüler gerçeğe daha da yaklaştı. DirectX 9.0 ile bu shaderlar daha da geliştirildi.

Glide

3dfx firması tarafından yazılan Glide OpenGL kadar yaygın değildir ve sadece bu firmanın ürettiği VooDoo model ekran kartlarında kullanılmaktadır. Glide API’sini destekleyen oyunlar ve ekran kartları ile birlikte kullanıldığında oldukça yüksek performans ve kaliteli grafikler sağlamak konusunda hiç zorlanmaz.
 

MiniGL

Diamond firması tarafından hazırlanan MiniGL bir bakıma OpenGL’nin daraltılmış versiyonudur. Tabi daraltılmış kelimesinden kastedilen performans değildir. MiniGL API' side kendini destekleyen kartlarda kullanılırsa çok yüksek bir performans artışı gözlemlenebilir.
 

Ekran Kartı Ramleri

Ekran Kartlarında günümüzde 3 tip RAM kullanılmaktadır. Birincisi Ekran kartları içi özel üretilmiş olan SGRAM’ LER- ki bunlar SDRAM’lerden daha hızlıdır-, ikincisi SDRAM’ler üçüncüsü ise DDRRAM’lerdir.

DDR (Double Data Rate) bellek SDRAM’ lere göre bazı avantajlarla geliyor. Teoride DDR RAM’lerin SDRAM’ lere göre veriyi iki kat daha hızlı iletmesi gerekir. Çünkü SDRAM veriyi tek döngüde iletirken. DDR RAM iki defa iletebiliyor. Aradaki fark gerçekte bu kadar fazla değil ama DDR RAM’lerin üstünlükleri yüksek çözünürlükte daha fazla belli oluyor. SDRAM zorlanırken DDR RAM üstün performans sağlıyor.
 

Hiç yorum yok:

Yorum Gönder