Site Rengi

BilgiliUsta.com | Aradığınız Her Bilginin Adresi.

Ekran Kartları Nasıl Çalışır?

  • 11 Nisan 2021
  • Ekran Kartları Nasıl Çalışır? için yorumlar kapalı
  • 161 kez görüntülendi.

Ekran Kartları Nasıl Çalışır? Hemen hepimizin bilgisayar almaya kalktığımızda ilk seçtğimiz parçalardan biri de ekran kartıdır ama yalnızca operasyoncu, hafıza ve statik diske bakarak bilgisayar seçtiğimiz günlerin üzerinden o kadar da uzun seneler geçmedi. şimdi yeri geldiğinde bir bilgisayar parası verebildiğimiz ekran kartlarına azıcık yakından bakalım. Standart bir ekran kartının görünüşü. Ekrandaki Görüntü Nasıl Oluşur? […]

Ekran Kartları Nasıl Çalışır?

Hemen hepimizin bilgisayar almaya kalktığımızda ilk seçtğimiz parçalardan biri de ekran kartıdır ama yalnızca operasyoncu, hafıza ve statik diske bakarak bilgisayar seçtiğimiz günlerin üzerinden o kadar da uzun seneler geçmedi. şimdi yeri geldiğinde bir bilgisayar parası verebildiğimiz ekran kartlarına azıcık yakından bakalım.

Ekran Kartları Nasıl Çalışır?
Standart bir ekran kartının görünüşü.

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

Monitörünüze yeteri kadar yakından bakarsanız görüntünün çok minik noktalardan oluştuğunu görürsünüz. İşte bu noktlara görüntünün en minik üniteyi olan piksel diyoruz. 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 hakimiyet edilebilir en minik parçası olduğunu söyleyebiliriz. İşte bu piksellerden binlercesi toplanarak ekrandaki görüntüyü oluşturuyor.

Çözünürlük

Çözünürlüğün görüntü niteliğini tanımlayan en ehemmiyetli etmen olduğunu söyleyebiliriz. Çözünürlük, ekrandaki görüntünün kaç pikselden oluşacağını tanımlar ve yatay ve dikey piksel türünden belirtilir 800×600,1024×768 gibi. Üözünürlük çoğaldıkça görüntü birbirinden bağımsız olarak hakimiyet edilebilen daha çok pikselden oluşur ve görüntü niteliği de yükselir.

Windows 95 ile yaşamımıza giren “scaleable screen objects” teknolojisi sayesinde çözünürlük çoğaldıkça ekrandaki kullanılabilir alan da çoğalır. Windows ekranında çözünürlük ne olursa ekrandaki nesneleri oluşturan piksel rakamı değişmez. Üözünürlük çoğaldı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 çoğalır.

Çözünürlük çoğaldıkça yükselen görüntü niteliğinin de bir kıymeti var tabi ki: Çözünürlük yüseldikçe hakimiyet edilmesi gereken piksel rakamı ve dolayısıyla da zorunlu operasyon eforu, ayrıca bu piksellerin bilgilerini yakalamak için zorunlu hafıza ölçüsüyle onların transferi için gereken hafıza bant genişliği çoğalır. Bu surattan da performans düşer. Kullanmak istediğiniz çözünürlüğü hem ekran kartınız desteklemeli, hem de monitörünüz fiziksel olarak zorunlu rakamda pikseli ekranda oluşturabilmeli.

Renk Derinliği

Piksellerin kendilerine ait renklerinden bahsetmiştik, piksellerin alabileceği renkler kırmızı, yeşil ve maviden türetilir. İşte renk derinliği bu renklerin ölçüsünü tanımlar. Renk derinliği ne kadar çoğalırsa her pikselin alabileceği renk rakamı çoğalır, renkler reele daha yakın olur.

Renk derinliği bit türünden belirtilir, harekâtçılarla alakalı yazımızda bitlere kısaca değinmiştik. Her bit 1 ve 0 olarak iki bedel alabilir. 8 bit kullanıldığında bu bitlerden 28=256 kombinasyon üretilir. Aynı biçimde 8 bit renk derinliğinde de her piksel için 256 renk kullanılabilir.

İnsan gözünü kandırıp ekrandaki görüntüyü reel gibi göstermek için kullanılan üç rengin de kırmızı, yeşil ve mavi 256’şar tonu zorunludur, bu da renk başına 8 bitten 24 bit yapar. Bu moda True Colour Reel Renk ismi verilir. Fakat çoğu aktüel ekran kartı görüntü hafızasını kullanma usulleri suratından pikselleri bu modda göstermek için 32 bite lüzum dinlerler. Kalan 8 bit alpha kanalı piksellerin şeffaflık bilgisini meblağ 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 değişik yoğunluk vardır bu modda. Renk niteliğinde 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 dinleyişte size renk fukarayı izlenimi verebilir fakat renk paleti sınan bir usulle bu 8 bit olabilecek en bereketli biçimde kullanılarak renk niteliği azıcık çoğaldırılır. Renk paletinin anlamı söyledir: Kullanılacak 256 renk reel renk modundaki 3 bytelık renklerden seçilir ve bu renklerden bir renk paleti oluşturulur. Her program alakalı paletteki 256 renkten istediğini seçip kullanabilir. Böylece misalin 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 bereketli biçimde kullanılmış olur.

En çok kullanılan üç renk modunu tanıdık, peki ekran kartımız üretemediği renklere ne yapıyor? Sistemimizin 256 renge ayarlı olduğunu fakat 16 bitlik bir fotoğraf dosyası açtığımızı zannedelim. Bu gidişatta hazırdaki renklerin farklı 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 usulüyle elde edilmiş bir fotoğrafın niteliği orjinal fotoğrafa 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 mesele yaşıyorlardı. Bu meseleyi çözmek için üreticiler VESA Video Electronics Standarts Association isminde video protokollerini standartlaştırmayı kasteden bir konsorsiyum oluşturdular. VGA ile birlikte geriye geçimlilik de sağlanarak çözünürlük kesintisiz arkasıydı. VGA evvelindekiler de dahil standartlara kısaca bir göz atalım:

MDA Hercules: Monochrome Display Adapter, 1981 senesindeki ilk IBM PC`deki ekran kartı. Ekranda yerleri evvelden tanımlanmış olan 256 özel şahsiyeti gösterebilyordu yalnızca. 80 sütuna 25 satırlık bir ekranda gösterebildiği yazı şahsiyetlerinin ebatları da evvelden tanımlanmıştı ve grafik görüntülemek olası değildi. IBM, bu kartlara ekstra slot giderinden kurtulmak için bir de yazıcı iletişim noktası ilave etmişti. CGA: Bu arayüzde ekran kartları RGB monitörlerle çalışıp ekranı piksel piksel hakimiyet edebiliyorlardı. 320×240 çözünürlüğündeki bir ekranda 16 renk üretilebiliyor fakat aynı anda bunlardan yalnızca 4 tanesi kullanılabiliyordu. 640×200`lük bir yüksek çözünürlük modu vardır ama bu modda yalnızca 2 renk gösterilebiliyordu. Görüntü niteliği makûs olsa dahi en azından grafik çizilebiliyordu. Zaman zaman piksellerin gidip gelmesi ve ekranda gelişigüzel noktalar oluşmasına karşın bu standart çok uzun bir müddet kullanıldı. EGA: CGA’dan birkaç sene sonra sırada Enhanced Graphics Adapter vardı. CGA ile VGA arasındaki bu kartlar 1984’deri 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 daha önceki CGA ve monochrome monitörlerle de geçimliydi. Bu kartlardaki bir yenilik de hafıza genişletme kartlarıydı. 64K hafızayla satılan bu kartları hafıza genişletme kartıyla 128K`ya upgrade etmek olasıydı. Ek olarak satılan IBM hafıza kitiyle bir 128K daha ilave etmek de olasıydı. Sonraları bu kartlar standart olarak 256K hafızayla üretilmeye başlandı. PGA: IBM`in 1984`te piyasaya sürdüğü Professional Graphics Array ismini hitap ettiği pazardan alıyordu. 5000 dolara satılıyor ve entegre 8088 operasyoncusuyla mühendislik ugulamarıyla öbür alanlardaki bilimsel çalışmalar için 640×480 çözünürlükte 256 renkte saniyede 60 kare süratle 3 ebatlı animasyonları çalıştırabiliyordu. Maliyeti yayılmasını yasakladı 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 atlama 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 tam CGA modlarını da destekliyordu fakat TTL yerine analog sinyallerle çalıştığından eskiki standartlarla geçimli değildi. TTL anlamında voltaj seviyesine göre transistörler açılıp kapanır ve yalnızca 1 ve 0 bedelleri oluşur bunu neticesinde. Analog sinyallerdeyse bu kısıtlama yoktur. Analog sinyalleşmenin de sağladığı avantajla MCGA arayüzüyle 256 renk üretilebiliyordu. Bu arayüzle birlikte 9 pinlik monitör irtibatından hali hazırda kullanılmakta olan 15 pinlik iletişime geçildi. 8514/A: IBM`in MCA veriyoluyla kullanmak için ortaya attığı bu arayüz zamanla yüksek tazeleme süratlerine çıktı. VGA ile aynı monitörü kullanmasına karşın VGA`dan değişik ç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 operasyoncu görüntüyü piksel piksel hesaplayıp ekran kartına göndermiyordu. 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 değişikti. Bu standart çıktığı zamanın daha ilerisindeydi ve VGA`dan daha nitelikli görüntü sonuyordu ama fazla yardım bulamadığı için dağılma olanağı bulamadan piyasan kalktı. IBM yapımı 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ı muvaffak oldu. IBM yeni bilgisayarlarında bu chipleri anakarta entegre ederken daha önceki bilgisayarlarda da kullanılabilmeleri için 8 bitlik bir arayüzle anakarta bağlanabilen bir ayrı bir kart halinde de geliştirdi. IBM yapımı durdurduktan sonra dahi farklı firmalar yapıma devam ettiler. VGA ile 262144 renklik bir paletten seçilen 256 renk aynı anda kullanılabiliyordu. 640×480`lik standart çözünürlükte aynı anda 16 renk gösterilebiliyordu. Ayrıca 64 renk gri tonlama ile siyah beyaz monitörlerde renk siğmilasyonu yapabiliyordu. SVGA: Super VGA ilk SVGA kartlardan aktüel kartlara kadar çok fazla kartı içeren geniş bir standart. SVGA ile beraber ekran kartları için cihaz sürücüsü kavramı ortaya çıktı. Kartların yanında verilen sürücülerle ilşetim sistemleri kartların tüm özelliklerini kullanabiliyorlardı. SVGA ile milyonlarca renk farklı çözünürlüklerde gösterilebiliyor fakat bunun hudutları karta ve üreticiye bağlı. SVGA farklı işletmeler tarafından kullanılan ortak bir kavram olduğundan başlarda daha önceki standartlar gibi çok katı hudutları yoktu. Bunun üzerine VESA bir SVGA standardı tanımladı. VESA BIOS Extension isminde standart bir arayüz tanımlandı ve bu sayede programcılar her kart için ayrı kod yazma zahmetinden kurtuldular. Üreticiler bu arayüzü özümsemek istemediler ve başlarda kartların yanında verilen ve her boot operasyonundan sonra çalıştırılan bir programla kartlarını bu BIOS uzantılarıyla geçimli hale getirdiler fakat sonunda bunu kartların BIOS`larına entegre ettiler. SVGA ile 800×600 çözünürlüğe çıkıldı.

Ekran Kartları Nasıl Çalışır?

SVGA’dan sonra IBM XGA ile 1024×768 çözünürlüğe geçerken sonraki basamak olan 1280×1024’e de bir VESA standardı olan SXGA ile geçildi. Sonra da UXGA ile de 1600×1200 çöznürlüğe geçildi. Üözünürlükteki 4:3 oranı yalnızca SXGA ile bozuldu, bu standartta oran 5:4`cins.

En Esas Bileşenleriyle Bir Ekran Kartı

Ekran Kartları Nasıl Çalışır?

Bir ekran kartı esas olarak 3 bileşenden oluşur: Grafik harekâtçısı, hafıza ve RAMDAC.

Grafik Harekâtçısı: Aktüel kartlar için grafik harekâtçısı görüntü hesaplamalarını yapmak için ekran kartının üzerine oturtulmuş bir CPU`dur dersek yanlış olmaz. Son zamanlarda grafik harekâtçıları yapı ve karışı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 kalitesine kavuştular. CPU`ya neredeyse hiç yük bindirmeden üç ebatlı işlemcleri tek başlarına bitirebiliyorlar artık. Bu surattan da aktüel grafik harekâtçıları GPU Graphics Processing Unit-Grafik Operasyoncu Üniteyi ismiyle anılıyorlar. Görüntü Hafızayı: Ekran kartının üzerinde bulunur ve görüntü hesaplamalarıyla alakalı bilgiler burada saklanır. Sisteminizdeki ana hafıza gibi çalışır, yalnız burada bu hafızanın muhattabı CPU değil görüntü operasyoncusudur. Ünceleri ekran kartlarının ayrı hafızaları yoktu fakat görüntü harekâtçıları süratlenip büyüdükçe ekran kartları sistemden yavaş yavaş bağımsızlıklarını bülten etmeye başladılar. Hafıza ölçüyü kadar ekran kartının sıkıştırma algoritmalarıyla bu hafızayı ne kadar bereketli kullanabildiği de ehemmiyetlidir. RAMDAC: Monitörlerdeki analog sinyallerden bahsetmiştik, işte RAMDAC RAM Dijital-to-Analog Converter görüntü hafızasındaki bilgileri 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 birimi vardır ve bunlar her saniye belli bir rakamda görüntü hafızasını tarayıp oradaki bilgileri analog sinyallere dönüştürürler. RAMDAC`in bu harekâtı ne kadar süratli yapabildiği ekran tazeleme süratini tanımlar. Bu sürat Hz türünden 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 süratini olası olduğu kadar 85 Hz`in altına sürüklememenizi öneririm, daha düşük tazeleme süratleri göz sıhhatiniz için hasarlı olabilir. Tabi bu gözünüzün ne kadar duyarlı olduğuna da bağlı, bazı gözler 75 ve 85 Hz arasındaki farkı sezemezken kimileri ilk bakışta bunu kavrayabilir. RAMDAC`in iç yapısı ve özellikleri hangi çözünürlükte ne kadar rengin gösterilebileceğini de tanımlar.LCD ekranlar yapıları gereği dijtal olduklarından RAMDAC`deri değil de direk görüntü hafızasından görüntü bilgisini alıp kullanabilirler. Bunun için DVI Digital Video Interface isminde özel bir iletişim kullanırlar. Bu mevzuya ileride “Monitörler Nasıl Üalışır?” yazısında ayrıntılı olarak değineceğiz. BIOS: Ekran kartlarının da birer BIOS’ları vardır. Burada ekran kartının çalışma parametreleri, esas sistem fontları kayıtlıdır. Ayrıca bu BIOS sistem açılırken ekran kartına hafızasına da minik bir test yapar.

3. Ebada Geçiyoruz…

Kimilerimiz 3B uygulamalar için ekran kartlarına tomarla para döküyoruz. 3B bir görüntü 3 esas adımda oluşturulur:

Sanal bir 3B etraf yaratılır Ekranda bu civarın hangi kısmının gösterileceğine karar verilir. Görüntüyü olası olduğu kadar reele yakın gösterebilmek için her pikselin nasıl görüneceği tanımlanır.

Sanal bir 3B civarı o yalnızca o civarın bir fotoğrafı tanımlayamaz. Reel dünyadan minik parçayı alarak mevzuyu açalım. Elimizi ve onun altında duran bir masayı düşünelim, bu bizim 3B etrafımız olsun. Elimizle değdiğimizde masanın sert olduğunu kavrayabiliriz. Masaya elimizle vurduğumuz zaman da masa kırlımaz ya da elimiz masanın içinden geçemez. Bu civarın ne kadar çok fotoğrafına bakarsak bakalım masanın sertliğini ve elimize vereceği tepkiyi yalnızca o fotoğraflarla kavrayamayız. Sanal 3B etraflar da böyledir. Bu civarlardaki nesneler sentetiktir, tam özellikleri onlara yazılım yoluyla verilir. Programcılar sanal bir 3B dünya tasarlarken büyük bir itinayla tam bu ayrıntılara dikkat ederler ve bu işler için özel vasıtalar kullanırlar.

Belli bir zamanda oluşturulan bu 3B dünyanın ancak belli bir kısmı ekranda gösterilir. Ekrandaki görüntü dünyanın nasıl belirlendiğine, sizin nereye gitmek istediğinize ve nereye baktığınıza göre değişir. Hangi doğrultuya hareket ederseniz edin çevrenizdeki sanal dünya o an bulunduğunuz pozisyonu ve nereye baktığınızı değerlendirerek ekranda ne görmeniz gerektiğine karar verir. Bu değişik sahneler de kendi içlerinde meblağlı olmalıdır,misalin bir nesne ona baktığınız her açıdan ve uzaklıktan aynı yükseklikteymiş hissi vermelidir. 3. adıma geçmeden evvel statik 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.

Biçimler

3B nesneler ilk başta wireframe sınan bir yapı ile oluşturulurlar. biçimin iskeleti de diyebilceğimiz bu tel örgü en kolay haliyle nesnenin biçimini tanımlar. Wireframe sınan bu yapı için bir yüzey belirlenmesi koşuldur.

Ekran Kartları Nasıl Çalışır?
Bu el modeli 862 poligondan oluşuyor.

Ekran Kartları Nasıl Çalışır?
Aynı model 3444 poligonla reele çok daha yakın.

Yüzey Kaplamaları

Sanal bir 3B etrafta nesneleri elleme talihimiz olmadığından onların hakkında yalnızca onlara bakarak fikir edinebiliriz. Bu surattan sanal 3B etraflarda nesnelerin dış görünüşleri çok ehemmiyetlidir. Dış görünüşü şunlar tanımlar:

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

Bir nesneyi reel gibi göstermek için bu üç özellik de balanslı bir şekilde nesnenin farklı yüzeylerine uygulanmalıdır. Ürneğin bir 3B etrafta bir klavyeyle bir masa ışığı aynı oranda yansıtmaz. Bu üç parametreyi değiştirerek nesnelere sert veya yumuşak hissi verilebilir.

Ekran Kartları Nasıl Çalışır?
Tel örgümüz, kaplanınca reel bir ele benzedi.

Lighting Işıklandırma

Karanlık bir odaya girdiğimizde ışığı açarız ve ışık kaynağından her doğrultuya doğru dağılan ışık sayesinde odadaki tam nesnelerin görüntüsü değişir. Bu ışığın odaya nasıl dağıldığını düşünmeyiz ama 3B grafiklerle uğraşanlar bunu düşünmek zorundalar. Tel örgüleri kaplayan kaplamalar texturelar bir yerden aydınlatılmalıdırlar. Ray tracing denilen bir usulle ışık ışınlarının alacağı yol çizilir ve bu ışınlar çarptıkları nesnelerden değişik yoğunluk ve açılarla yansır. Üoklu ışık kaynaklarını düşündüğünüzde bu hesaplamar oldukça karmaşık bir hal alabilir.

Işıklandırma cisme ağırlık ve katılık tesiri veririken en çok kullanılan iki efektte ehemmiyetli rol oynar: Shading ve gölgeler. Shading, bir nesne üzerindeki parlayan ışığın bir tarafında öbür tarafından daha eforlu olmasıdır. Ancak shading sayesinde bir top yuvarlak veya buruşmuş bir battaniye yumuşak görünebilir. Parlaklıktaki bu fark nesnelere derinlik, uzunluk ve genişlik kazandırır.

Ekran Kartları Nasıl Çalışır?
Işıklandırma, nesneye yalnızca derinlik katmakla kalmayıp onu üzerinde bulunduğu yüzeye de bağıyor.

Katı nesneler üzerlerinden ışık parladığında gölgeler yaratırlar. Gözlerimiz reel nesneleri görmeye aşina olduğundan ekranda gölge gördüğümüz zaman matematiksel olarak üretilmiş biçimlere değil de bir pencereden reel bir dünyaya bakıyormuş gibi sezeriz.

Perspektif

Perspektif kulağa azıcık teknik gelebilir ama günlük hayatımızda çok sık gördüğümüz bir tesirdir. Bir yolun kenarında durup ufuk çizgisine doğru baktığınızda yolun iki kenarı da birleşiyormuş gibi görünür. Yol kenarında ağaçlar varsa da bu ağaçlar birleşme noktasına yanaştıkça da daha minik görünür. Nesnelerin bir noktada birleşiyormuş gibi görünmesini sağlayan bu efekt perspektiftir. Farklı çeşitleri vardır fakat 3B çizimlerde genelde tek noktalı perspektif kullanılır.

Ekran Kartları Nasıl Çalışır?

Biçimdeki eller ayrı duruyor fakat çoğu sahnede nesneler birbirlerinin önünde dururlar ve birbirlerini kısmen kapatırlar. Bu gidişatta bunların büyüklüklerinin hesaplanması dışında hangisinin önde olduğu da öğrenilmelidir. Bunun için Z Buffering denilen teknik kullanılır. Z buffera her poligon için bir sayı ceddilir ve bu sayı o poligona sahip nesnenin sahnenin ön tarafına yakınlığını tanımlar. Üneğin 16 bitlik bir Z bufferekrana en yakın poligon için -32768 ve en uzak poligon için de 32767 bedellerini atar.

Asılda bir nesnenin arttaki öbür nesneleri göremediğimiz için ne görüyor olmamız gerektiğini düşünmeyiz. Sanal 3B etraflarda da bu sıkça olur ve çok düz bi anlamla çözülür. Nesneler yaratıldıkça x ve y dingilinde aynı bedele sahip olanlarının Z bufferdaki bedelleri karşılaştırılır ve en düşük Z bedeline sahip nesne tamamen görüntülenir. Daha yüksek Z kıymetindekilerinse tamamı görüntülenen nesneyle kesişen bölgeleri görüntülenmez. Nesneler tamamen oluşturulmadan evvel Z bedelleri tanımlandığı için görünmeyecek bölgeler tamamen hesaplanmaz ve bu da performansı çoğaldırır.

Derinlik Depth of Field

Yol ve ağaçlar misalimizi andıralım ve o misalde oluşabilecek başka bir esrarengiz vakayı düşünelim. Yakınınızdaki bir ağaca bakarsanız uzaktaki ağaçların netliklerini kaybettiklerini görürsünüz.

Filmlerde ve bilgisayar etrafında sık kullanılan bu efekt iki emele hizmet eder. İlki sahnedeki derinlik hissini kuvvetlendirmektir. İkincisi ise dikkatinizi bir nesneye sürüklemektir.

Ekran Kartları Nasıl Çalışır?

Anti-aliasing

Bu teknik de gözü kandırarak görüntünün natürel görünmesini emeller. Dijital görüntü sistemleri alta ve yukarıya doğru düz çizgiler çizmekte son derece zaferlidirler fakat iş çarpıklara ve çapraz çizgileri çizmeye gelince basamak efekti oluşur ve çizgilerin kenarları yumuşak değil de daha çok bir merdiven gibi gözükür. İşte bu nokada devreye anti-aliasing girer ve çizginin kenarlarındaki piksellere onlara yakın gir tonlardaki renklerle shading uygulayarak kenarları azıcık flulaştırır. Bu sayede basamak efekti ortadan kaybolmuş gibi gözükür. Anti-aliasingde doğru pikselelleri çin doğru renkleri seçmek de başka bir karışık harekâttır ve sisteme oldukça yük bindirir.

Ekran Kartları Nasıl Çalışır?
Sadece düz çizgilerdeki pikseller kullanıldığında basamak efekti oluşur.

Ekran Kartları Nasıl Çalışır?
Kenarlardaki piksellerin çevresindekiler de kullanılarak basamak efekti eksiltilir.

Görüntüleri Hareketlendirme Zamanı

Durağan 3B sahnelerin nasıl yaratıldığını gördükten sonra bunların nasıl hareket kazandığını bilebiliriz. şu ana kadar anlattığımız harekâtların hiçbiri teçhizatı yaratılan bu durağan görütülere hareket kazandırmaktan daha fazla zorlayamaz. Üçgenlerden ve poligonlardan olşuan tel örgülerimizi hareket ettirmek için ekrandaki her piksel saniyede belli rakamda hesaplama yapılmalıdır.

Yüksek çöznürlük denince usumuza en az 1024×768 kazanç, daha düşük çözünürlükleri adam yerine koymayız pek. Bu çözünürlükte 786.432 adet piksel kulllanır, her piksel için 32 bit renk kullanıldığında 25.165.824 bit yalnızca durağan görüntü için zorunludur. Görüntünün 60 FPS süratte çalışması için her saniye 1.509.949.440 bit bilgi aktarılmalıdır ve bu yalnızca görüntüyü ekrana yansıtmak için yeterlidir. Bunun yanında bilgisayar görüntü içeriğini, renkleri, biçimleri, ışıkları ve öbür efektleri de hesaplamak zorundadır. Tam bunlar görüntü operasyoncularının çok süratli büyümesine neden oluyor zira CPU`nun alabileceği her türlü desteğe gereksinimi var.

Transform Mutasyon Operasyonları

Durağan görüntüler mutasyon sınan matematiksel bir operasyon neticesinde hareket kazanırlar. Bakış açımızı her değiştirdiğmizde bir mutasyon olur. Bir otomobilin bize yanaştıkça daha büyük görünmesi gibi, büyüklüğün her başkalaşımında bir mutasyon olur. Bir 3B oyunun her karesinde kullanılan mutasyon operasyonuna matematiksel olarak şu biçimdedir:

Mutasyonda ilk etapta sanal dünyamızı belirleyen ehemmiyetli değişkenler kullanılır:

X=758 baktığımız sana dünyanın yüksekliği Y=1024 bu sanal dünyanın genişliği Z=2 bu da sanal dünyamızın derinliği Sx sanal dünyaya baktığımız pencerenin yüksekliği Sy pencerenin genişliği Sz= hangi nesnelerin diğerleinin önünde göründüğünü belirten derinlik dğeişkeni D = .75 gözümüzle sanal dünyamıza açılan pencere arasındaki uzaklık

Üncelikle sanal 3B dünyamıza açılan pencerelerimizin genişliği hesaplanır:

Ekran Kartları Nasıl Çalışır?

Daha sonra perspektif mutasyonu yapılır, bu düzeyde yeni değişkenler de işin içine girer:

Ekran Kartları Nasıl Çalışır?

Sonunda X, Y, Z, 1.0 noktası alttaki işlemcler neticesinde X’, Y’, Z’, W’ noktasına dönüşür:

Ekran Kartları Nasıl Çalışır?

Görüntü ekrana yansıtılmadan evvel son bir mutasyon daha yapılmalıdır, bu kadarı dahi bu harekâtın karışıklığı hakkında size fikir vermiştir. Üstelik tam bu operasyonlar tek bir vektör, başka bir deyişle kolay bir çizgi için. Aynı harekâtların görüntüyü olşturan tam nesnelere saniyede 60 kere uygulandığını düşünün…

Ekran Kartları Bu Operasyonlara Ne kadar Yarkasım Edebiliyor?

Ünceleri ekran kartları yalnızca harekâtçıdan gelen sinyalleri monitörün kavrayabileceği şekle çeviriyorlardı ve bundan başka bir vazifeleri yoktu. Görüntü niteliği yükseldikçe ve operasyoncunun sırtına binen öbür yükler de çoğaldıkça bu usul zamanla geçerliliğini yitirdi.

Gördüğümüz gibi öncelikle üçgenlerden ve poligonlardan tel örgü denilen iskelet oluşturuluyor ve bu yapı 2 ebatlı bir ekranda gösterilmek için mutasyona uğruyor. Dönüşen nesneler kaplanıp aydınlatılıyor ve sonunda da monitöre aktarılıyor. GeForce evveli TNT 2 ve Vodoo 3 gibi ekran kartları mutasyon operasyonundan sonra devreye girip kalan operasyonları CPU’nun üzerinden alıyorlardı ve CPU`yu bir ölçü gevşetiyorlardı.

GeForce ile yaşamımıza GPU kavramı girdi. T&L Transform & Lighting dayanaklı bu kartlar mutasyon ve ışıklandırma operasyonlarını da CPU`nun üzerinden alarak sistemi ehemmiyetli miktarda hafiflettiler. Bu iki operasyonda aynı hesaplamalar üst üste kerelerce yapıldığından bunlar ekipmansal süratlendirme için çok uygundu. Her iki harekâtta da kayar nokta hesapları yapıldığından bunlar CPU`nun üzerinde çok ağır bir yük oluşturuyorlardı. Bu sayede CPU da başka işlere yoğunlaşabilecekti suni zihin gibi.

AGP

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

AGP de tıkpkı PCI gibi 32 bit genişliğindedir ama 66 MHz`te çalıştığı için en en düşük sürat modunda dahi 254.3 MB/s bant genişliğine sahiptir. Bunun dışında kendine özel bir sinyalleşmeye 2X, 4X ve 8X süratlerinde bu bant genişliği 2’ye, 4’e ve 8’e direnir. Bu slotun başka bir avantaji da PCI veriyolundaki gibi bant genişliğinin paylaşılmaması, AGP’nin tam bantgenişliği ekran kartına aittir.

Bu kıymetler kulağa güzel gelebilir ama uygulamalarda CPU, ekran kartı dışında pek çok parçaya daha erişmek zorundadır. AGP bantgenişliği yüksek olsa dahi pratikte farklı AGP modları arasında sistemdeki öbür darboğazlar suratından beklenilen performans farkı olmaz çoğu zaman.

AGP, pipeliningi İş kısmı de desteklediği için sistem kaynaklarını daha bereketli kullanabilir, pipeliningin ne olduğunu merak edenler Harekâtçılarla alakalı yazımıza göz atabilirler. AGP’nin bir diğeravantajı da ana hafızayı görüntü hafızasıyla paylaşabilmesidir. Bu sayede çok yüksek ölçüde görüntü hafızasına lüzum dinlenmeden gerektiğinde ana hafıza görüntü hafızayı olarak kullanılabilir.

API Kavramı

Ekran kartları büyük bir süratle büyüyor ve hemen her kartın değişik özellikleri var. Programcıların da her kart için ayrı kod yazmaları olası olmadığına göre tam kartların ve yazılımın uyuşabileceği ortak bir platforma lüzum var.

İşte bu boşluğu API Application Programming Interface, Uygulama Programlama Arayüzü dolduruyor. API, uygulamalarla onları çalıştıran ekipmanın uyuşmasını sağlıyor. Programlar kodlarını direk ekipmana aktarmadan standart şekilde 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 eriştiriyor. Oyunlarda en sık kullanılan iki API OpenGL ve Direct3D`dir.

OpenGL

1992`de Unix tabanlı X terminaller için genel bir CAD ve 3B API’si olarak Silicon Graphics’in IrisGL kütüphanesinden türettiği OpenGL evvelleri yalnızca iş uygulamalarıyla kıstılanmıştı mekanik tasarım ve bilimsel tahlil gibi. 1996’da Windows versiyonunun geliştirlimesinden sonra reyin imalcileri tarafından çok yakalandı ve hali hazırda yaygın olarak kullanılıyor.

OpenGL gelişmiş pekçok tekniği takviyeler, texture mapping yüzeyleri bir grafik dosyasıyla kaplamaya fayda, antialiasing, şeffaflık, sis, ışıklandırma, smooth shading bir yüzeyden yansıyan ışık yüzey süresince değişik tesirlerde bulunsa dahi shading yapılabilmesini sağlar, motion blur hareket eden görüntü artta iz vazgeçer ve modelling transformation nesnelerin sanal uzaydaki büyüklüklerini, yer ve perspektiflerini değiştirmeye fayda gibi.

Üzellikleri bakımından Direct3D’ye benzese de 3B bir sahnenin kolay personelleri ve bunlara uygulanacak efekler üzerinde çok tesirli bir hakimiyet sağlar.

OpenGL, teçhizat tarafından iki seviyede desteklenebilir. ICD installable client drivers ışıklandırma, mutasyon ve rasterizationı bakış açımıdaki pikselleri tanımayı sağlayan bir algoritma dayanaklarken MCD mini client drivers yalnızca rasterization takviyeyi vardır. MCD sürücüleri yazmak daha basittir ama performans mevzusunda ICD çok daha üstündür.

Direct 3D

Direct3D’nin teçhizattan 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 ekipmana erişmesinze izin verir.

Ekran Kartları Nasıl Çalışır?

Direct3D, OpenGL`e denk sayılabilecek bir düşük seviye moduna sahip olmasına karşın çoğu zaman OpenGL kadar elastik olmamakla tenkit etilir.

Direct3D işhattında ekran kartı devreye girmeden evvel geometri hesaplamalarını operasyoncu yapar. DirectX 6.0`da beraber rendering operasyonları iyileştirildi multitexturing bu özelliğe sahip kartlar tek geçişte birden çok dokuyu işleyeiblirler takviyeyi ilave edildi. Ayrıca görüntü niteliğini çoğaldıran anisotropic filtering nesneler uzaklaştıkça düşen görüntü niteliğini iyileştirir ve bump mapping düz yüzeyler üzerinde reel kaplama ve ışık efekti yapılmasını sağlar.

DirectX 7.0 bize ekipmansal T&L süratlendirmesi yardımını getirdi,8.0 versiyonuyla ise yaşamımıza hem piksel hem de geometri seviyesinde programlanabilir shaderlar girdi. Bu programlanabilir shaderlar sayesinde görüntüler reele daha da yanaştı. DirectX 9.0 ile bu shaderlar daha da geliştirildi.

ZİYARETÇİ YORUMLARI

Henüz yorum yapılmamış. İlk yorumu aşağıdaki form aracılığıyla siz yapabilirsiniz.

BİR YORUM YAZ