29 Ekim 2008 Çarşamba

Grafik hızlandırma

Daha iyi grafiklere olan ihtiyaç arttıkça; donanım üreticileri, framebufferı doldurmak için harcanan CPU zamanı miktarının düşürülmesi için bir yol bulunması gerektiğini farkettiler. Sonuç, unix dünyasında bilinen adıyla "graphics accelerator"(grafik hızlandırıcı) idi.

Grafik hızlandırıcının mantığı genel çizdirme komutlarının(doğadaki birçok geonetrik şekil) ham halde grafik hızlandırıcıya gönderilmesi esasına dayanır. Daha sonra hızlandırıcı komutların sonuçlarını frambuffer üzerinde değiştirir. Bu metod sayesinde, komut başına  binlerce ya da milyonlarca CPU döngüsünden kurtulunmuş olur ve CPU diğer işleri yapmak için serbest kalır.

İlk hızlandırıcılar, 2D arayüz performansını arttırma üzerinde odaklanmış olsalar da, birçok modern hızlandırıcı gerçek zamanda 3D görüntüleme üzerinde odaklanmışlardır. Komutları grafik hızlandırıcıya göndermek için genel bir dizayn, OpenGL kütüphanesinin kullanımıdır. OpenGL sürücüsü daha sonra bu komutları GPU (graphics processing unit) instruction larına çevirir. GPU değişen pikselleri hesaplamak için microinstruction lar kullanır. Bu sonuçlar framebuffera kopyalanır. Daha sonra framebuffer sinyali, gömülü video kaplama donanımı(genelde framebufferın verisini değiştirmeden fare imleci hareketlerinin oluşturulmasını sağlar) ve çıkış sinyalini değiştirerek üretilen herhangi bir özel analog efektin de etkisiyle, üretilir. Bu tip analog değişime örnek anti-alising verilebilir.   


Hiç yorum yok: