DirectX 12, grafikler ("Doğrudan" olarak adlandırılır), hesaplama veya kopyalama görevleri için komut sıralarını gösterir. Sağlanan işlevsellik açısından, her biri aşağıdakilerin süper setidir. Spesifikasyon komut sıraları cihaz tarafından eşzamanlı olarak gerçekleştirilebilir belirtir. Ancak, API herhangi bir şekilde komut kuyruklarının sayısını sınırlamaz (en azından herhangi bir sınırlamanın farkında değilim).
Görünüşe göre, farklı satıcılar bunu çok farklı ele alıyor:
- Intel, yakın zamanda yapılan bir sunumda (slayt 23) şu anda GPU'larının Grafik ve Hesaplamayı paralel olarak işleyemediğini ve kopyalama motorunun zayıf bir verimi olduğunu belirtmektedir. Birden çok grafik / hesaplama kuyruğunun kullanılmasını öneriyorlar.
- AMD uzun zaman önce Mantle ve mevcut gen konsollarından başlayarak kuyrukların / "asenkron gölgelendiricilerin" reklamını yapmaya başladı . Ayrıca, hesaplama ve grafik görevlerini paralel olarak yürüterek önemli performans kazanımlarını doğrulayan bazı geliştiriciler ( örnek ) de vardır.
- Son zamanlarda Nvidia'nın donanımda eşzamansız gölgelendiriciyi desteklememesi hakkında bazı karışıklıklar var: Bir kerede ayrı Grafikler ve Hesaplama kuyruğu kullanmak, işleri daha yavaş yapıyor gibi görünüyor, bu da sürücü öykünmesini gösteriyor. Öte yandan, paralel kopyalama işlemleri CUDA tarafından çok uzun zamandır desteklenmektedir ve bu da DMA motorunun bağımsız olarak çalışabileceğini açıkça ortaya koymaktadır.
Komut Listelerini tek bir komut yerine birden çok CommandQueue'ya almanın anlamlı olup olmadığına karar vermek için çalışma zamanında karar vermenin bir yolu var mı? (eski davada fazladan mühendislik yükü olmadığı göz önüne alındığında)
Hesaplama / grafik işlemlerine paralel bellek işlemleri yapmanın ne kadar yararlı olduğunu kolayca görebilsem de, birden fazla hesaplama ve grafik işlemini paralel olarak çalıştırmanın gereksiz bir şekilde karmaşık olması beni şaşırtıyor. Bunun nasıl bir şekilde daha iyi performansa yol açabileceği de bana açık değil; birçok küçük ardışık görevin yeterli GPU yükü üretemediği patolojik durumlar hariç.