CPU veya yazılım oluşturmanın aksine sanırım?
Genellikle OpenGL veya Direct X kullandığınızı gören mevcut işlemlerin tümü GPU tabanlı olmaz mıydı?
Birisi bana burada bilgi verebilir mi, uygun cevap bulamıyor mu?
CPU veya yazılım oluşturmanın aksine sanırım?
Genellikle OpenGL veya Direct X kullandığınızı gören mevcut işlemlerin tümü GPU tabanlı olmaz mıydı?
Birisi bana burada bilgi verebilir mi, uygun cevap bulamıyor mu?
Yanıtlar:
GPU oluşturmanın ne olduğunu açıkça bildiğiniz gibi ... sormak istediğinize cevap vereyim.
Geleneksel olarak, donanım oluşturma çok karmaşık olma damgasını taşımaktadır. Bu, büyük ölçüde gizliliği karmaşıklaştırmaya yönelik olmayan uygulama programlama arayüzlerinin (API) tasarımından kaynaklanmaktadır; yani öğrenme eğrisi diktir. Ayrıca kısmen, bu API'ların yoğun bir şekilde kullanıldığı 3D uygulamaların yazılmasının 2D uygulamaların yazılmasından çok daha karmaşık olduğu anlayışından dolayı olmuştur. Yeniden arayüz karmaşıklığı, ben OpenGL ve DirectX gibi arayüzlere atıfta bulunuyorum. 3D - 2D'ye karşı, 3D sahneler oluşturmaya başlayan matematik ve geometriye, eğitimsiz zihnin 2D problemlerine yaklaşabileceği sadeliğe atıfta bulunuyorum.
Bununla birlikte, son yıllarda, sadece öğrenme materyalleri çok daha kullanılabilir hale gelmekle kalmadı, aynı zamanda, bu arayüzlerin altında yatan karmaşıklıkları saran birçok kütüphane mevcut hale geldi ve giriş engellerini azalttı. Tüm bunlar, görselleştirmenin, kaygan kullanıcı arayüzlerinin ve düşük güçlü cihazlardaki performansın artan önemi nedeniyle zaten mevcut olan artan ilgi döngüsüne geri döndü.
Bu nedenle, yazılım oluşturma ve 2B oluşturma, grafiklerde yeni olan ve / veya oluşturmanın bir projede kullanılabilir sürenin çok fazla zaman almadığı bir ürün oluşturmak isteyenler için iyi giriş noktaları ve odak alanları olmuştur. En azından 2D ile ilgili olarak, bu hala geçerlidir; teknolojisi, GPU'ya 2D render getirme boşluğunu büyük ölçüde kapladı.
Burada gerçekten iyi cevaplar var, bu yüzden onları tamamlamak için.
Yazılım oluşturma işleminin ardındaki önemli itici güç yetenektir. Cevaplardan birinde bu konuya değinildi, ancak karşıt bir noktaya değineceğim: yazılım oluşturma aslında donanım oluşturmadan daha yetenekli olabilir , daha az değil.
Donanımla genellikle donanımın kendisinin yetenekleriyle sınırlı olursunuz, ancak bir tanesi için OpenGL, donanımda bulunamayan birçok şeyin yazılım öykünmesini yapabilir. Bunun anlamı, Özellik X'i kullanmaya çalışırsanız ancak donanım bunu desteklemezse, iki şeyden biri gerçekleşir: ya yazılım öykünmesine (tipik OpenGL senaryosu) geri dönersiniz ya da hiç kullanmayın (tipik D3D senaryosu).
Yazılım oluşturma ile kodu kendiniz yazabilirsiniz. Bir şeyleri manipüle edebilir ve piksel seviyesine kadar olan şey üzerinde tam kontrole sahip olursunuz. Geçmişten bir patlama örneği vermek için, Quake'in 1996 yılında yazılımda piksel gölgelendiricileri kullanmıştı, 3D kartlar (o zaman "GPU" olarak adlandırılmamışlardı) birkaç düzine dokulu üçgeni zar zor rasterleştirebildiler.
Bu, mevcut GPU'lar için de geçerlidir, ancak grafik boru hattının sabit işlevsellik olarak maruz kalan (veya hiç maruz kalmayan) önemli parçaları vardır.
Yazılım oluşturma daha iyi ölçeklenebilir. Çok GPU kurulumlarının gerçekten uygulanabilir hale geldiğini görüyoruz, ancak yazılım birçok sunucudaki birçok CPU çekirdeği arasında ölçeklenebilir. Tüm sunucu çiftliklerinin buna adanmış olmasını sağlayabilirsiniz ve profesyonel oluşturma çiftlikleri yine de yazılım oluşturmayı kullanacaktır.
Yazılım farklı oluşturma paradigmalarını ortaya çıkarabilir. Mevcut donanım üçgen / tepe / parça / rasterleştirme paradigması etrafında yoğunlaşmıştır; bir şeyi seçip merhamet için çığlık atana kadar optimize etme durumudur. GPU'lar hala yazılımda daha yaygın olarak uygulanan ışın izleme için kötü bir seçimdir.
Tabii ki doğrudan elmalar-elmalar karşılaştırması söz konusu olduğunda, GPU'ların daha güçlü olduğu alanları karşılaştırmamız şartıyla, bir GPU haftanın her günü yazılımı yenecektir. Ama bu her alanda daha güçlü oldukları anlamına gelmiyor. Buna rağmen ve bu SE sitesinin amaçları için, donanım kullanmak genellikle bir yoldur, ancak yazılımın da uygulanabilir olduğu kullanım durumlarının olduğunu unutmayın.
Donanım veya GPU oluşturma , bir görüntüyü oluşturmak için grafik işleme birimini (Video Kartı olarak da bilinir) tahmin ettiğiniz gibi. Bunun tersi, CPU'nun kullanıldığı yazılım oluşturmadır .
Yazılım oluşturma (kullanılabilir) GPU olmadığında genellikle bir yedek olarak kullanılır. Bununla birlikte, GPU büyüklük sıraları olduğundan, CPU genellikle görüntüleri gerçek zamanlı olarak işleyemeyeceğinden, yazılım oluşturma işlemleri neredeyse hiç yararlı olmaz. Görüntüyü oluşturmak için çok karmaşık formüllerin gerekli olması durumunda yüksek hassasiyet gerektiğinde yazılım oluşturma yararlıdır. CPU'lar GPU'lardan daha genel bir amaç olduğundan ve daha fazla kapasiteye sahiptir. Ancak bugünlerde GPU'lar gittikçe daha karmaşık görevleri yerine getirebildiklerinden ve sayıları temsil etmek için sadece 32 bit kayan noktalarla sınırlı olmadığından bu argüman gittikçe daha az geçerli hale geliyor.
Bence bu gerçekten iyi bir soru.
Ne hayal edebiliyorum:
VRAM, genel RAM belleğinden daha sınırlıdır. GPU oluşturma durumunda - her doku daha çok sorun teşkil eder. RAM'de VRAM'den ortalama 4 ila 8 kat daha fazla veri depolayabilirsiniz. Elbette bu senaryo, kullanılmayan / gerekli dokuların RAM / VRAM'den serbest bırakılmasından / itilmesinden sorumlu bir sistem olmadığını varsayar.
Çok iş parçacığı oluşturma açısından, yazılım oluşturma ile çalışırken çok daha kolay - bağlamları paylaşmaya gerek yok
2D grafikler yapıyorsanız - genellikle çoğu çerçeve Kirli Dikdörtgenler Değerlendirmesinin uygulanmasına devam eder - birçok performans sorununu çözen şey.
Yine de, OGL / D3D kullanarak renderleme çok daha fazla performans ve olasılık sağlar. Gölgelendiriciler, yazılım oluşturma ile neredeyse imkansız olan gerçekten şaşırtıcı şeyler yapabilirler.
Ancak, blitting, colorkeys kullanmak gibi teknikler, temel düzeyde, bilgisayar grafikleri dünyasının kökeni gibi hissediyorlar.
Yazılım oluşturma hakkında bilmek en azından iyi olduğunu düşünüyorum. Gerçekten çok heyecan verici bir dünya, bugün gördüğümüz her şeyin kökü olduğundan bahsetmiyoruz.