23 Ekim 2016 Pazar

SHADER

Modern Gpu'larda Kullanılan Shader'ların İsimleri Ve Görevleri


    Shader, programlanabilir GPU’ların ortaya çıkmasından sonra hayatımıza girmiştir. Shaderlar, vertex'lere ya da pixellere hükmetmek üzere yazılan küçük program parçalarıdır. 

    Çok genel olarak, geometrik yapılar CPU'dan graphics pipeline denen bir yerlere gönderilir, burada öncelikle vertex shaderlar sayesinde vertex’lerin transformasyonları, texture koordinatları gibi şeylerle oynanabilir. Ardından pixel shader gelir, bu da ekrana çizilen her bir noktanın özelliklerini değiştirme şansı verir bize. Doğası gereği pixel shader çok daha yoğun bir iş yapmaktadir, bu yüzden per-pixel diye tabir edilen işler genelde iyi bir ekran kartı gerektirir.

TEPE (VERTEX) SHADER 

    Grafik işlemcisine verilen her tepe noktası için bir defa çalıştırılır. Bu işlem, tepe noktasının 3 boyutlu pozisyonun ekranda gözükecek 2 boyutlu koordinatına çevrilmesi için yapılır. Tepe tarayıcısı pozisyon, renk, doku koordinatları gibi özellikler üzerinde işlem yapabilirken yeni bir tepe noktası yaratamaz. Bu tarayıcının çıktısı bir diğer tarayıcıya aktarılır.



GEOMETRİ (GEOMETRY) SHADER

     Herhangi bir ağ üzerindeki tepe noktalarını silebilir veya yenilerini ekler. Geometrik tarayıcılar, var olan ağa hacimsel detay kazandırmak içinde kullanılabilir ki bunu CPU ya yaptırmak ekstra yük getirecektir.




NOKTA (PIXEL) SHADER 

    Her bir noktanın (pixelin) renk değerini hesaplarlar. Buraya girdiler, grafik işhattına giden poligonları dolduran ızgara ünitesinden gelir. Nokta tarayıcılar genellikle ışıklandırma efektleri, pütür kaplama veya ton ayarı için kullanılır.


V-SYNC

Vsync nedir?

    Vsync, Vertical Synchronization kelimesinin yaygın kullanılan kısaltması. Türkçesi "dikey senkronizasyon" anlamına gelmektedir.
    Vsync (Vertical Synchronization) açılınca ekran kartının tazeleme hızıyla, monitörün tazeleme hızı denkleştirilir. Vsync kapalıyken görüntüde kırılmalar olur. Özellikle 3rd person ve 1st person kameralı oyunlarda mouse hızlı hareket ettirilidiğinde bu kırılma rahatlıkla görülür. Ekranın ortasından titreyen bir çizgi olarak geçer. Kapatıldığında ise fps artar.
    Önce kırılma da diyebileceğimiz "tearing"in ne olduğunu bilmeliyiz. Eğer ekran kartı monitöre belirli bir zamanda monitörün gösterebileceğinden daha fazla kare gönderirse ekranda kırılmalar olur ve bu kırılmalar da hassas bir gözü çoğu zaman rahatsız eder. Görüntüdeki bu kırılmalara "tearing" denir.
    İşte bu kırılmaları engellemek için V-Sync kullanılır ve oyunlarda saniyede gösterilecek kare sayısının monitörün tazeleme hızını geçmemesi sağlanır. Günümüzde 60 Hz`in altındaki tazeleme hızları kullanılmadığından en kötü durumda bile oyun performansı 60 FPS ile sınırlanır ki bu da oyunlar için çoğunlukla ideal hızdır.

    Aşağıda ilk resimde bazı "tearings" (kırılmalar) var. ikince resimde ise bu kırılmalar V-sync ile düzeltilmiş.


BENCHMARK SİTELERİ

Benchmark Nedir? 


      Hız testi (benchmark), gerçek hayattakine benzer işlemleri seri bir biçimde belirli bir donanım üzerinde yürütmektir. Örneğin işlemci testinde bir laptop'un işlemcisi, verileri ne kadar hızlı şifreleyebileceğini görmek üzere bir dizi matematiksel teste tabi tutulabilir. Sabit disk testlerinde büyük bir dosyanın ne kadar zamanda yazılıp okunabildiği, GPU testlerinde ekranda belirli sayıda nesne varken kaç FPS'ye ulaşıldığı test edilebilir. 

    Test sonuçları tek başlarına çok şey ifade etmeseler de, iki ürünün test sonuçlarını karşılaştırdığınızda hangisinin daha iyi performans sunduğu konusunda karar vermeye başlayabilirsiniz.

    İşlemci testi, ram testi, ekran kartı testi vb. testlerin yapıldığı siteler aşağıda verilmiştir.

1. https://www.cpubenchmark.net/

2.http://www.videocardbenchmark.net/

3.http://www.passmark.com/products/pt.htm

EKRAN KARTLARI VE ÖZELLİKLERİ

1.MSI R7 240

Slot Tipi: PCI-Express x16 
Bellek Kapasitesi:  2048 MB
Bellek Tipi: DDR3
Bellek Bant Genişliği: 72 GB / s


2.EVGA GTX750

Slot Tipi: PCI-Express 
Bellek Kapasitesi: 2 GB
Bellek Tipi: GDDR5
Bellek Bant Genişliği: 86.4 GB / s


3.MSI R9 380 GAMING

Slot Tipi: PCI-Express x16 
Bellek Kapasitesi: 4 GB
Bellek Tipi: DDR5
Bellek Bant Genişliği: 256 Bit



4.Sapphire Amd Firepro S9150 

Slot Tipi: PCI-Express x16 3.0
Bellek Kapasitesi: 16 GB
Bellek Tipi: DDR5
Bellek Bant Genişliği: 512 Bit

5.Sapphire AMD FirePro W9100 

Slot Tipi: PCI-Express x16 3.0
Bellek Kapasitesi: 16 GB
Bellek Tipi: DDR5
Bellek Bant Genişliği: 512 Bit


CUDA VE ALTERNATİF TEKNOLOJİSİ

CUDA nedir?


    CUDA, NVIDIA’nın GPU (grafik işlem birimi) gücünü kullanarak hesaplama performansında büyük ölçüde artışlara olanak veren paralel hesaplama mimarisidir.
    Yazılım geliştiriciler, bilim adamları ve araştırmacılar bugüne kadar satılan milyonlarca CUDA etkinleştirilmiş GPU ile görüntü ve video işlem, hesaplamaya dayalı biyoloji ve kimya, akışkan dinamiği, bilgisayarlı tomografi, sismik analiz, ışın izleme ve çok daha fazlası dahil olmak üzere geniş bir aralıkta kullanım alanları bulmaktadır.

CUDA Nasıl İşler?
    Genellikle video işleme ve dönüştürme konusunda kullanılan CUDA’nın direkt olarak bu işe yönelmediğini en başından belirtmek gerek. Birbiri ile veri paylaşımı yapabilen paralel dizilime sahip çekirdekler, CPU’nun tek düzen şeklinde yapacağı işi yayarak gerçekleştirir. Farklı hatlara yüklenen işlemler yavaş gerçekleşir fakat tek yolda yapılabilecek süreden daha kısa sürede işlem sonuçlanır. 

PCI EXPRESS

PCI EXPRESS VERSİYONLARI

1. PCI Express 1.0a
2. PCI Express 1.1
3. PCI Express 2.0
4. PCI Express 2.1
5. PCI Express 3.0
6. PCI Express 4.0


PCI Express 1.0a
    2003 yılında, PCI-SIG slot başına 250 MB / s veri hızı ve saniyede (GT / s) başına 2.5 gigatransfers bir aktarım hızı ile, PCIe 1.0a tanıttı.

PCI Express 1.1

    2005 yılında, PCI-SIG PCIe 1.1'i tanıtmıştır. Bu güncellenmiş veriyolu çeşitli geliştirmeler içerir, ama PCI Express 1.0a ile tam uyumludur.
    Veri hızı için herhangi bir değişiklik yapılmamıştır.

PCI Express 2.0

    PCI-SIG 15 Ocak 2007 tarihinde PCI Express Base 2.0'ı duyurmuştur. Bu veriyolu ile slot başına verim 250 MB / s, 500 MB / s  yükselmiştir. Veri transfer hızını iki katına çıkarmıştır.
    PCIe 2.0 anakart yuvalarının PCIe v1.x kartları ile tam bir geriye dönük uyumu vardır.

PCI Express 2.1

    PCI Express 2.1'in hızı PCI Express 2.0 ile aynıdır. Ne yazık ki,  PCI Express 2.1 kartları ve 1.0/1.0a ile bazı eski anakartlar arasında geriye doğru uyumluluk yoktur ama PCI Express 1.1 bağlantılı anakartlar ile geriye dönük uyumluluk destek programları aracılığıyla kendi üreticileri tarafından bir BIOS güncellemesi ile sağlanlanabilmektedir.

PCI Express 4.0

   PCIe 4.0 standardıyla beraber PCIe 3.0’da buluna  8 GT/s (gigatransfers) hızı 16 G/s hızına çıkıyor. Aynı zamanda yine bant genişliği de iki kat artış gösteriyor. 





HDMI

HDMI NEDİR?

    'Yüksek çözünürlüklü çokluortam arayüzü' veya kısaca HDMI (High Definition Multimedia Interface), 2003 yılında ses (audio) ve görüntü (video) verilerini sıkıştırılmadan dijital olarak aktarmak için geliştirilmiş bir arabirimdir.
    HDMI kablo ses ve görüntü aktarma işlemlerinde kullanılan kablolardır. Genellikle bir görüntüye sahip cihazdan başka bir cihaza görüntü ve ses iletilmesinde kullanılmaktadır. HDMI kablolar kendi içerisinde TİP A,TİP B,TİP C, TİP D ve TİP E şeklinde çeşitlendirilirler. Hepsinin kullanım sebebi aynı olsada kullanıldığı cihazlara göre farklılık gösterir.

HDMI ÇEŞİTLERİ

    Tip-A konnektör 19 pin’li olup elektriksel olarak tek-hatlı DVI-D ile çalışabilir. En çok kullanılan HDMI kablo bu tiptir ve yaygın olarak kullanılır. 


    Tip-B ise daha yüksek çözünürlükleri destekler ve 29 pin’lidir. Çift-hatlı DVI-D ile elektriksel olarak çalışabilir.



    Tip-C ve Tip D taşınabilir cihazlar için tasarlanmıştır. Oldukça küçük yapıda olurlar.Tip D akıllı telefonlara uyumludur. 

    Tip E ise otomotiv donanımlarına kullanılan bir HDMI çeşididir.