Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, DirectX çalışma zamanı hakkında sık sorulan sorulardan bazılarını ele almak ve DirectX'i yüklemek için DirectSetup'ı kullanmak için tasarlanmıştır.
- DirectX Çalışma Zamanı
- DirectX Sürüm Numarası
- DirectX Kitaplıkları
- Oyunun Yükleyicisi tarafından DirectX Yüklemesi
- Küçük Yükleme Paketleri
- DirectX Çalışma Zamanı Hata Ayıklama İç Dağıtımını
Önemli
Eski DirectX SDK'sı kullanım ömrünün sonundadır, ancak eski oyunları, öğreticileri ve projeleri desteklemek için hala kullanılabilir. Yeni projeler bunu kullanmamalıdır. Eski DirectX SDK'sını kullanmak için D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3 ve XACT gibi bileşenler için kullanım dışı directsetup kullanılması gerekir. DirectX SDK'sının geçerli durumu hakkında daha fazla bilgi için bkz. DirectX SDK'sı nerede?ve blog gönderisi Doğrudan Kurulum.
DirectX Çalışma Zamanı
DirectX çalışma zamanı temel bileşenlerden ve isteğe bağlı bileşenlerden oluşur.
Direct3D ve DirectInput gibi temel bileşenler işletim sisteminin bir parçası olarak kabul edilir. DirectX SDK Yaz 2004 Güncelleştirmesi'nden bu yana DirectX 9.0c'nin temel bileşenleri değişmemiştir ve Microsoft Windows XP SP2, Windows XP Pro x64 Edition ve Windows Server 2003 SP1 ile yayımlanan bileşenlerle eşleşir. Windows Vista, Windows Görüntü Sürücüsü Modeli 'ni (WDDM) ve Direct3D 10.x'i destekleyen DirectX 10'u içerir. Windows 7 ve Windows Vista, Direct3D 11, Direct2D, DirectWrite, WARP10 yazılım işleme cihazı ve 10level9 özellik düzeylerini destekleyen DirectX 11'i destekler. Daha fazla ayrıntı için bkz. Windows Grafik API'leri.
İsteğe bağlı bileşenler DirectX SDK güncelleştirmelerinde yayınlanmıştır ve D3DX, XACT, XAudio2, XINPUT, Managed DirectX ve diğer bileşenleri içerir. İsteğe bağlı bileşenlerin çoğu, müşteri geri bildirimlerini tümleştirmek ve yeni özellikleri kullanıma açmak için düzenli olarak güncelleştirilir.
DirectX Sürüm Numarası
9.0c gibi DirectX sürüm numarası yalnızca Direct3D, DirectInput veya DirectSound gibi temel bileşenlerin sürümünü ifade eder. Bu sayı D3DX, XACT, XINPUT gibi DirectX SDK'sında yayımlanan çeşitli isteğe bağlı bileşenlerin sürümlerini kapsamaz.
Genel olarak belirtmek gerekirse DirectX sürüm numarası, çekirdek çalışma zamanı bitlerine hızlı başvuru dışında anlamlı değildir. Bu sayı, isteğe bağlı DirectX bileşenlerini dikkate almadığından doğru DirectX çalışma zamanının zaten yüklü olup olmadığını denetlemek için kullanılmamalıdır.
DirectX Kitaplıkları
Geçmişte D3DX de dahil olmak üzere DirectX SDK'sının isteğe bağlı bileşenleri statik kitaplıklar olarak yayımlanmıştı. Ancak bunlar artık daha iyi güvenlik uygulamalarına yönelik talebin artması nedeniyle dinamik benzeri kitaplıklar (DLL) olarak kullanıma sunuldu. DLL'ler daha önce yayımlanan kodun bakımına izin verir. Bu bileşenler statik kitaplıklar olarak dağıtıldıysa, Microsoft'un yayından sonra bulunan güvenlik sorunlarını çözmesi için bir yol yoktur.
özellikler isteğe bağlı bileşenlere eklendikçe veya değiştirildiğinde, karşılık gelen DLL'lerin adları da yayımlanan bileşenleri kullanan mevcut oyunlarda regresyona neden olmadığından emin olmak için değiştirilir. Her bileşenin DLL'leri yan yana canlı olarak bulunur ve oyun geliştiricileri ilgili içeri aktarma kitaplığına bağlanarak oyunun tam olarak hangi DLL sürümünü kullanacağını seçebilir.
Dll'lerin bir sistemde yüklü olduğundan emin olmak yalnızca statik kitaplıklara bağlanmak kadar kolay olmasa da, DLL modelinin acısını gidermek için DirectX SDK'da bazı değişiklikler yapılmıştır:
- DirectX yeniden dağıtılabilir, yalnızca uygulamanızın dağıtım ve medya boyutlarını en aza indirmek için gereken bileşenleri içerecek şekilde yapılandırılabilir.
- Her olası isteğe bağlı bileşen için yeniden dağıtılabilir klasör olan Program Files\DirectX SDK\Redist\, now contains a cabinet (.cab) dosyasıdır, böylece bunları bulmak için eski bir SDK'yı araştırmanız gerekmez.
- SDK'nın yüklenmesi, olası tüm isteğe bağlı bileşenleri yükler.
- tüm isteğe bağlı bileşenleri içeren bir DirectX yeniden dağıtılabilir hem Web tabanlı yükleyici hem de indirilebilir paket olarak kullanılabilir; Daha fazla bilgi için bkz. DirectX Geliştirici Merkezi (DirectX).
Oyunun Yükleyicisi tarafından DirectX yüklemesi
Bir oyunun yükleyicisine DirectX yüklemesini eklemek için en iyi yöntemler aşağıdadır:
| Terim | Açıklama |
|---|---|
|
Yeniden dağıtılabilir bileşenleri her seferinde yükleyin. |
Bir oyunun yükleme işlemi, kullanıcıların geri çevirmesine izin vermeden her yükleme sırasında DirectX yeniden dağıtılabilir bileşenlerini yüklemelidir. Geri çevirmeye izin verirseniz, bazı kullanıcılar buna ihtiyaç duymadıklarını tahmin eder ve gerçekten yaparlarsa, oyun çalışmaz. |
|
DirectX yükleyicisinin isteğe bağlı bileşenleri denetlemesine izin verin. |
Windows Update ve Hizmet Paketleri DirectX'in isteğe bağlı bileşenlerin hiçbirini sağlamadığından, en son isteğe bağlı bileşenlerin sistemde zaten yüklü olduğunu varsaymayın. DirectX çalışma zamanını doğrudan dxsetup.exe çalıştırarak veya DirectSetup'ı çağırarak yüklemeniz gerekir. |
|
Sessizce ayarlayın. |
Kullanıcıların DirectX çalışma zamanını yanlışlıkla güncelleştirmeyi atlamaması için kurulumu sessiz modda başlatın. Bunu yapmak için aşağıdaki komutla dxsetup.exe başlatabilirsiniz: veya DirectSetup'ı çağırarak ve hiçbir kullanıcı arabirimi göstermeyerek. |
|
EULA kabullerini birleştirin. |
Kullanıcıdan eula kabul etme isteğinde bulunursanız, bunu sessiz modda yüklerken DirectX EULA'nın kabul edilmesini istemeyle birleştirerek EULA'ların kabul edilmesinin yalnızca bir kez gerçekleşmesini sağlayın. Kullanıcı kabul etmezse başarısız ve kısmi yüklemeyle sonuçlanmaması için herhangi bir şey yüklemeden önce istem gerçekleştirilmelidir. |
|
dxsetup komutunu çalıştırmanız veya DirectSetup'ı çağırmanız gerekir. |
DirectX sürüm numarası çekirdek DirectX bileşenleri dışında hiçbir şeye başvurmadığından, dxsetup.exe çalıştırmadan veya DirectSetup'ı çağırmadan önce yüklü bir sürümü denetlemeyin. Ayrıca, isteğe bağlı bir bileşenin zaten yüklü olup olmadığını test etmek için dosyanın varlığını denetlemeyin, çünkü bu genellikle bir bileşenin ne zaman var olduğunu doğru olarak belirlemez ancak güncelleştirilmesi gerekir. Ancak DirectX kurulum paketi bunu hızla belirler ve doğru eylemi gerçekleştirir. |
Küçük Yükleme Paketleri
DirectX yeniden dağıtılabilir klasörünün içeriğini yükleyicinin çalışması için gereken en düşük dosya kümesine kadar kaldırarak ve oyununuzun kullandığı ek bileşenleri koruyarak DirectX için daha küçük yükleme paketleri oluşturabilirsiniz.
En düşük belirtimlerinize bağlı olarak, çekirdek DirectX 9.0c dolap dosyalarını yükleme medyanızın yeniden dağıtılabilir klasörüne eklemeniz bile gerekmeyebilir. Windows XP yüklemelerinin büyük çoğunluğu çekirdek DirectX 9.0c bileşenlerini içeren Service Pack 2'ye sahiptir, bu nedenle DirectX kurulum işlemi çok hızlı olur ve yeniden başlatma gerektirmez. Oluşturulabilecek en küçük paket yaklaşık 3 MB'tır ve bu boyutun yarısına kadar sıkıştırılabilir. Bunun gibi bir paket D3DX DLL'nin bir sürümünü içerir ve DirectX 9.0c'nin zaten mevcut olmasını gerektirir.
Yeniden dağıtılabilir paket oluşturmak için gereken en düşük dosya kümesi, DirectX SDK Redist klasöründe (Program Files\DirectX SDK\Redist) bulunan aşağıdaki dosyalardır:
- dxsetup.exe
- dsetup32.dll
- dsetup.dll
- dxupdate.cab
Yüklemek istediğiniz bileşenler için bunlara dolap dosyalarını ekleyin. Uygulamanızın kullanıcılarının zaten DirectX 9.0c'ye sahip olmasını istiyorsanız, alan gereksiniminin çoğunu oluşturan DirectX.cab veya dxnt.cabeklemeniz gerekmez. DirectX.cab yalnızca Windows 98 ve Windows ME için gereklidir; dxnt.cab yalnızca Windows 2000, Windows XP ve Windows XP SP1 için gereklidir; ve dxdllreg_x86.cab yalnızca Windows 2000, Windows XP RTM, Windows XP SP1 ve Windows Server 2003 RTM için gereklidir. Ayrıca, DirectShow'u kullanmazsanız veya zaten yüklü olduğunu varsayarsanız, BDA.cab, BDANT.cabve BDAXP.cabatlayabilirsiniz.
Not
Uygulamanızın önceki bir sürümü tarafından yüklendiyse, uygulamanızın kullanıcılarının zaten DirectX 9.0c'ye sahip olduğunu varsayabilir, kullanıcıları Web Yükleyicisi aracılığıyla el ile güncelleştirmeye zorlayabilir veya Windows XP SP2 veya sonraki bir sürümüne sahip olduklarını varsayabilirsiniz.
Bu örnekten devam edersek, Nisan 2006 için D3DX'in yalnızca 32 bit sürümünü kullanıyorsanız, Apr2006_d3dx9_30_x86.cabekleyebilirsiniz. XINPUT'un 32 bit Ağustos 2006 32 bit sürümünü kullanıyorsanız, Aug2006_xinput_x86.cabeklersiniz.
Yerel bir 64 bit uygulamanız varsa, _x64 sürümlerini eklemeniz gerekir. Ancak, 64 bit işletim sisteminde çalışan 32 bit bir uygulamanız varsa, DLL'lerin 32 bit sürümleri çalışır.
Ardından bu dosya paketini dağıtabilir ve DirectSetup'ı sessiz modda başlatabilir veya komut kabuğunda dxsetup.exe sessiz modda çalıştırabilirsiniz. Dosyaları sürüm denetimi yaparak bu paketi korumamayı unutmayın ve kullanıcılarınızın DirectX kurulumunu çalıştırmayı geri çeviremeyeceğinden emin olun. Bu olaylardan biri, bir fallible yükleme işlemi oluşturur.
Hata Ayıklama DirectX Çalışma Zamanı İç Dağıtımı
DirectX SDK'sı yüklendiğinde DirectX bileşenlerinin hata ayıklama çalışma zamanları yüklenir, ancak SDK'nın her test bilgisayarına yüklenmesi zor olabilir. Program Files\Microsoft DirectX SDK\Developer Runtime\architecture\ hata ayıklama çalışma zamanı DLL'lerini Windows\system32\ veya oyunun klasörüne kopyalamak için kurulum işleminizi tasarlamanız gerekir.
Ancak, son ürün için kaldırmayı unutmak kolay olduğundan, yalnızca yayımlanan çalışma zamanı DLL'lerini kopyalamamanızı kesinlikle öneririz. Bunun yerine, DirectX kurulum dosyalarını paylaşılan bir klasöre yerleştirin ve kurulumu paylaşılan klasörden sessizce çalıştırın.
Masaüstü Köprüsü uygulamaları
D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3 veya XACT kullanan Masaüstü Köprüsü uygulamalarının bu eski DirectX SDK'sını yan yana dağıtmak için microsoft.DirectX.x86 veya Microsoft.DirectX.x64 çerçevesini indirmesi gerekir. Alternatif olarak, bu tür tüm bağımlılıkları kaldırabilirsiniz— (XAudio 2.9 'in yeniden dağıtılabilir sürümü içinGeliştirici kılavuzuna ve D3DX olmadan yaşam ve XINPUT ve Windows 8) blog gönderilerine bakın).