DirectX Üye Ol (Üye olduğunuzda tüm reklamlar gizlenecektir) Soru/Cevap
Geri Dön   MsXLabs MK > :: LEGEND Forumları :: > PC/Internet/Yazılım/Donanım > Bilgisayar Bileşenleri (Hardware)
Facebook Hesabınızla Bağlanın (Connect with Facebook)
Cevap Yeni Konu Aç
Eski 21-02-2007   #1 (mesaj-linki)
Blue Blood - avatarı
DirectX



DirectX, Microsoft'un oyunlar başta olmak üzere çoklu ortam yazılımlarını rahat, hızlı ve uyumlu şekilde hazırlayabilmek için yarattığı bir Yazılım Programlama Arayüzüdür. İçerdiği bileşenler şu şekilde özetlenebilir:
  • Direct3D (veya yeni adıyla WGF: Windows Graphics Foundations - Windows Grafik Temelleri) hem iki hem üç boyutlu grafikleri ekrana dökmeye yarar. Piyasadaki çoğu ekran kartının en modern donanım hızlandırma özelliklerini destekler. En büyük rakibi OpenGL'dir.
  • DirectSound hem iki hem üç boyutlu ses için kullanılır. Windows altında çalışabilen her ses kartı en azından yazılım ile DirectSound ve DirectSound 3D desteğine sahiptir. Piyasadaki tüm rakipleri göz ardı edilebilecek bir popüleriteye sahiptir.
  • DirectInput, klavye, fare ve oyun çubuğu gibi bileşenlerin giriş ve çıkışlarını basit bir şekilde yönetebilmek için olan arabirimdir.
  • DirectPlay ise TCP/IP, modem ve Bluetooth gibi birçok protokol üzerinden bağlantı ve mesajlaşma bileşenlerini içerir. TCP/IP üzerinde NAT veya uPnPDirectPlay Voice ile saniyede 1.2 kbit'e kadar inebilen ses sıkıştırma codec'leri ile göz doldurur. Açık kaynak dünyasında en bilinen rakibi HawkNL'dir. geçişlerini desteklemesi ve
Windows 95 ile birlikte oyun programcılarını DOS'tan Windows'a doğru çekmek için yaratılmış olan bu arabirim, ancak 5.0 sürümünden itibaren beklenen ilgiyi görmeye başlayabilmiştir. Windows 2000'in çıkışıyla birlikte gerçek kip oyunlarının sonu gelmiş olduğundan, Windows altında vazgeçilmez oyun arayüzü haline gelmiştir. XBox'ta da DirectX'in kullanılıyor olması, arabirimin popülaritesini artırmada etkili olmuştur. Buna ek olarak, son zamanlarda DirectX Managed (.NET tabanlı) modülü sayesinde çok hızlı bir şekilde kolayca, karmaşık DirectX uygulamaları yazmak mümkün hale gelmiştir.
Sanılanın aksine, Linux altında DirectX bileşenlerinin büyük çoğunluğunun kullanılması Cadega sayesinde mümkündür. Bu yazılım, Direct3D'yi OpenGL, DirectSound'u ise OSS (Open Sound System - Açık Ses Sistemi) kullanarak çalıştırır.
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 23-02-2007   #2 (mesaj-linki)
BLacK_HawK - avatarı
Cvp: DirectX

güzel açıklama ama şimdi directx'lerde ara ara güncelleniyor 9B veya 9C gibi oyun oynayan arkadaşlara tavsiye güncelleyin
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 23-02-2007   #3 (mesaj-linki)
alehandro - avatarı
Cvp: DirectX

saolasın dırect x gibisi yok tabiki
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 26-02-2007   #4 (mesaj-linki)
Avatarı Yok (No Avatar)
Cvp: DirectX

ne yazııkı yakında Dırectx 10 cıkacak veebıızm şunakı kullandığımızz ekran kartlarıı bunu destekleyemeyecek desteklıyenlerdee şuan çokk pahalıı allah sonumuzu hayır ede :-)))
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 27-02-2007   #5 (mesaj-linki)
ShadowMasters
Avatarı Yok (No Avatar)
Cvp: DirectX

saol
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 19-12-2007   #6 (mesaj-linki)
buz gözlü
Avatarı Yok (No Avatar)
Cvp: DirectX

mrb fuzel aciklama sagol ben vista ultimate kurdum buda directx 10 kullaniyor ancak eran kartim desteklemiyor bu arada vistada cok guzell tsk ederim.
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 23-09-2008   #7 (mesaj-linki)
AngelFRANTIX - avatarı
Cvp: CrossFire-SLI Kavgasına Son: Hydra Yongası

Ekran kartının directx 10 desteklemelidir yoksa yeterli performans sağlayamassın.

Son Düzenleyen AngelFRANTIX; 13-10-2008 @ 10:34.
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Eski 13-10-2008   #8 (mesaj-linki)
AngelFRANTIX - avatarı
DirectX 10'un Derinliklerine İnmek

Eğlenceli bir şey yaparken zaman akıp gider. DirectX 9 ile bu olguyu bir miktar yaşamıştık. DirectX 9 program geliştirme arayüzü (API) ile yapılan oyunları Aralık 2002'den beri oynuyoruz (neredeyse dört yıl oldu). Grafik başlığı altında yapılan konuşmalarda genellikle "DirectX" terimi kullanılıyor fakat DirectX aslında oyunların farklı özellikleri için çıkarılmış bir grup API'dir ve grafik bunlardan sadece birisidir. Half Life 2, F.E.A.R., Battlefield 2 ve Oblivion gibi pek çok ileri seviye oyun en son çıkarılan 9.0c sürümünü kullanır.


DirectX içinde üç çekirdek alan bulunur: giriş aygıtları, ses ve video. Aşağıdaki tabloda şu anki sürümde bulunan API'lerin bir listesini görebilirsiniz.

Giriş Aygıtları (Input Devices)
DirectInput
Bu API, klavyeler, fareler, oyun çubukları, oyun pedleri ve güç tepkili (force feedback) aygıtlar için kullanılır. Windows XP SP1 ve sonraki sürümleri için bu API'nin içine Xbox360 denetleyicisi desteği de eklenmiştir.
Ses
DirectSound
Bu düşük seviye API uygulama ile ses kartı arasındaki arayüz için kullanılır. Donanımsal önbellekler, ses yükseklik seviyesi gibi sesle ilgili özellikler bu API kullanılarak değiştirilebilir.
DirectMusic Bu daha yüksek seviyeli bir API'dir ve birden fazla sesi karıştırabilir. MIDI çalma, birden fazla sesin yüksekliği ve çeşitli çalışma zamanı (runtime) özellikleri bu bileşen tarafından denetlenebilir.
Video
Direct3D
Ekrana resimlerin çıkarılmasından bu API sorumludur. Donanımsal hızlandırıcılar (grafik kartları) tarafından 3B nesnelerin özelliklerinin değiştirilebilmesine bu düşük seviye arayüz izin verir.
DirectDraw Eskiden önemli olan bu başlık yeni sürümlerde 2B işlevlerinin Direct3D içine konulmasıyla eski önemini kaybetmiştir.


Bu yazının geri kalanında herkesin en çok merak ettiği bileşenden bahsedeceğiz: Direct3D. DirectX 10 ile bu başlık altında pek çok değişiklik yapılacak. Direct3D 10 şu andaki grafiksel sorunları çözmeye yönelik yeni özellikler ve yeni yaratımlama teknikleri için çeşitli araçlar sunuyor. Ayrıca 3B işhattını da daha basit hale getiriyor böylece daha iyi oyunların geliştiriciler tarafından üretilebilmesinin önü açılıyor.

Neler Değişti?


Geçtiğimiz ay DX10 üzerine Nvidia'nın yaptığı kısa bir bilgilendirme toplantısından sonra Microsoft'un DirectX 10 üzerinde Grafik Platformu Birimi yazılım mimarı David Blythe ile görüşme fırsatı yakaladım. Toplantının konusu Direct3D 10 ile yapılan büyük çaplı geliştirmelerdi. Blythe'e göre yazılım geliştiricileri ve donanım üreticileri bazı önemli sorunlarının dikkate alınmasını istiyorlar ve Direct3D 10 bu tür büyük şikayetlere çeşitli çözümler sunuyor.

Direct3D 10 beş anahtar değişikliğe sahip:
Programcılar kendilerini daha rahat anlatabiliyorlar (Tarayıcı Modeli 4.0 ve Geometri Tarayıcıları)
Sıkı donanım tanımlamaları
Geliştirilmiş başarım (kare başına daha düşük komut döngüsü)
Birleşik yönerge seti (HLSL 10)
Akan G/Ç (Geometri Tarayıcısı belleğe yazabiliyor)


Direct3D 10 ile resimlerin nasıl yaratımlandığını göstermek için birkaç saniye harcamak istiyorum. Böylece yapılan değişikliklerin nasıl hayata geçirilebileceğini daha iyi anlayabilirsiniz.



Geleneksel işhattı yapısı ATI'nin Radeon X1000 serisi ekran kartlarının gelmesiyle bir kenara atılmıştı ve daha fazla iş parçasına (thread) yönelik bir yaklaşım kullanılmaya başlanmıştı. Buna göre bir kartın "N" sayıda noktacık işhattına sahip olması artık eskide kalan bir anlayış. Eğer eski donanımlardan bahsetmiyorsanız bunu kafanızdan silin.

Programcıların Kendini Daha Rahat Anlatması

İçerik yaratmanın önünde bulunan engellerden birisi de sanatçının hayal gücünde geliştirdiği şeyi ekrana aktarmasıdır. İnsanlar kafalarının içinde, gözleriyle dünyada gördükleri bütün ayrıntıları içeren, gerçekçi resimler çizmeyi bir şekilde başarabilirler. Beynimizin işleyiş şekli bilgisayara göre çok daha hızlı olduğundan bilgisayar çizimleri söz konusu olduğunda işler çok farklıdır. Silikon yongalar fabrikadan bir kere çıktıktan sonra tekrar değiştirilemezler (en azından programlanabilen tarayıcılar çıkmadan önce). Ancak programlanabilir tarayıcılar bir yaratımlama motorunun parçalarından sadece birisidir. Sonuçta sınırlı bir hesaplama kapasitesi olduğundan neyin yapılıp yapılamayacağı buna göre belirlenir.

Programcıların gereksinimleri arttıkça yeni standart donanımlar ve yeni yazılım kodları bunları karşılamak için hayatımıza girdi. Bu gereksinim yine kendini gösterdi ve Direct3D tarayıcıların yapabileceği şeyleri bir kez daha arttırıyor.

Aşağıdaki tablo tarayıcı modellerinin sınırlarını gösteriyor. Çok fazla derine inmeden bu tablodan çıkarılacak sonuç Tarayıcı Modeli 4.0'ın (SM 4.0) bir önceki sürüme göre çok daha gelişmiş olduğudur. Aynı zamanda sadece noktacık tarayıcı (pixel shader) veya sadece tepe tarayıcı (vertex shader) mantığına dayanan tasarımı da çöpe atıyor. Blythe'nin sunumunda da belirtildiği üzere en önemli gelişmelerden birisi sabit işleve sahip olan tarayıcı mantığının tarihe karışması.



Daha Sıkı Donanım Tanımlamaları


ATI ve Nvidia donanımlarını tasarlama konusunda bazı farklılıklara sahipler. Yazılım geliştiricilerinden gelen şikayetlerden birisi de donanım tasarımlarının yeteneklerinin bir birinden çok farklı hale gelmesi ve bunun sonucunda farklı donanımlarda farklı sonuçlar verebilmek için çoklu kodlama yapısının kullanılmak zorunda kalınması. Özellikle de oyunlar eski tip donanım algıladığında bu sisteme uygun çalışabilmek için farklı bir kodlama kanalı kullanmak zorunda kalıyor.

Uçbirim (console) yazılım geliştiricileri donanım yapısı sabit olduğundan böyle bir zorlukla karşılaşmıyorlar fakat PC oyunu geliştiricilerinin bu lüksü yok. Eğer oyunlarına eklemek istedikleri yeni fikirler veya yöntemler olursa oyuncuların bunları fark edip bu geliştirme ayarlarını açmayı akıl etmelerini umut etmek zorunda kalıyorlar. Ancak pek çok oyun meraklısının oyunları çok daha iyi gösterecek özellikleri açmadan oynadıklarını biliyoruz.

İşleri daha da kötü hale getirmek için DirectX 9 standartlarının bir kısmını yoruma fazla açık bırakıyor ve bu standartların bir kısmı daha ATI ve Nvidia donanımlarını destekler hale getirmeden değişmiş olabiliyor. Bu durum geliştiriciler kanadında karmaşaya yol açıyor çünkü rakip donanım firmaları arasında farklı hassaslık standartları olabiliyor. Donanım üreticileri, yazılım geliştiricilerini kendi ürünlerinin güçlü ve yetenekli kısımları konusunda eğitmek zorunda kalıyorlar ve bu çelişen standartlar pazara kaliteli ürünlerin gelmesini yavaşlatıyor.

Direct3D 10 gerekli özellik setleri, kaynak sınırları, aritmetik hassaslık ve çeşitli depolama biçimleri için olan standartları belirliyor. Direct3D 10 donanımlarının içinde bulunan her şey 32-bit (kayar nokta veya tam sayı) olmasına rağmen bazı özel depolama türlerine de izin veriyor. Aşağıdaki listede bazı veri depolama biçimlerini görebilirsiniz.



Listede tam tekli-hassaslık biçimlerini ve unorm veya snorm 16 gibi yarım-hassaslık biçimlerini görüyorsunuz. float 16 High Dynamic Range (HDR) gibi uygulama alanlarına sahip fakat çok fazla depolama alanı ve veriyolu gerektirmesi gibi bazı eskilere sahip. Ayrıca 11-11-10 gibi bazı başka biçimler de geliştirilmiş. Bu biçimde iki float11 ve bir float10 birimleri (11 kırmızı, 11 yeşil ve 10 mavi) toplamda 32 bit uzunluğuna sahip oluyor ve paylaşımlı-örnek biçimiyle (RGBE) birlikte kullanılabiliyor.

Sabit İşlevler Veya Birleşik Mimari?

DirectX 9 altında farklı yorumlamaya açık olan alanlardan birisi de ATI ve Nvidia'nın değişik yaklaşımlar sergileyebilmeleridir. Nvidia mimarilerini tasarlarken sabit işlevsel tasarıma sadık kalırken ATI, sınırlı kaynaklarla daha fazla işlevsellik sağlayabilmek için geleneksel işhattını parçalara bölmeyi tercih etmişti.

X tepe tarayıcılarına (vertex shader), Y noktacık tarayıcılarına (pixel shader) ve Y ızgara birimlerine (ROP) sahip olmanın yanlış bir yönü yok fakat ATI şu anki DirectX 9.0c ekran kartları ile dinamik çekirdek yapısının daha fazla başarım sunabileceğini gösterdi. Pek çok geliştirici ürünlerini daha çok bölünmüş noktacık tarayıcı bağımlısı haline getirmek pahasına da olsa bu yönteme doğru kaydırmaya başladı; ATI de bu durumu iyi değerlendirerek ürünlerine daha fazla noktacık tarayıcı ekleyerek son zamanlarda yükselişe geçmişti. Direct3D 10, donanımların isteğe bağlı olarak sabit işlevlere sahip olan tarayıcı birimlerini tercih etme kapısını açık bırakıyor fakat bunun ne artısı olacak?
Her ne kadar Nvidia G80 işlemcilerinde tam olarak nasıl bir yapı kullandığını açıklamamış olsa da ATI birleşik tarayıcı (unified shader) mantığını kullanacağını belirtmişti. Tarayıcılar duruma bağlı olarak anında farklı görevlerde kullanılabildiğinden birleşik tarayıcı yapısı akla uygun geliyor. Yani bir karede duruma göre tepe tarayıcı veya noktacık tarayıcı gereksinimi belirleniyor ve çekirdek ona göre hangisine daha fazla kaynak ayıracağını kendisi seçiyor.

Ek Geliştirmeler


Geliştiricilerden ve donanım üreticilerinden gelen şikayetler arasında önceki Direct3D sürümlerinin işlemciye çok yüklenmesi de var. Buradaki sorun grafik sisteminin bir alt sistem olmasında yatıyor; işlemci ve ekran kartı bazı durumlarda aynı bileşenleri kullanmak zorunda kalıyorlar (sistem ana belleği gibi). Aynı şekilde ekran kartı koordinasyon ve yönergeler için işlemciyle çalışmak zorunda. Ek olarak karmaşık bir durumda veya dinamik geometri kullanıldığında işlemcinin de bazı etkileri hesaplaması gerekiyor, bu da başarım üzerinde önemli bir etki yaratıyor.

Daha iyi bir doğrulama ve hata yönetimi sistemi, kaynak eşleştirme ve erişim, hatta geliştirilmiş tarayıcı dili gibi yeniliklerin dışında asıl sorun başka bir yerde karşımıza çıkıyor. Blythe'in söylediğine göre API'lerin çalışma şekli geçtiğimiz 10 yıl içinde çok az değişti. Sürücü ve çalışma yönteminde işleme gücünü düşüren şu üç madde tespit edilmiş:
Uygulama gereksinimleri konusunda yanlış haberleşme
Farklı işleme tarzları
API ve donanım arasında oluşan uyumsuzluklar

Birinci ve ikinci maddelerin düzeltilmesi kolay: donanım ve yazılım arasında sıkılaştırılan standartlar birinciyi çözüyor, ikincisi ise yazılım geliştiricilerin elinde olan bir şey.
  Bu Mesajı Yetkililere Rapor Et Bu mesaja hızlı cevap gönder
Cevap Yeni Konu Aç
Hızlı Cevap
Resim Doğrulama
Mesaj:
Seçenekler
En popüler 5 etiket
Bu Konunun Etiketleri
directx 10 ne işe yarar, directx 3d, directx 9,
DirectX Konusuna Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Directx 10 Silent Ücretsiz-Beta Yazılımlar 21 2 Hafta Önce 07:37
Sapphire ATI HD 4870 512MB 256BIT GDDR5 (DirectX 10.1) PCI-E x16 2.0 NeutralizeR Ekran Kartları 0 08-11-2008 11:39