Xbox veya PS4 GPU'da ayrılmış diye ifade edilen CU'ların diğerlerinden bilinen tam bi farkı yok. Bunlar fizik için kullanılacak limitliler diye bişey de yok. İşi direk olarak Physx'e bağlamak çok çok dar bi bakış açısı olur. Physx PS3'de de var ona bakılırsa, ama çoğu kişinin bildiği gibi değil, SDK var ama bütün oyunlarda kullalılıyor diye bi durum yok. Cell sayesinde iş görebiliyor zaten.
Yeni konsollarda GPU'nun bu varsayılan compute amaçlı kısımları Physx'e tahsis edilmiş değil. Her türlü Compute bazlı işlem için kullanılabilecek, diğer CU'lar gibi. Aynı zmanda grafik işlemek için de kullanılabilecek. Aynı zmanda masaüstü GPU'lardan farklı olarak bütün GPU çok daha hızlı GFX / Compute geçişi yapabilir konumda, hem xbox hem ps4 için. Oturup uğraşmışlarsa yada uğraşırlarsa Sony SDK ve lisanslalarına dahil olmak kaydıyla Physx kodu GPU'da da çalıştırılabilecek şekilde genişletilebilir. CPU üstünde implemente etmek nispeten daha kolay, x86 için zaten çalışabilir konumu var şu an. Physx'i çalışacağı altyapıya göre optimize etmek geliştricinin sorumluluğunda. Burda Physx'in yapacağı işten bahsetmiyorum, algoritmadan faln bahsetmiyorum yani. Çalışacağı platforma göre Physx mesela single-thread olarak mı multi-thread mi çalışacak, x87 mi kullanacak SSE2 mi kullanacak yoksa SSE4/4.2/AVX mi kullanacak vs. bunlar geliştriciye bağlı. Ama şimdilik Physx'i PSSL üstünden GPU'da nasıl çalıştırırlar, fikri olan çok fazla insan olduğuna inanmıyorum. Yapılırsa da bu tarz işlerin PC'ye uyarlanması durumunda pek iç açıcı olmayacaklarına inanıyorum. Sade konsol GPU'suna uydurulmuş Physx için değil, konsolda geliştirilecek olan her türlü compute bazlı sistemin PC'ye uyarlanması çok can sıkıcı olacak gibi.
Çünkü konsolun verimli yapısı + masaüstü GPU'lardan daha üstün compute yapısı, mesela konsolda 20ms de tamamlanan bi GFX + Compute işinin PC için belki 40ms lere fırlamasına yol açabilir. PC için context switch şu an zaman kaybettirici bişey. İster driver ister compiler istediği kadar gerçek zmanlı optimizasyon yapabilsn, gfx/compute arası geçişler yüzünden yüksek context switch süresine sahip. Grafik açısından istediğiniz kadar güçlü olsun, işin sadece o kısmını hızlandırabiliyorz çünkü. Compute için de aynı hızlı altyapıyı kullanabilsek bile her seferinde geçiş yapmamız gerek, bu da extra kayıp demek.
Bi de alakasız olarak konsol gpu'larının esnekliğini sadece fizik olarak görmeye çalışırsak, bana göre bu , monitörü sadece resim çerçevesi olarak nitelemek, bilgisayarı da resimlerin saklandığı yer olarak basitleştirmek gibi olur.
PS4 baş mimarın dediği, bu bahsedip durduğum compute bazlı işlerin 2015 lerde yaygınlaşacağı. Bu kötü çünkü bi sürü yapılabilecek güzel şeyi görmemize daha zman var demek. İyi yanı O zmana kadar GPU'lar güçlenir, bu bahsettiğim compute bazlı işler için arayı kapatır. Böylece de PC'ye port edilen, konsolda compute Bu da bana göre mantıklı ama iyimser bakış açısı.
Mantıklı ve iyimser olan kısmı şu : Compute shader yazmak, bütün bi motoru veya başka şeyleri yeniden yazmaktan daha kolay. Konsol GPU'larındaki özel firmware, bi nevi vertex culling yapıp geometri yükünü azaltıp, sonrasında tessellate edebilirken şu anki PC GPU'larında bunlar yok. İlerde olabilir veya olacaktır da. Konsolda GPU mesela 1milyon üçgeni 100 bin'e indirip sonra işlemeye başlayıp, daha sonrada 100 bin üçgeni 10 milyon üçgene tesellate ediyorsa, bunu olduğu gibi PC'ye taşımak pek mümkün değil. Mesela olduğu gibi taşınır, ama PC'de yüksek tesellation kullanılır, yada native olarak yüksek detaylı modeller olur. Yada PC için bi compute shader yazılır, konsol GPU'sunun donanımda yaptığı işi, bi miktar perf. düşürerek yapılır. Amaç perf'ın çok daha aşağılara inmesini engellmek. Geometri detayını 1 milyon üsütnden her sahne için 20ms yerine, 100 bine indirirmek için zaman harcayıp 15ms de işlemek gibi mesela. Burda yine başka bi engeller var :
Konsol için bu dediğim Vertex Culling zaten GPU'da firmware olarak var, compiler'da bi seçenek ekleniyor, o da 1 flag kullanıyor ve realtime olarak yapılıyor bu. Yani extra kod gerektirmiyor.
Konsolda PSSL denen arabirim var. Ps3 deki gibi düşük seviyeli, PC'deki DX/ HLSL gibi değil. PC'de HLSL de compute işlerini tam yapamıyorsunuz zaten(HLSL hi level shader language, bu dx d3d komutlarının kullanıldığı arabirim işte). Bu yüzden oyunlar Direct Compute kullanmaya başladı, bf3 de render motoru kullanıyor mesela onun gibi. Konsolda geliştriciler donanım sabit olduğu için, Nvidia AMD ayrımı yapmak zorunda değiller. AMD için GCN / Vliw ayrımı yapmak zorunda değiller. Sıkıştıkları anda, veya daha ince iş istediklerinde, veya işlerine yarayacaklarını inandıkları zman native donanım komutlarını kullanabilirler, GCN donanım komutlarını. Her tür geliştirme ortamında olduğu gibi, yer yer bütün arabimleri bypass edip, direk donanım komutlarını kullanmanın faydasının olacağı yerler kesinlikle olur (donanım komutu dediğim şeyi assembly komutları olarak görmeniz lazım. x86 da nasıl mov ax,bx pop ret vs. gibi komutlar var ve bunların donanım üstünde yapılan işleri gösteriyor. AMD'de bu tarz ISA / mimariye özel komutları direk olarak kullanabilrken Nvidia için bu mümkün değil mesela. Yazdığınız şeyler alt seviyede PTX denen assembly benzeri bişeye dönüşüyor ama bu tam donanım komutunun karşılığı değil). Konsolda sade GCN'ye özel iş yapılacağı için, başka dert edilmesi gereken donanım olmadığı için GCN donanım komutlarını mesela küçük fazla uzun olmayan ama verimi arttıran yerlerde kullanabilirler. Nasıl PC'de bi C programı içinde asm kullanıyoruz onun gibi.
Bi adım geri dönersem, konsolda yazılacak bi compute shaderın tamamında yada belli kısımlarında direk donanım komutları kullanılabilir. Böyle bi oyunu PC'ye nasıl port edeceksiniz aktarıcaksınız? PC'de compute bazlı ortak şeyler pek yok ne yazıkki. Eldekiler OpenCL, DirectCompute, belki OpenGL'i de katarsak dolaylı olaral GLSL. Oyunlar %90 Win ortamında Dx'e aktarılacak. OpenCL'i oyun içinden bu şekilde kullanamazsınız. Geriye sadece Direct Compute kalıyor. Zaten ortak olduğu için, Dx'in bi nevi parçası olduğu için, Oyun içinde GFX ile beraber kullanılabildiği için yeni oyunlarda kullanılıyor. Şimdi adamlar ne yapacak? Konsolda donanım komutları ile (GCN ISA için) yazdıkları compute shader'ı PC'ye Direct Compute'a çevirmek zorunda kalacaklar. Konsolda compute shaderın çalıştırma hızı donanım komutları içerdiği yani çok çok düşük seviyeli olduğu için yüksek. Ayrıca GPU'nun context switch gecikmesi düşük olduğu için ilave olarak da artan bi hız var. Yani elde a. donanım komutu, b. komutun düşük gecikmeyle işlenmesi imkanları var. Bunu Direct compute'e verimli olarak nasıl aktarabilecez? Büyük soru bu, ben işin bu kısmını pek hayırlı görmüyorum.
Özeti şu, konsolda GPU compute olayı artmaya başlayınca PC'deki GPU'ların buna yetişecek kadar daha da güçlenmiş olması lazım. Yoksa halimiz nanay. Ya kalite farkı olur, yada insanların optimize olmadığını sandığı düşük performanslı port oyunlar olur. Geliştricileri GPU compute ile yapılabileceklerin az çok farklındalar zaten(envai çeşit post-processingden tutun, render altyapısının tamamının yeniden programlanabilir olmasının getirdiği sınırsız gibi gözüken olasılığa kadar). PC'ye göre daha esnek programlanabilirliği olduğunu bilenlerinde ağzının suyu akıp durdu bu yüzden.
Ama bunlarla tasarlanmış oyunları PC'ye aktarırken dediğim gibi zurnanın zırt dediği yer orası. Biçok insanın yanlış inança AMD coşacak edecek demesi çok hatalı bi bakış açısı. Konsolda CPU'da çalışacak her kodu SSE4.2 veya AVX'e göre optimize edersin, PC'ye aktarırken öyle bırakamazsın ama. O zman sadece FX , Sand Bridgle ve üstünde çalışır. O zman mecburen SSE2'ye kadar destek vermen gerek. Sevgili melik arkadaşımız, "Bulldozer için FMA" yazarlar nolcak eşşek değiller dedi ya, işin öyle olmadığını biliyoruz. Hiçbi oyun AMD'ye özel FMA desteği ile gelmedi. Çünkü geliştrici oturup dünya kadar zman harcayıp bi sürü şeyi yeniden optimize etmeye çalışmaz. Konsoldaki CPU'ya göre olan optimizasyonların hepsini PC'ye aynı şekilde gelmeyeceğni bilmek lazım, bu yüzden AMD CPU'lar masaüstünde coşacak demek çok çok hatalı olur.
8 çekirdek var süper multi thread desteği olacak AMD coşacak yine yanlış. Konsolda, PS3'de mesela, SPE'ler hem GPU'nun işini yüklenirken, hemde paralel olarak GPU'ya veri + komut yollayabiliyor. Çünkü konsolun render altyapısı buna müsait. 40 bin kere yazdığım gibi Directx / d3d'de işler bu şekilde yürümüyor. Dx altyapısı zaten konsola göre geride. Şimdiki CPU'nun yapabilecekleri ile de Ps3'den çok daha verimli ve hızlı GPU'ya ulaşma komut / veri yollama imkanı var. Salt işlemgücü kapasitesi olarak Cell'den falan geri, bellek erişim belli işleri yapma kapasitesi çok daha yüksek. Konsolda her bi çekirdek GPU ile paralel erişim kurabilecekken, her biri ayrı ayrı drwacall yapabilecekken PC'de bu işler nanay. PC'de elimizde bi tek Dx11 ile gelen Dx11 multi-threading var. Bu CPU çekirdeklerinin GPU'ya paralel komut yollamasını sağlıyor ama işler güllük gülistanlık değil. Masaüstünde AMD DX11 MT'yi tam desteklemiyor. Deneyini de yaptık zaten performansa bi katkısı olmadı. Yada bazılarında direk oyun çöküyor.
Denemeyen bilmeyen varsa mesela Farcry3'de denesin. gamerprofile.xml'de D3D11MultithreadedRendering= 1 yapsın. Kimisinde 10 fps artış oluyor, kimisinde hiç farktmiyor, kimisinde oyun çöküyor dediğim gibi. Yani bu işin tam bi standartı yok.
PC'de Dx sistemi boğduğundan, Konsoldan PC'ye gelecek oyunlar süper manyak olacak demek doğru değil kısacası. Ps3 de SPE'ler vardı, PS4'de Xbox'da onların yerini Jaguar çekirdekleri aldı. Eski konsollardan PC'ye aktarılan oyunlar nanaydı, şimdi çok çok daha iyi olması için nedenler çok yok, zannedilenden daha az var. Oyun kodu daha derli toplu düzgün olur, bazı açılardan aktarması daha kolay olur, ama konsol 8 çekirdek, fx de 6-8 çekirdek. Tam yararlanır uçar demek hayal aleminde gezmek demek. Dx işlemciyi boğdukça, yeni oyunlar da daha talepkar oldukça, getirisi kadar götürüsünü de unutmamak lazım. İnsanlar yanlış hayallere kapılıyor.
Xbox'ın DDR3'ünün 68 GB/s kapasitesi var. 32 MB ESRAM var sistemde bi de. Bunun cache mi olduğu, yoksa framebuffer + bi tür aptal-tampon mu olduğunu bilmiyoruz. Eğer cache olarak tasarlanmışsa, bunun kapasitesi 200 GB/s üstüne çıkartılabilir SRAM yapısından dolayı. %80 hit-rate ile çalışsa yine 160 GB/s eder, az buz değil yani. Sonuçta direk berbat olması için kesin bi neden yok elimizde.
Eğer çip 40nm üretilmiş ise gerçekten, bu TSMC dışında da üretilmesi amaçlanıyor gibi anlamlar taşır. Ama GCN GPU'sunu 40nm ve farklı tesislere göre yeniden tasarlamak benim açımdan daha zahmetli gözüküyor. Bütün çipi Glofo'da , ABD'de üretmek için bu yoldan gitmş olmaları lazım.
Bu forumda zannedersem bahsedilmedi, 3 farklı işletim sistemi olacak. Bi tanesi core, en altta bütün donanımı çalıştıracak. Diğer ikisi hypervisor modunda ve bunlardan biri Windows-kerneli içerecek. Microsoftun konsol üstünden oyun dışında bi sürü kendi ürününü satmak gibi amacı da var çünkü.
Bütün bunlarla alakasız olarak, Amerikan emperyalizmi, reklamı PR'ı cafcafı diye yazılan, yok Tivo imiş, yok medya center imiş bilmemneymiş diye bizim buralarda küçümsenilen şeylere ABD'de millet bayılıyo. O yüzden interaktif sevisler , medya eğlence açısından baya iş yapmışlar aslında. Hepsinden malı götürecekler orası ayrı.
Mike Skolones: "We are excited to extend our PhysX and APEX technologies to Microsoft's Xbox One console . We look forward to the Xbox developer community taking advantage of PhysX and APEX along with Xbox One's processing power, programmability and next-generation features to design cutting-edge games that deliver an unparalleled and ultra-realistic experience."
NVIDIA PhysX and APEX technologies are designed to run on a variety of CPU architectures and can be accelerated by any CUDA® architecture-enabled NVIDIA GPU, GeForce 8-series or higher.
quote:
Orijinalden alıntı: Rubisco
Xbox veya PS4 GPU'da ayrılmış diye ifade edilen CU'ların diğerlerinden bilinen tam bi farkı yok. Bunlar fizik için kullanılacak limitliler diye bişey de yok. İşi direk olarak Physx'e bağlamak çok çok dar bi bakış açısı olur. Physx PS3'de de var ona bakılırsa, ama çoğu kişinin bildiği gibi değil, SDK var ama bütün oyunlarda kullalılıyor diye bi durum yok. Cell sayesinde iş görebiliyor zaten.
Yeni konsollarda GPU'nun bu varsayılan compute amaçlı kısımları Physx'e tahsis edilmiş değil. Her türlü Compute bazlı işlem için kullanılabilecek, diğer CU'lar gibi. Aynı zmanda grafik işlemek için de kullanılabilecek. Aynı zmanda masaüstü GPU'lardan farklı olarak bütün GPU çok daha hızlı GFX / Compute geçişi yapabilir konumda, hem xbox hem ps4 için. Oturup uğraşmışlarsa yada uğraşırlarsa Sony SDK ve lisanslalarına dahil olmak kaydıyla Physx kodu GPU'da da çalıştırılabilecek şekilde genişletilebilir. CPU üstünde implemente etmek nispeten daha kolay, x86 için zaten çalışabilir konumu var şu an. Physx'i çalışacağı altyapıya göre optimize etmek geliştricinin sorumluluğunda. Burda Physx'in yapacağı işten bahsetmiyorum, algoritmadan faln bahsetmiyorum yani. Çalışacağı platforma göre Physx mesela single-thread olarak mı multi-thread mi çalışacak, x87 mi kullanacak SSE2 mi kullanacak yoksa SSE4/4.2/AVX mi kullanacak vs. bunlar geliştriciye bağlı. Ama şimdilik Physx'i PSSL üstünden GPU'da nasıl çalıştırırlar, fikri olan çok fazla insan olduğuna inanmıyorum. Yapılırsa da bu tarz işlerin PC'ye uyarlanması durumunda pek iç açıcı olmayacaklarına inanıyorum. Sade konsol GPU'suna uydurulmuş Physx için değil, konsolda geliştirilecek olan her türlü compute bazlı sistemin PC'ye uyarlanması çok can sıkıcı olacak gibi.
Çünkü konsolun verimli yapısı + masaüstü GPU'lardan daha üstün compute yapısı, mesela konsolda 20ms de tamamlanan bi GFX + Compute işinin PC için belki 40ms lere fırlamasına yol açabilir. PC için context switch şu an zaman kaybettirici bişey. İster driver ister compiler istediği kadar gerçek zmanlı optimizasyon yapabilsn, gfx/compute arası geçişler yüzünden yüksek context switch süresine sahip. Grafik açısından istediğiniz kadar güçlü olsun, işin sadece o kısmını hızlandırabiliyorz çünkü. Compute için de aynı hızlı altyapıyı kullanabilsek bile her seferinde geçiş yapmamız gerek, bu da extra kayıp demek.
Bi de alakasız olarak konsol gpu'larının esnekliğini sadece fizik olarak görmeye çalışırsak, bana göre bu , monitörü sadece resim çerçevesi olarak nitelemek, bilgisayarı da resimlerin saklandığı yer olarak basitleştirmek gibi olur.
PS4 baş mimarın dediği, bu bahsedip durduğum compute bazlı işlerin 2015 lerde yaygınlaşacağı. Bu kötü çünkü bi sürü yapılabilecek güzel şeyi görmemize daha zman var demek. İyi yanı O zmana kadar GPU'lar güçlenir, bu bahsettiğim compute bazlı işler için arayı kapatır. Böylece de PC'ye port edilen, konsolda compute Bu da bana göre mantıklı ama iyimser bakış açısı.
Mantıklı ve iyimser olan kısmı şu : Compute shader yazmak, bütün bi motoru veya başka şeyleri yeniden yazmaktan daha kolay. Konsol GPU'larındaki özel firmware, bi nevi vertex culling yapıp geometri yükünü azaltıp, sonrasında tessellate edebilirken şu anki PC GPU'larında bunlar yok. İlerde olabilir veya olacaktır da. Konsolda GPU mesela 1milyon üçgeni 100 bin'e indirip sonra işlemeye başlayıp, daha sonrada 100 bin üçgeni 10 milyon üçgene tesellate ediyorsa, bunu olduğu gibi PC'ye taşımak pek mümkün değil. Mesela olduğu gibi taşınır, ama PC'de yüksek tesellation kullanılır, yada native olarak yüksek detaylı modeller olur. Yada PC için bi compute shader yazılır, konsol GPU'sunun donanımda yaptığı işi, bi miktar perf. düşürerek yapılır. Amaç perf'ın çok daha aşağılara inmesini engellmek. Geometri detayını 1 milyon üsütnden her sahne için 20ms yerine, 100 bine indirirmek için zaman harcayıp 15ms de işlemek gibi mesela. Burda yine başka bi engeller var :
Konsol için bu dediğim Vertex Culling zaten GPU'da firmware olarak var, compiler'da bi seçenek ekleniyor, o da 1 flag kullanıyor ve realtime olarak yapılıyor bu. Yani extra kod gerektirmiyor.
Konsolda PSSL denen arabirim var. Ps3 deki gibi düşük seviyeli, PC'deki DX/ HLSL gibi değil. PC'de HLSL de compute işlerini tam yapamıyorsunuz zaten(HLSL hi level shader language, bu dx d3d komutlarının kullanıldığı arabirim işte). Bu yüzden oyunlar Direct Compute kullanmaya başladı, bf3 de render motoru kullanıyor mesela onun gibi. Konsolda geliştriciler donanım sabit olduğu için, Nvidia AMD ayrımı yapmak zorunda değiller. AMD için GCN / Vliw ayrımı yapmak zorunda değiller. Sıkıştıkları anda, veya daha ince iş istediklerinde, veya işlerine yarayacaklarını inandıkları zman native donanım komutlarını kullanabilirler, GCN donanım komutlarını. Her tür geliştirme ortamında olduğu gibi, yer yer bütün arabimleri bypass edip, direk donanım komutlarını kullanmanın faydasının olacağı yerler kesinlikle olur (donanım komutu dediğim şeyi assembly komutları olarak görmeniz lazım. x86 da nasıl mov ax,bx pop ret vs. gibi komutlar var ve bunların donanım üstünde yapılan işleri gösteriyor. AMD'de bu tarz ISA / mimariye özel komutları direk olarak kullanabilrken Nvidia için bu mümkün değil mesela. Yazdığınız şeyler alt seviyede PTX denen assembly benzeri bişeye dönüşüyor ama bu tam donanım komutunun karşılığı değil). Konsolda sade GCN'ye özel iş yapılacağı için, başka dert edilmesi gereken donanım olmadığı için GCN donanım komutlarını mesela küçük fazla uzun olmayan ama verimi arttıran yerlerde kullanabilirler. Nasıl PC'de bi C programı içinde asm kullanıyoruz onun gibi.
Bi adım geri dönersem, konsolda yazılacak bi compute shaderın tamamında yada belli kısımlarında direk donanım komutları kullanılabilir. Böyle bi oyunu PC'ye nasıl port edeceksiniz aktarıcaksınız? PC'de compute bazlı ortak şeyler pek yok ne yazıkki. Eldekiler OpenCL, DirectCompute, belki OpenGL'i de katarsak dolaylı olaral GLSL. Oyunlar %90 Win ortamında Dx'e aktarılacak. OpenCL'i oyun içinden bu şekilde kullanamazsınız. Geriye sadece Direct Compute kalıyor. Zaten ortak olduğu için, Dx'in bi nevi parçası olduğu için, Oyun içinde GFX ile beraber kullanılabildiği için yeni oyunlarda kullanılıyor. Şimdi adamlar ne yapacak? Konsolda donanım komutları ile (GCN ISA için) yazdıkları compute shader'ı PC'ye Direct Compute'a çevirmek zorunda kalacaklar. Konsolda compute shaderın çalıştırma hızı donanım komutları içerdiği yani çok çok düşük seviyeli olduğu için yüksek. Ayrıca GPU'nun context switch gecikmesi düşük olduğu için ilave olarak da artan bi hız var. Yani elde a. donanım komutu, b. komutun düşük gecikmeyle işlenmesi imkanları var. Bunu Direct compute'e verimli olarak nasıl aktarabilecez? Büyük soru bu, ben işin bu kısmını pek hayırlı görmüyorum.
Özeti şu, konsolda GPU compute olayı artmaya başlayınca PC'deki GPU'ların buna yetişecek kadar daha da güçlenmiş olması lazım. Yoksa halimiz nanay. Ya kalite farkı olur, yada insanların optimize olmadığını sandığı düşük performanslı port oyunlar olur. Geliştricileri GPU compute ile yapılabileceklerin az çok farklındalar zaten(envai çeşit post-processingden tutun, render altyapısının tamamının yeniden programlanabilir olmasının getirdiği sınırsız gibi gözüken olasılığa kadar). PC'ye göre daha esnek programlanabilirliği olduğunu bilenlerinde ağzının suyu akıp durdu bu yüzden.
Ama bunlarla tasarlanmış oyunları PC'ye aktarırken dediğim gibi zurnanın zırt dediği yer orası. Biçok insanın yanlış inança AMD coşacak edecek demesi çok hatalı bi bakış açısı. Konsolda CPU'da çalışacak her kodu SSE4.2 veya AVX'e göre optimize edersin, PC'ye aktarırken öyle bırakamazsın ama. O zman sadece FX , Sand Bridgle ve üstünde çalışır. O zman mecburen SSE2'ye kadar destek vermen gerek. Sevgili melik arkadaşımız, "Bulldozer için FMA" yazarlar nolcak eşşek değiller dedi ya, işin öyle olmadığını biliyoruz. Hiçbi oyun AMD'ye özel FMA desteği ile gelmedi. Çünkü geliştrici oturup dünya kadar zman harcayıp bi sürü şeyi yeniden optimize etmeye çalışmaz. Konsoldaki CPU'ya göre olan optimizasyonların hepsini PC'ye aynı şekilde gelmeyeceğni bilmek lazım, bu yüzden AMD CPU'lar masaüstünde coşacak demek çok çok hatalı olur.
8 çekirdek var süper multi thread desteği olacak AMD coşacak yine yanlış. Konsolda, PS3'de mesela, SPE'ler hem GPU'nun işini yüklenirken, hemde paralel olarak GPU'ya veri + komut yollayabiliyor. Çünkü konsolun render altyapısı buna müsait. 40 bin kere yazdığım gibi Directx / d3d'de işler bu şekilde yürümüyor. Dx altyapısı zaten konsola göre geride. Şimdiki CPU'nun yapabilecekleri ile de Ps3'den çok daha verimli ve hızlı GPU'ya ulaşma komut / veri yollama imkanı var. Salt işlemgücü kapasitesi olarak Cell'den falan geri, bellek erişim belli işleri yapma kapasitesi çok daha yüksek. Konsolda her bi çekirdek GPU ile paralel erişim kurabilecekken, her biri ayrı ayrı drwacall yapabilecekken PC'de bu işler nanay. PC'de elimizde bi tek Dx11 ile gelen Dx11 multi-threading var. Bu CPU çekirdeklerinin GPU'ya paralel komut yollamasını sağlıyor ama işler güllük gülistanlık değil. Masaüstünde AMD DX11 MT'yi tam desteklemiyor. Deneyini de yaptık zaten performansa bi katkısı olmadı. Yada bazılarında direk oyun çöküyor.
Denemeyen bilmeyen varsa mesela Farcry3'de denesin. gamerprofile.xml'de D3D11MultithreadedRendering= 1 yapsın. Kimisinde 10 fps artış oluyor, kimisinde hiç farktmiyor, kimisinde oyun çöküyor dediğim gibi. Yani bu işin tam bi standartı yok.
PC'de Dx sistemi boğduğundan, Konsoldan PC'ye gelecek oyunlar süper manyak olacak demek doğru değil kısacası. Ps3 de SPE'ler vardı, PS4'de Xbox'da onların yerini Jaguar çekirdekleri aldı. Eski konsollardan PC'ye aktarılan oyunlar nanaydı, şimdi çok çok daha iyi olması için nedenler çok yok, zannedilenden daha az var. Oyun kodu daha derli toplu düzgün olur, bazı açılardan aktarması daha kolay olur, ama konsol 8 çekirdek, fx de 6-8 çekirdek. Tam yararlanır uçar demek hayal aleminde gezmek demek. Dx işlemciyi boğdukça, yeni oyunlar da daha talepkar oldukça, getirisi kadar götürüsünü de unutmamak lazım. İnsanlar yanlış hayallere kapılıyor.
Xbox'ın DDR3'ünün 68 GB/s kapasitesi var. 32 MB ESRAM var sistemde bi de. Bunun cache mi olduğu, yoksa framebuffer + bi tür aptal-tampon mu olduğunu bilmiyoruz. Eğer cache olarak tasarlanmışsa, bunun kapasitesi 200 GB/s üstüne çıkartılabilir SRAM yapısından dolayı. %80 hit-rate ile çalışsa yine 160 GB/s eder, az buz değil yani. Sonuçta direk berbat olması için kesin bi neden yok elimizde.
Eğer çip 40nm üretilmiş ise gerçekten, bu TSMC dışında da üretilmesi amaçlanıyor gibi anlamlar taşır. Ama GCN GPU'sunu 40nm ve farklı tesislere göre yeniden tasarlamak benim açımdan daha zahmetli gözüküyor. Bütün çipi Glofo'da , ABD'de üretmek için bu yoldan gitmş olmaları lazım.
Bu forumda zannedersem bahsedilmedi, 3 farklı işletim sistemi olacak. Bi tanesi core, en altta bütün donanımı çalıştıracak. Diğer ikisi hypervisor modunda ve bunlardan biri Windows-kerneli içerecek. Microsoftun konsol üstünden oyun dışında bi sürü kendi ürününü satmak gibi amacı da var çünkü.
Bütün bunlarla alakasız olarak, Amerikan emperyalizmi, reklamı PR'ı cafcafı diye yazılan, yok Tivo imiş, yok medya center imiş bilmemneymiş diye bizim buralarda küçümsenilen şeylere ABD'de millet bayılıyo. O yüzden interaktif sevisler , medya eğlence açısından baya iş yapmışlar aslında. Hepsinden malı götürecekler orası ayrı.
Hocam sence konuşulan sistem özelliklerine göre hangi sistem daha önde ? (Ps4-XboxOne)
Yani kısaca yine optimasyon ve port sorunları olacak diyorsunuz pc için öyle mi? Peki pc için Microsoft işlemcilerle daha iyi çalışabilecek bir Dx yazamaz mı? belki Dx 12 dedikleri şeyde burada bahsetiğiniz konsol, pc farkını kapatacaklardır?
AMD DX12'nin daha uzun süre olmayacağına inanıyor. Dx11'in yetersiz kaldığı, ben yenisini istiyorum diyenler yok gibi. Kaldı ki dx11 ile ilk defa bi sürü firma bazı şeyleri doğru düzgün yapabilir olduler. Unreal Engine AA gibi mesela. Dx11 ayrıca ihtiyacın olan fonksiyonları kendi kendine yazabilme gibi bi esneklik de veriyor. Buna benzer şeylerden AMD yeni DX olayının yakında olacağına ihtimal vermiyor. En azından röportajları faln öyleydi.
Dx'in PC de ağır çalışmasını çözecek olan tek Başına Ms değil. AMD Intel Nvidia vs. diğerleri bi araya gelmesi lazım. Tekbaşına driver ile , işletim sistemi ile, oyun/program kodu ile olacak iş değil. Hepsinin birden yapılması lazım, yani elbirliği lazım. Bi işte örnek Valve var, Linux'da işletim sistemini kerneli modifiye ettiler. AMD INTEL Nvıdıa ile beraber çalıştılar özel driver gibi bişey ürettiler. Sonuçta Linux + OpenGL adamların oyununu Win + Dx'den %30'lara kadar hızlı çalıştırdı. Yani çok büyük çalışma lazım Dx'in hafiflemesi getirdiği yükün azalması için.
Diğer yandan Ms, PC'de Dx'i hafifletirse hızlandırırsa kendi konsoluna fazlaca benzeyebileceği için kasıtlı olarak da yan çiziyor şeklinde gerçek/komplı karışımı bişeyler de denilebilir.
PC'de işlemci Dx'in bi sürü işi içn sürekli meşgul oluyor. Bu yüzden de genelde bf3 gibi oyunlarda bi yerden sonra sadece frekansa tepki veriyor oyun(i5 vs. 3930k farkı gibi, bi yerden sonra 5 ghz veya az daha üstü i5'in daha iyi olması gibi, çekirdek sayısının işe yaramaması gibi rezes'in yerden yere vurduğu gibi).
Bunlar hem yılllllaarrrdannnn beri bilinen şeyler, hem tek başına kimsenin düzeltemeyeceği de bilinen şeyler, hemde kimsenin bişey yapmak içn uzun uzadıya çalışmaya iş birliğine yanaşmadığı şeyler. Şimdi idare edecek, kabul edilebilecek seviyede çalışıyor mu (yıllardır öyle zaten)? Gerisi hikaye yani, baştan aşağı Dx'i adam edelim olayına kimse yanaşmıyor. Yeterince bastırılmadığı için yeterince sorun görülmediği için böyle.
FPS / FCAT olayları da öyleydi. Gerçi kimse FCAT'deki gibi sistem kurmadı ama, frame'in render zamanı ile ekranda gösterilme zmanının hep farklı şeyler olduğu görülen ile sistemin çizdiğinin farklı şeyler olduğu, oyunun network kodu ile render'ın tam olarak birbirinden ayrılmasının nasıl olacağı vs. faln yıllarca ortada olan yer yer tartışılan edilen şeyler. Taa Quake zamanlarından beri bu sorgulama faln var(gerçi herkes işin tek yanına bakıyordu, Quake oynayan herkese lazım olan 120/125 FPS idi ama olsun). Anca şimdi FCAT ile bu işlere detaylıca girildi. Sadece multi-GPU etkileniyor diye bu FCAT belkii süper baskı kurucu değil ama bişeyleri değiştirdi yine. Dx'in ağırlığı konusunun da böyle böyle artması sık sık konuşulması edilmesi bişeylerin gösterilmesi lazım ki sorun olarak görlmeye başlanılsın. Bunun da kısa vadede kolay kolay olacağı yok. Herkes şikayetçi konsollar daha hafif diye, ama hiçbi geliştricinin (donanım / yazılım olarak) adım atacağı yok. O yüzden,.... öyle işte ortada öyle duruyor ilerlemiyor olay.
@Gwynbleidd_ Birisi diğerini döver açısından bakmak istiyorsak PS4 biraz daha üstün gibi duruyor, ama Xbox'ın hakkında hala bilmediğimz şeyler var. ESRAM'ın neye yaradığını bilmiyoruz. Cache mi, framebuffer mı, yoksa ikisi birden mi bilmiyoruz. Çünkü çok büyük fark yaratabilir bu, Xbox'ı ps4 ile yanyana aynı seviyelere getirebilecek zımbırtıları olabilir (cache, move engine, compression, display panes vs. gibi). Bunların bazılarının tam ne derecede işe yaradığını veya nasıl etkisinin olduğunu bilmiyoruz. Cache mesela dediğim gibi ddr3 olmasına rağmen 160-170 GB/s seviyelerinde bi bantgenişliği verebilir GPU'ya. Move engine denilen şeyler PC'deki DMA'dan daha fazla yeteneğe sahipler, gerçek zmanlı sıkıştırma çözme yapabiliyorlar mesela, Ram'a aktarılan veriler için. Display Panes 3 tane var, bunların amacı mesela UI'nin arabirimin yani sorunsuz çizilmesini sağlamak esas olarak. Oyun sırasında mesaj geldiği zman, hani msn penceresinin zort diye oyun oynarken ortaya gelmemesi gibi şeyleri ayarlamak, oyun arabirimi ile işletim sisteminin konsolun ana arabirimini ayırmak falan (display pane lerin esas amacı). Ama bunları amaç dışında kullanıp sistemi hızlandırmak gibi bi olasılık da var ortada.
Mesela Bizim ekranda gördüğümüz oyun tek bi framebuffer'dan değil 3 farklı framebuffer yapısından oluşsa, sahnenin tamamı bizim bildiğimiz anlamda tek seferde değil, her bi parçası farklı çözünürlük ve detayda işlenip en son birleştirilse (blend edilse), ortaya acaip acaip sonuçlar çıkar. Oyunda UI arabirim, detay seviyesi işlenmesi için çok önem gerektirmeyen şeyler mesela 720p'de render edilecek 1. display pane'de duracak , silah 1080p'de render edilecek 2. display pane de duracak, yerler zemin vs. detay gerekliliği değişen şeyler de 900p'de render edilecek 3. pane'de duracak. Sonra sistem final olarak 3'ünü karıştırıp ekrana verecek. Böyle animasyon, arabirim vs. faln farklı çözünürlüklerde render edilmiş parçalardan oluşacak. Bu display paneler ve sonra birleştirme işlemleri vs. faln resize / rescale'den çok çok fazlasını yapma müsait. Her tür detayı ile renk derinliği, pixel bilgisi vs. herşeyi ile oynanılabiliyor. 720p'yi 1080p'ye ölçeklendirmek scale yapmak yerine bi nevi 1080'e yeniden işleyip genişletebiliyorsunuz gibi düşünebilirsiniz. Dediğim gibi display panelerin esas amacı bu değil, ama sahneyi parçalara ayırıp, farklı kısımlarının farklı çözünürlüklerde işlenmesi gibi sonuçlara da imkan veriyor.
Buna benzer detayını tam bilmediğimiz şeyler var. O yüzden Xbox için çok geride dememek lazım.
Cevap için teşekkürler dostum
rubi iyi güzel yazmışsında, işin teorik kısmını bilmesemde pratikte pc grafikleri daha iyi olacakmış gibi geliyor, bugüne kadar gösterilen demolara ve tanıtımlara dayanarak yazıyorum.
Ağzınıza klavyenize sağlık Üstad.Far cray 3 oyununda D3D11MultithreadedRendering= 1 olayını denedim ve artık 8x Msaa açık 60 fps akıcı oynayabiliyorum.Önceden 4x Msaa açabiliyordum.Oyunlar için bildiğiniz başka bu tür sırlar varmı ? Saygılar,Selamlar.
quote:
Orijinalden alıntı: ugurmurat360x
Ağzınıza klavyenize sağlık Üstad.Far cray 3 oyununda D3D11MultithreadedRendering= 1 olayını denedim ve artık 8x Msaa açık 60 fps akıcı oynayabiliyorum.Önceden 4x Msaa açabiliyordum.Oyunlar için bildiğiniz başka bu tür sırlar varmı ? Saygılar,Selamlar.
nerden yapılıyor?
o değilde adamlar kilzone bf4 den çok daha iyi demezlermi grafik bakımından. niye bu adamlar bu akdar cahil anlamış değilim.
Adamlar okadar çok tv kelimesini kullandıki oyun konsolumu alıyoruz yoksa tvmi belli değil
quote:
Orijinalden alıntı: hærun
quote:
Orijinalden alıntı: ugurmurat360x
Ağzınıza klavyenize sağlık Üstad.Far cray 3 oyununda D3D11MultithreadedRendering= 1 olayını denedim ve artık 8x Msaa açık 60 fps akıcı oynayabiliyorum.Önceden 4x Msaa açabiliyordum.Oyunlar için bildiğiniz başka bu tür sırlar varmı ? Saygılar,Selamlar.
nerden yapılıyor?
Belgelerim/My Games/Far Cry 3/GamerProfile dosyasını not defteri ile açıp D3D11MultithreadedRendering= 0 yazan kısmı bulup 1 olarak değiştirin.
quote:
Orijinalden alıntı: ugurmurat360x
quote:
Orijinalden alıntı: hærun
quote:
Orijinalden alıntı: ugurmurat360x
Ağzınıza klavyenize sağlık Üstad.Far cray 3 oyununda D3D11MultithreadedRendering= 1 olayını denedim ve artık 8x Msaa açık 60 fps akıcı oynayabiliyorum.Önceden 4x Msaa açabiliyordum.Oyunlar için bildiğiniz başka bu tür sırlar varmı ? Saygılar,Selamlar.
nerden yapılıyor?
Belgelerim/My Games/Far Cry 3/GamerProfile dosyasını not defteri ile açıp D3D11MultithreadedRendering= 0 yazan kısmı bulup 1 olarak değiştirin.
sağol
Onu bunu bırakında, Xbox 360 ve PS3' te Gears Of War, Forza 4, Uncharted 3 gibi oyunlar yapılıyorsa bu nesilde neler yapılır Ayrıca saydığım oyunlar konsolların son yıllarına yakın çıktı. Konsolların ilk oyunları o kadar iyi grafik vermez. Konsol iyice çözüldükçe daha iyi kullanılacaktır.
kötü olmuş ozaman multiplatform oyunlarda ps4 grafik kartı %50 daha az çalışacak xo yüzünden
Aslında herşey yapımcının elinde, %50 performasnlıda çalıştırır.Ama sırf aynı gözükmesi için, %50 daha az çalışıtırılar.Ama şunu çok iyi biliyorum ki, illaki bir kaç yapımcı bunun aksini yapacaktır.Misal Xo'da 30 fps çalışan oyun, ps4'te daha temiz grafiklerde 60 fps yapılabilir.