Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
21
Cevap
1933
Tıklama
0
Öne Çıkarma
Yeni Nesil OpenGL geliyor.
D
11 yıl
Binbaşı
Konu Sahibi

http://www.tomshardware.com/news/khronos-amd-nvidia-intel-arm,27419.html

Bu sıfırdan, yeni nesil bir API olacakmış. Şimdilik kod adı OpenGL NG (Next Generation).

OpenGL 4.5 ise 2 gün önce çıkmıştı :https://www.khronos.org/news/press/khronos-group-announces-key-advances-in-opengl-ecosystem



R
11 yıl
Yarbay

PS4'ün GL ile alakası yok. OpenGL'in Ps4'ün GNM API'si ile kaşılaştırılabilir yanı yok. GNM'de Mantle 'dan daha esneksin. Mantle, X360'a ama daha düzgün deklare edilmiş haline benzerken, PS4 GNM ile yapabileceklerin MAntle'dan daha fazla. En basitinden görev dağılmı yaptığında Mantle'a göre daha da az overhead var.

PS4'e yarayacak tek şey milletin önce PS3'e oyun geliştirmeyi bırakması, sonra da multi-platform oyunlarda PS4'ü hedef alması, son olarak da UE4'den uzak durulması. PS3, günümüzdeki oyunlar için özel yaklaşım ister, o yüzden yaptığın işin Ps3 versiyonu kalitesi düşürülmüş versiyon olarak değil, kısıtlı donanıma uydurmak için yeni baştan uğraşılmış özel versiyon ister. Ps4 de 10 gün harcadığı bi işi Ps3'e aktarmak için, yaptığın şeyi hedefi korumak istiyorsan 1 ay bile zaman harcaman gerekir. Çünkü yaptığın şey koca kediyi 10cmx10cmx10cm kutuya sokmanın bi yolunu bulmak(bi yerden sonra da kedinin canlı olup olmaması önemli değil).

Multi platform oyun için PC artık önemli seviyede donanım gücüne sahip oludğu için, istediğin kadar geliştirme süresini üstün kötü geçiştir yine de PS4-PS3 sorunları ve geliştirme süresi ile karşı karşıyasın. O zaman yukarda yazdığım şeye yine geliyoruz. PS3 için bi nevi destekleme ihtiyacı hissetiğin, çok müşteri var ve para getirir diye desteklemek zorundasın. Cry3 @ PS3 için adamlar resmen yeniden motor yazdılar. O yüzden dx10'da çalışmazken kıytırık PS3'de çalışıyor. Dx10'da çalıştırmak için de başka yol geliştirip başka bişey yapabilirlerdi ama $$$ konuşuyor. Multi platform oyun yapacam diyip PS3'ü de es geçersen ne kadarlık bi gelirden yoksun kalmış olursun? Bu da geliştricileri hem kısıtlıyor hem iştah kabartıyor. Böylece multi platform = PS4 + Pc diyemiyorlar. İlla eski konsollara da bulaşıyorlar.

"Multi platform" u sadece Yeni konsollar + PC şeklinde ele alsalar ve PC'ye en az seviyede geliştirme zmanını verseler, sonuçta PC'de hi-end donanımda bile olsa konsola eş veya geçen bi kalite oluşuyor. Çünkü hedefinde PC'de var. PC için bambaşka bi yöntem (ve motor), yeni konsollar için bambaşka bi yöntem (ve motor) dediğin zaman işin içinden çıkılamıyor çünkü dediğim gibi PC'ye en az zamanı harcayacam desen bile önünde bi sürü engel var.

Sadece konsola özel oyun geliştirdikleri ve bunu yenilikçi yöntemler ile yapacam dedikleri sürece yeni konsollarda iyiye gidiş olur. Onlarda da stok UE4 kullandıkları sürece zor ilerlenir. UE4'ün farklı fork'ları var, UE4'ü geliştirme aracı olarak kullanıp render açısından yenilikçi yöntem bulurlarsa olur. Ama UE3-4 kullanmanın esas amacı geliştirme zamnını azlatmak en başta zaten.

Bu da bizi yeni konsollarda, konsola özel ve iyi iş yapalım dediklerinde kısıtlı gelir ve çok çalışma noktasına getiriyor. Second Son için mesela adamlar çok iyi çalışmışlar. Kalitesi güzel, ama Gözlerini yerinden çıkartacak seviyede değil , zaten ondan bahsetmek istemiyorum. Second Son için adamların sarfettikleri uğraş bile bi noktadan sonra "korum artık yeter ya" noktasında. İyileştirmeyi nerelerde bıraktıklarını, hangi işler için ne kadar daha geliştirme yapabileceklerini faln tek tek anlattılar.

Eskinin ve PC'nin yükü ağır, o yüzden yeni konsollarda özgün yaklaşım zor. Özgün yaklaşım olmayıncada, oyunlar nasıl fillrate ile limitli ve compute shader(CS) bunu cilalamak için kullanılıyor, bunun ötesine geçilemiyor. Yıllar boyu oyunlar böyle oldu, geliştriciler istedikleri kadar egzantrik yollar bulsunlar fazla ilerleme olamadı. Donanım da bunlara çanak tuttu, gelişmeyen API'ler de tuzu biberi oldu. Sonuç, aynı ışıklandırmaya fazla görsel farklılık ekleyemeden daha fazla nesne eklemek, nesnelerin kısmen detayını arttırmak oldu. Işıklandırmada bi yöntem buldum uygulayayım dediğin zamanda o işte şikayet edilip durulan çimenlerin yapraklarındaki yansıma-gölgelenme farkının API-GPU üstünde çalışma şekli yüzünden, 1 gıdımcık kalite farkı için 10 kat fazla donanım gücü ihtiyacı olur.

Programcılara daha fazla donanım verdikçe aynı yolu daha şatafatlı gitmenin peşinden gidiyorlar. Böyle acayip innovatif yaklaşımlar için tek bi yere odaklanman gerekiyor. PS4 anca o şekilde güzel oldu nerden nereye geldi dedirtir. Yoksa geliştirme zamanını böldükçe, PS4'e nasıl yapayım bunu PS3'e nasıl indireyim dedikçe olmaz.

Birde ek olarak, Dx12 yeni konsollara çok çok fena darbe de vurabilir. Win Dx ortamında yapılacak işin ana mantalitesinin konsollara benzer geliştirmeye imkan vermesinden dolayı. Şu an konsolları özel yapan tek şey geliştirme esnekliği yazılım açısından (daha şimdiden 8 GB'dan şikayet eden bi sürü geliştrici programcı biliyorum ben). Böylece Dx12 zmanında gelecek donanımınların verimi gücü + Dx12'nin konsolvari kodlama imkanı PC'yi konsollara karşı bi nevi konsolumsu havaya sokacak. Şimdi Dx'de paralel render yapamıyorsun(multi-threaded render) -- Dx12'de gelecek, GPU'ya belli sabit şeyleri yükleyip değişmemesi sağlayamıyorsun dx12'de gelecek, GPU'ya emir paketini hazırladım işlet dediğinde çok fazla CPU gücü + overhead yiyor -- dx12'de düzelecek vs. vs. XB1'a avantaj olarak, şu an PC'de Dx11 ile XB1'a ortak geliştirme yapamıyorsun. Dx12 ile ortak geliştirme imkanı olacak. Yani harika ötesi oyunlar olmaz büyük ihtimalle XB1 üstünde, ama geliştirme kodlama açısından, ana render hatları açısından kolaylık getirecek. Bu sayede kabul edilebilir kalitede bi sürü oyunun olmasına katkıda bulunabilir. Yani XB1 için geliştirme süresini kısaltır en büyük yeniliği o olur (mesela kimse XB1'de o Tiled Render olayına girmek istemiyor işin içinden çıkamayacakları derecede karmaşıklaşıyor diye). Dx12 XB1'i Tiled Render açısından rahatlatır belki o kadar.

PS4 için, PS4'e olan ana yöntemi bakış açısını PC'de de uygulama imkanı verebileceği için bi taraftan multi platform oyunlar için farklı yöntem geliştirme derdini azaltıp zaman kazandırabilir diyebilirsin, diğer taraftan da artan donanım gücü ve konsolvari render yaklaşımı yüzünden konsolun olası esnekliğini anlamsız hale getirebilir. PS4 GNM, Mesela Dx12'den %30 daha fazla iş yapmaya imkan versin. Şu an dx11 parasına aldığımız Dx12 donanımı ise şimdiye göre %30 salt perf artışı versin, PS4'ü özel kılan iyi olmasını sağlan şey anlamsız kalıyor.

Bugün Salt PS4'e özel tasarlayıp PC'ye aktaramyacağın, aktarmaya kalkarsan anasını ağlatacak yapılar var. Süper optimize edip bazı shaderları direk donanım komutlaryla yazdığında, donanımın esnekliğini kullandığında yani donanıma özel komutlarla iş yaptığında PC'de Dx karşılığı yok, çok fazla arkadan dolaşman lazım. 100 cycle PS4'de süren işin DX'de karşılığın binlerce cycle olabilir(örneğini vermiştim komutlarla mesela Scalar uniteyi çarpma işleminde kullanarak %30'a kadar artış elde etmenin sağlayan bi rutin gibi). Bu tarz aşırı donanıma özelleşmiş işin PC karşılığı yok. Dx12 ile de olmayacak, ama yöntemi uydurma imkanı ve daha hızlı donanım çok fark yaratır. O yüzden dx12 konsollar için pek faydalı olmaz gibi duruyor. Multi platform geliştirme adına getireceği kolaylık , konsola özel iş yapma hevesini kaçıracağından götürüsü daha fazla olacaktır.


----------------------------------

OpenGL 5.0'da (veya NG'de ne isim vereceklerse), Mantle başlığında yazdığım gibi kapalı kutu gibi geliştirme olmayacak, 20 tane adamı atıp bize bişey yapın demeyecekler. Yadaa geçmişte 3dlabs'ın Nvdia'nın yaptığı gibi şunu ekleyelim bize avantaj olsun vs. davaları olmayacak. Yada herkes işine gelen donanım / yazılım ile ilgili bi kırıntı ekleyip ilerde kendisine avantaj sunumaya çalışmayacak. Yani en azından bunu bekliyoruz. Açık uçlu bi girişim bu ve geçmişten farklı. Johan Andersson gibi oyun yapımcıları faln da dahil olacak işin içinde, Intel AMD Nvidia gibi öncelikli olmasını beklediğimiz donanım geliştricileri de olacak, Unity gibi önemli motor geliştiren elemanlar da, Samsung ARM faln da, Valve gibi GL'e ciddi destek vermek isteyenler de.

Bu açıdan bakınca, amaç GL'e cila atmak değil düzgün syntaxı olan, kodlaması öğrenmesi dert olmayan, varolan sorunlara yan yol ile çözüm açıp eski sorunların üstünü örtmeyi amaçlamayan, geliştirme araçlarının debuggerların codebase vs. nin sorun olmadığı bi yapı amaçlanıyor.

Şimdilik bakınca İnşalla faln dedirtiyor. Diğer taraftan bilen yada okuyan vardır, yıllar öncesinde de GL'i adam edecez diye başladılar sonrası "hangimiz daha çok içine edebiliriz"e dönüştü olay. Şimdi farklı marklı faln diyoruz ama yer yer insan düşünmeden edemiyor, başta iyi ama herkes bi tarafından çekiştirmeye başlarsa ne oalcak diye.

GL'in derdi yeni değil, yılların derdi var. Dx sadece MS'nin bi tarafı kurtulsun tek çaresi diye bu halde değil. GL'in içine edeli çok oluyor. Sırf GL'i iyileştiremeyip ortada bıraktıkları(hani o Long Peaks hikayesi faln) için geliştirme yapmaktan tamamen vazgeçen Dx'e yönelen bi dünya adam vardı. Dx altında düzgün bi ortam oluştu, geliştirme araçları driver kalitesi vs. adına. GL için bugün kullanılacak doğru düzgün debugger yok. Valve sırf bu yüzden ve gücü anca buna yettiği için VOGL adında çok iyi bi debugger geliştirme işine girişti. SteamDev Days de tanıttıkları VOGL'in katkısı çok olabilir ama bu Dx yeirne GL'e oyun yapmaya gelin demeye yetmez. GL'in derdi geliştirme araçları ile fundemental temeli ile ilgili. MS bişey yapmadan millet içine güzelce etti zaten.

GL 4.4 ile o AZDO diye tanıttıkları şeyler (aproaching zero driver overhead sunumu adında tanıttıkları 4.4''deki yenilikler) anca demo yapıp küp çevirmeye vs. yarar. Bunları oyunlarda millete kullandırtamazsın. Kaç aydır diyoruz, hodri meydan versinler adamlara 1 çanta para gelsin babalar yardımcı olsun , milletin gözünü şaşı yapacak kalitede oyun çıksın. Öyle sunumda Dx'den %1800 daha hızlı sonuç üretiyor vs. deme ile olmuyor işler. Demo işi vs. farklı oyun motoru ve oyun geliştirme farklı.

Sırf 8 ay faln önce Graham Sellers bi MDI(multidraw indirect) demosu çıkarttı :http://www.youtube.com/watch?v=DxTrbPhGFt0
Ama göreceğiniz gibi kimse "oo GL manyak bişeymiş yaa biz geçelim şuna, Dx altında sürünüyoruz, 18 kata kadar hızlanma elde edersek şöyle bi kalite artışı elde ederiz" noktasında değil. Bun engelleyen başka sorunlar var çünkü.


UE4'de cross-compiler diye bişey geliştirdiler. UE4 render scritpini hem HLSL (Dx için) hem GLSL için (OpenGL) derleyip çıktı üretip, Linux altında da UE4 kullanımını kolaylaştırmayı ve oyunun Linux'e aktarımını çabuklaştırmak istiyorlar. Böylece UE4 ortamı dışına fazla çıkmadan, bi nevi cross platform geliştirmeye imkan verir gibi olacak. 13fps vs. 90 fps gibi bi perf sorunu var ama :// Nvidia'nın arka bahçesi olduğundan, özel olarak üstünde çalışıp özelleştirildiğinde, Inflitrator demosunda sadece %5 farka indirmişler (WinDx vs. Linux GL).

Ama bunu, vurgulamaya çalıştığım gibi normal geliştricilerin arkasında Nvidia'dan mühendis ekibi olmadan yapması zor. Bu olamazken kendi başına GL'e oyun geliştirmek hepten işin içinden çıkılmaz bi hal. Yani sorun GL'in kendisinde, sadece Ms'nin tekel olmak için birilerinin kafasına vurup durmasına gerek yok.

Bu yeni girişimde herkes dahil olacağından, geliştirme süresinde hızlanma olabilir. Çünkü clean syntax için, donanıma uygunluk için, bi oyun geliştricisinin olmasını istediği şeyler için bi oda içindeki 20 adamın kafa patlatmasına gerek yok. Eğer yukarda bahsettiğim gibi birbirlerini yemeye çalışmazlarsa ise, birisi kendi avantajına olacak belli donanım/yazılım özelliklerini öne çıkartmak kayırmak için efor sarfetmez ise gelişim süreci hızlı olabilir. GL'e lazım olan geliştirme araçları, debugger vs. gibi şeyler şimdiye kadar milletin sırt çevirmesine yol açan şeyleri daha hızlı ekleyebilirler.

Yine de Dx12'nin hazır olma süreci daha hızlı ilerlyecek gibi. Dx12 hazır olduktan ve gözle görülür perf farkı veya milleitn istediği tarzda esneklik ortaya koyduktan sonra tekrar gözleri GL'e çevrilmesi için dx12'nin vereceklerinden belirgin oranda daha fazlası lazım. dx kullanıcı tabanından eleman çalabilmesi için öğrenme öğrenme/kodlama açısından kolaylık olacak çok şey lazım. dx12'nin yeni donanımlar ile birlikte iyi işler yapabilmesi geliştrici tabanını sağlamlaştırır. Şimdi dx'den şikayet edenler, dx12'nin süper esnek olmayacak olsa bile şuanki şartlara göre "oh bee" dedirtecek olması önemli. Geliştirme süresine katkıda bulunma, esneklik sağlama, konsol-pc arasında ortak kullanılabilir ana bakış açıları biçok geliştrici için Dx12'yi çok hızlı benimseme nedeni olacaktır.

GL 5.0'ın (yada GL NG neyse adı) öyle bi gelmesi lazım ki Dx'i temel alanların kafadan mesela %25'inin "ilk günden GL'e odaklanırım" dedirtmesi lazım.

Geliştirme süreci İçinde olan bildik elemanlardan ne yapılır ne yönde ilerleniliyor kısa zamanda bilgi alırız. Ondan sonra iyiye mi gidiyor nasıl oluyor fikir sahibi oluruz. İnşalla bu sefer düzgün olur, yarıyolda içine edip bırakmazlar.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @scutaro
D
11 yıl
Binbaşı
Konu Sahibi

D
11 yıl
Binbaşı
Konu Sahibi

R
11 yıl
Yarbay

Çok af buyur IBM ne annar günümüz grafiklerinden :P IBM'in başında bi karı var, 10 Vampir gücünde diyorlar şirketi emip kurutuyor. Orayı kapatalım burayı keselim,şurdan sallayalım diyor. Sonuç : gelirler azalıyor ama kar artıyor, WallStreet huraa, hisse yukarı :P

Adamların bi kesin olarak kapatamayacakları araştırmaları var, hükümet destekli faln, hani şu değişik hesaplama sistemlerine yapay zekaya vs. bi de ABD için "güvenilir üretim tesisi" / Trusted Foundry olayı var. NSA vs. için hükümet için güvenilik çip üretmek için var. Onun dışındaki herşeyde kendi başınalar. Power8 mimarisini geliştirmek çok maliyetli olduğundan, Power7+ çok büyük çip olduğundan maliyetli olduğundan, yeni Power8 mimarisini açık geliştirelim dediler. OpenPower diye konsorsiyum kurdular, Nvidia, Tyan, Google faln var, googledan bulursun. Hiçbirinde IBM'i alt edebilecek tecrübe yok. Doğal olarak 4 sene sonrası olası piyasa koşulları için IBM kendini güvene almış oluyor. Sonrası Allah Keriim modundalar.

Geçenlerde haber vardı, belli çip geliştirme işlerini GloFo'ya devretmek istiyor, 1 milyar $ verecem diyor, GloFo 2 milyar $ isterim diyor. Düşünebiliyo musun satma faln değil tam olarak. Belli gEliştirme kısmının bi parçasını başkası işletsin, üstüne para verecem diyor :P

IBM bu üretim tesislerini faln satmayı düşünüyordu, GloFo'da satın almak istiyordu. Daha da önemlisi patentlerine ulaşmak istiyordu. Ortada kaldı o iş. IBM satmak yerine sana işletmesini verim üstüne de para verim gibi bi noktaya geldi. GloFO'da kurtarmaz abi daa çok para vermen lazım diyo :P

ÖZeti, IBM'in elinde bütün insan gücüne rağmen bu tarz GPU veya GPGPU alanına girecek imkan olsaydı zaten girerdi :((


AMD, yıllardan beri bu varolan DX/GL'in verimsizliğinden faln yakınıyor. Richard Huddy'nin 2011'de bit-tech'e röportajı vardı, resmen patlama noktası idi o.

http://www.bit-tech.net/hardware/graphics/2011/03/16/farewell-to-directx/1

Dx9 öncesinde de var salında bunlar. Ama DX9 donanımında, bazı Dx9 komutlarının donanımda karşılığı faln vardı daha önce de bahsetmiştim. Dx9 sonrasında bu donanım ile yapılan işler bazı nedenlerden dolayı bi nevi yazılım ile yapılma tarafına alındı mesela. Dx11 dx9'a göre bazı işleri hızlandırıp overhead faln azaltırken, Dx9'un donanımda yaptığı işi bi nevi yazılıma aldı diye bi miktar da hantallaştırdı.

Dx9 öncesinde olan başka şeyler de var ama öncesinde API ile Dx veya GL ile donanım arasında daha yakın bi etkileşim vardı, her ne kadar problemler olsa bile. O zmanki oyunların karşmıklığı GPU'yu işleme şekli, GPU'ların şimdikine göre çok geri olması vs. bi sürü neden etken var. Daha basit olunca Dx komutlarının GPU'da donanım karşılığını oluşturması daha kolay oluyor mesela.

GPU'lar karmaşıklaştıkça, gittikçe ayrı ayrı pixel/vertex işleyen yapıdan >> daa çok bi Compute / Hesap yapabilir kabaca CPU tarzı yapıya dönüştükçe API yetersiz kalmaya başladı. Dx9 ile bu çok fazla öne çıkmaya bşladı. Oyun ypaımcıları da işte o noktadan sonra işin zıvanadan çıkacağını görmeye başladılar. Ama Fillrate faln limitine dayalı eski yaklaşımları da terketmediler. Çünkü eski donanım, eski alışkanlıklar var, sonra konsollar faln var. Aslında yer yer tech sitelerde GPU'nun hikayesi faln diye anlatıyorlar da, bunların API ile alakasından donanımın yazılımın API'nin nasıl birbirine bağlanıp kaldığından kısır döngü içinde biribirne köstek olup durduğundan, hep geçmişe yönelik yüklerden bahsetmiyorlar.

Dx9 , daha yeni donanımlarla daha iyi şeylere imkan verirken geliştriciler de iki arada bi derede kalıyorlar hep. Hem geçmiş donanımlar ve yaklaşımlar, hemde dx9'un genel bi API olmak için getirdiği katmanlar oyunların hantallaşmasına yol açtı hep ve bu hala var.

Millet de yıllardır söylenip duruyor. Ama geliştricilere, esas çoğunluğu oluşturan geliştricilere programcılara bak. Adamlar toplaşıyorlar bi stüdyo kuruyorlar. Paraları yoksa borç alıyorlar, melek yatırımcı veya PE/VC(bilmeyen için Private Equity / Venture Capital, özel sermaye,girişim sermayesi, ayrıcalıklı ortak vs. vs.) vs. bulmaya çalışıyorlar. sonra oyun üstünde çalışıyorlar, güzel oyun oluyor. 3 milyon satmak yeirne 1.8 milyonda kalıyor. borçlarını ödeyemiyorlar iflas ediyorlar...

Buna benzer hikayesi olan tonla ama tonla stüdyo var, bi araya gelip çalışmış şansı yaver gitmemiş , kafası çalışan iyi fikirleri olan ama olmayan tonla iş hikayesi var oyun sektöründe. O bildiğimiz büyük yapımcılar, dağıtıcılar/yayıncılar ve bunlara bağlı başarılı küçük stüdyolar buzdağının küçük kısmı. Aşağıda dünya kadar az para kazanan daha küçük oyun yapan, başarılı da olanlar var.

Yager Studio var mesela, Spec OPS The Line 'ı yapan. Oyunun grafikleri faln güzel yani. 1 milyon faln satmış oyun. Yager hala var, yeni güzel bi oyun yapıyor.

Big Huge Games(satın alındı) >> 38 Studio's var. Koar'ı yapan (kingdoms of amalur). 2 milyona yakın sattılar, iflas ettiler gitti.

Böyle iflas etmiş bi sürü stüdyo var, idare etmeye çalışanlar da var. Bunlarda hep aklı başında programcılar faln var.

Ama sorun şu: hiçbirinin bi yerlerde yaptırım gücü yok. Gidip GL'in müdürüne (Khronos konsorisyumuna) siz GL'i böle böle kuruyonuz da bi poka yaramıo diyemiolar. dedikleri zamanda anca developer / geliştrici forumlarında kalıyo kimse iplemio.

Nvidia'nin işmodelinde faln geliştriciler ile beraber çalışmak da var ama bolca sömürmek de var. O yüzden Nvidia'nın kendisi cillop gibi bi API çıkarayım vs. işlerine girmez girmiyor. Ben kod yazayım gel sen bunu kullan diyor. Physx'i ilk kakalamaya çalıştıklarında dünyanın parasını istediler mesela kullanmak isteyenden. Sonra 50 bin $'a indirdiler. Sonra sadece binary'sini kullanmak şartı ile (yani değişiklik yapmadan) beleşe izin var ama oyun şu kadar satarsa yükümlülük ödeyeceksin dediler, sömürme bunun gibi.


AMD babasının hayrına yapmıyo çıkar için yapıyo. Ama geliştricilere bu şekilde daha yakın olursa daha çok etkisinin olabileceğini daha çok geliştricinin kendi platformuna yönelik iyileştirme yapacağını faln da düşünmüş olabilirler. Geliştriciler de kendilerini dinleyen kulak veren gelin yapalım diyen bi firma olunca sıcak bakmışlar , ki yukarda bahsettiklerimden sonra kim bakmaz.

Yani özeti "oyun geliştirirken bi geliştrici neyi ister neyin kolaylık olmasını neyin esnek olmasını ister, varolan API'lerde sorun ne, konsollardaki API'lerde sorun ne, ne olsaydı daha çok işlerine yarardı" bunları dinlediler programcılar ile oyun geliştirenler ile birlikte masaya oturdular fikirlerine kulak verdiler. Bunu böyle yaptık, al kullan yada bas git demediler GL'in yaptığı gibi, Yada MS'nin yaptığı gibi araç çok ortam çok herkes burda ama performans yok demediler. Slogan varya hani "for the gamers, by the gamers" diye onun gibi bu da. "for developers by the developers" mottosunu edindiler. Bi nevi ortaklaşa çalışa çalışa bu hale getirdiler Mantle'ı. Daha tam bitemedi faln ama bi an evvel lanse etme gereği hissettiler.


Dx12'ye etkileri olduğu kadar GL'e nasıl etkileri olur bilemeyiz. Dx daha kapalı kutu çünkü. GL' için ise çok fazla dahil olan var. Daha önce dediğim gibi Intel mesela Mantle ile ilgilendiğini söylemişti, bunun için AMD ile temas faln kurmuştu. GL geliştirmesine çok daha fazla içli dışlı oalcaklar. Nvidia çıkıp mesela mesela kendi mimari anlayışına göre, ben burasını böyle istiyorum böyle daha iyi olur noktasına getirip diretirse ne olacak? Orta yolu nereye kadar indirecekler?

Bu programcılar geliştricilerin de tamamen objektif insanlar olduklarını hep mantık çerçevesinde hareket ettiklerini asla düşünmeyin. Burda bilgisiz fanlık taslayan veya bildiği şeyler ile trollük peşinde koşanlar nasıl varsa baba adam diyeceklerin içerisinde de fanatikler belli markaya kayıklar faln bolca var. Ciddi ciddi kavgaya, sen zaten Intel'in bilmemne yalayıcısına getirecek yerlere varabiliyor tartışmalar.

Bunu niye yazdım, şimdi GL için olan vendor specific extensionların (firmaya özel extensionların) olmamasını savunanlar, GL'in herkese ortak yaklaşmasını faln savunanlar 2010'da Nvidia kendi eklediği GL extensionları ballandıra ballandıra anlatırken, şunu şöyle böyle yapabiliyoruz bu extensionlarla derken, bu adamlar "uuuvv şampiyonumuz Nvidia, gölnümüzde 10 numara" modundaydılar mesela.

Bu tarz insanların da geliştirme süreçlerine büyük etkisi olabiliyor olumsuz anlamda. GL 5.0 için MAntle'daki bi yol yöntem gayet mantıklı gelirken sırf kendi düşünme şekilleri gerçekleşsin diye başka bi yol ortaya koyup bıdı bıdı etme durumları, işlerin sarpa sarması gibi durumlar da olabilir. Gl 5.0'ın geliştirme sürecine katılacak olan bikaç eleman bi nevi bunların olmayacağının garantisini veremye çalıştı (Johan ve Aras), ama eskiden GL Long Peaks için de böyle olmuştu. İçine ettiler kaldı sonra.

AMD hem PR için hem reklam için hemde kendi anlayışına uyuyor diye Mantle ile büyük bi katkı sunarken, biz de bunu olumlu olarak görürken, nesnel bi yaklaşım sunmadan bozmaya çalışacaklar da çıkabilir, onu anlatmak istedim.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @.45 ACP
R
11 yıl
Yarbay

Dışlanmışlar, işin doğrusunun nasıl yapılması gerektiğini bilen ama laf anlatamayanlar, yıllarını bu işlere vermiş olanlar, kısacası bütün çulsuzlar bi araya gelip yapmışlar. Johan Andersson gibi herifler çulsuz değildir ama BF iyi tutmuş bi şey. John'nun da bahsetmeye çalıştığım elemanlardan 10 yüz kat akıllı zeki ayrıcalıklı yapan bi özelliği yok. Zaten 2 tür programcı vardır, 1. si bi işe kuruma girer ne isteniosa onu yapar. 2. tip olanı bişeyin peşine düşer bişey bulur şansı yaver gider büyük balık olur, yatırım yaparlar ona vs.

Uzun ama okunursa anlatmak istedikleirmi doğru düzgün yazıyor arkadaş

http://www.quora.com/What-kind-of-jobs-do-software-engineers-who-earn-500k-per-year-do/answer/Amin-Ariana?srid=oiKp&share=1

Nvidia iplemiyor, Ms iplemiyor, GL/Khronos iplemiyor. Oyuncular zaten gittikçe daha zlak gittikçe bişeyden anlamayan , "paramı al, istersen çöp oyun/donanım ver" modundalar. Diskten yükleme yüzünden oluşan takılmayla GPU'nun yetmemesi yüzünden oluşan takılmayı ayırt etmekten uzaklar. Oyuncular tüketicilerin zaten belli bi örgütlenme baskı kurma becersi yok. Kickstarter faln gibi yerlerde takım toplayıp kendimiz API çıkaracaz, sonrada arkamıza yatırımcı alacaz diyecek programcı grubu yok, zaten kimse bakmaz ve kolay iş değil.

AMD bütün düşkünleri topladı bi deniyelim dedi, mayası iyi imiş tuttu yani. Bazı açılardan zor değil, arkanda seni destekleyecek donanım firması olunca sende özel API olayına girersin. Yıllardır nefret ettiğin şeyleri iyileştirmek için diğerleri ile bi araya gelirsin. Johan Andersson yerinde olmak isteyecek tonla ama tonla adam var Mantle'ın geliştrilmesinde katkıda bulunmak isteyecek.

Richard Huddy'nin röportajda söylediği 75 geliştrici Mantle üstünden oyun yapımında çalışıyormuş. Bu, Mantle ile toplam 10 tane oyun yapmaya çalışan toplam insan sayısı mı, yoksa 75 tane ayrı ayrı geliştrici ayrı proje mi tam ayıramadım. 75 farklı geliştrici ise 75 farklı proje demek olur. Büyük küçük bi sürü oyun demek, başarı kabul edilmeli. Ama "Mantle Titles" diye slaytlarda bahsettikleri 8-10 tane oyun üstüde toplam 75 geliştrici uğraşıyor anlamındaysa , kötü bi ifade şekli kullanmış.

http://i.imgur.com/he9xbG2.jpg

Dx12-OpenGL 5.0 için daha önce dediğim gibi, Mantle ile aynı düzlemde oldukları zaman Mantle için yepyeni bi ana bakış açısı icat etmeleri gerekmiyor. Bu da Mantle üstünde motor yazmak veya aktarma işini kolaylaştırır. Şimdiki Dx11-Mantle'ın alakasız hali gibi değil. Defalarca yazdığım gibi BF4 + Thief'de Mantle için herşey sıfırdan yazılmış değil. Önce Dx11 için olan şeyler yazılıyor, sonra Mantle'a çabucak transfer ediliyor, Mantle için özel olarak yeniden yazılmıyor.


< Resime gitmek için tıklayın >


Bu ss deki gibi şeyler dediğimle %100 örtüşüyor. Arkadaşın ayarları değiştirdiği, custom yaptığı şeyler Mantle altında çalışan Dx11 shaderları. Ayar kıstıkça yani basitleştirdikçe, dx11 shadlerlarının yapması gereken iş azaldıkça, yani toplam çalışan kod içerisinde daha fazla core-Mantle(sade Mantle ile ilgili olan) kodları çalıştıkça perf anlamında getirisi artıyor. Yada buna benzer bişeyler var.

Dx12 oyun için geliştrici de razı gelirse Mantle versiyonunu çıkartmak için gereken çaba , Dx11 oyunun Mantle versiyonunu çıkartmak için gereken çabadan çok daha az olmalı. Bu da AMD'Nin bastırdığı oyunlarda Mantle olma şansını, dolayısı ile görsellik/performans için avantaj sağlayabilme imkanı getiriyor.

Linux altında Mantle olabilirse eğer, Windows'un driver modelinin getirdiği kısıtlamalar olmadığında daha fazlası da olabilir belki. Bu sayede getirisi Win altına göre daha fazla olur. Ama AMD Win için doğru düzgün yetiştirememişken Linux için baya baya bi uzak gelecekte anca hazır edebilir gibime geliyor.

Gelecekte oyunu Mantle'da donanıma özel tasarımı iyi yaparlar ise daha fazla şey görebilirz diye düşünüyorum.





< Bu mesaj bu kişi tarafından değiştirildi Rubisco -- 15 Ağustos 2014; 20:02:28 >


Bu mesajda bahsedilenler: @.45 ACP
R
11 yıl
Yarbay

NVidia olsaydı, yazılımı nasıl destekleyeceği nereye kadar uzatabileceği konusunda sanırım AMD'ye göre daha bi ""yapabilirler adamların işi yazılım ile donanımı birleştirmek"" gibi bakılırdı. AMD olunca öyle bakılamıyor anlıyorum. AMD anca 2011 'den sonra farklı bi yolda ilerlemeye başlayabildi. Bu hem yeni yönetim ile ilgili hemde çok kötü sıkıştığı için böyle.

Daha önce Pro 3D için mesela Fire serisi için tamam yine çaba vs. gösteriyordu da alsa 2011 sonrasındaki kadar çabalamadılar. Gidip adamlar ile ortak çalışalım sizin istediğiniz nedir ona göre yazılımı hızlandırmaya çalışalım, hangi özelliklerin ön planda olmasını istiyorsunuz vs. noktasında daha çok çaba göstermeye başladılar. Tamam Nvidia'dan pazar payını alacak ölçüde değil ama AMD'nin yıllar önceki hali gibi de değil. Az masraf ile daha çok şey elde edebilmenin peşindeler. Geliştriciye al sana donanım diyince kimsenin gelmediğini gördüler, ders çıkarmış olabilirler. Veya yeni yönetim bunun yanlış olduğunu da düşünüp az masraf ile yapılabileceklerin peşine düşülmesini istemiştir.

AMD'nin yazılım ile yaptığı 2011'den beri bi dünya şey var, daha önceki zamanlar ile kıyas kabul etmez. Ama yılların yükünü açığını kapatmaya yetmiyor. Bi anda AMD'yi aynı zmanda her koşul için iyi bi yazılım sağlayan firma olarak da öne çıkarmıyor.

1 aydan fazla oluyor CodeXL diye analiz zımbırtısı çıkartılar. Ama GUI'si arabirimi yok idi :P :P Tamam bunu kullanacak birinin illa GUI'ye ihityacı yoktur ama hani başkası yapsa bi GUI de yapardı gibi geliyor :)

O açıdan, AMD'nin kendi başına bu kadar işi yapamayacağını düşünmek yanılgı değil, haklılık payı var.

NVidia olsaydı, Nvidia'nın daha çok yazılım firması olarak da görülebilmesinden dolayı bi yere kadar kendileri kendi kaynakları yapmıştır diyebilirdik. AMD de yapar sade oyun ile alakalı olduğu için. Ama hangi firma olursa olsun önemli olan bunu kullanacak olanların bakışlarını katmak dahil etmek.

Biz böyle bi yolu uygun gördük alın kullanın deemek değil, yıllarca hep dayatıldığı gibi (GL veya Dx veya konsol API'leri veya donanımları, geliştirme ortamları vs.). Önemli olan donanımı ve yazılım altyapısını bunun üstünde geliştirme yapacak birilerine sunuyorsanız ona olabildiği kadar esneklik de tanımanız. Nvidia'nın GameWorks'ü gibi, hatta bunu daha da ileri götürüp Nvidia her poku püsü hazır etsin versin programcılara geliştricilere, adamlar da 2 günde oyunu hazır etsin gibi bakış darkafalılık olur (böyle bakanlar var çünkü).

AMD hem darlıktan hemde rekabetçi olmak için sanırım oyun yapımcılarından da destek almış. Adamların nerede nasıl esnek olmayı istedikleri, nerede hangi işin otomatik yapılabilmeyi istedikleri, nerede GPU'da kontrolü kendilerine verilmesini isterken aynı zmanda güvenlik için endişe etmemelerini istediklerini faln oturup konuşmuşlar (GPU'nun mesela x86 bellek alanını adresleyip, kernel seviyesinde transfer yaparken işletim sistemi ile çakışmasını engelleyecek güvenlik önlemini otomatikleştirip, bunu programcının geliştirme zahmetinden kurtarması son bahsettiğim laf).

Bana göre(herkese göre aslında) yıllar önce böyle yapılmaya başlanmalıydı. Taa 3dfx zmanında burda böyle bi sorun var denildiğinde Glide'a toz konduramayanlar burnu havadalar "gidin kodunuzu kontrol edin bizde sorun olamaz" modundaydılar. Mantle içn bu böyle değil. Yapacağın ürünü birilerine verip onlarında bişey üretmesini bekliyorsan olabildiğince gerekenlere isteklere de kulak vermen lazım. Mantle için böyle oldu. OpenGL 5.0 için de böyle olacak gibi. GL 5.0'in dahası da olabilir şimdilik bilemiyoruz. Birileri araya bişey sokuşturmak içn gayret etmesin arıza çıkartmasın ilerde GL farklı bi konuma gelebilir.

-------------------

Mantle şimdilik öyle gözüküyor veya öyle pazarlanıyor, vede öyle bi imaj bırakıyor olsa da amaç görece zayıf CPU'da bile daha iyi sonuç almak değil. Bu sadece bi yan etki. Multi-threaded renderın, azalan overheadin, defalarca kernel-user space arasında git gel olmamasının, aktarım mekanizmalarının defalarca validate edilmemesinin paketlenip paketlenip yollanma gereksiniminin olmamasının vs. vs. sonucu.

PR kısmı için, "Dx11 altında bi Uber Shader kurmanın nasıl anlamsız olduğundan ama Mantle'da bunun tam tersine bi sürü shader işini birden yapmaya imkan vereceğini" anlatmak anlamsız olur.

Daha performanslı veya daha kaliteli olacak dediğin zaman milletin karnı tok, bakmaz inanmaz he he der.

"Düşük işlemci ile GPU'nun tam limitlenmediği durumda perf artışı elde ediliyor" u gösterdiğin zman herkesin aklını bi anlık çelersin.

Mantle için fazla oyun göremediğimiz için, Mantle'a özel olarak motor+shader'ı yazmak için vakit ayıramadıklarından olası farklılıkları getirileri göremiyoruz. Sırf farklılık adına kazandıkları 3-5ms zamanı ilave parçacık efekti oluşturmak için kullanıp Dx11 versiyonuna göre farklılık yaratsalar yine PR açısından fark olur, Physx'de Nvidia'nın yaptığı gibi.

Ama çok daha fazlası var. Mantle için de böyle Dx12 için de böyle, olursa su koyuvermezler GL 5.0 için de böyle olacak. Render motoru yazarken eskinin yüklerinden, fillrate limitli bakış açılarından uzaklaşma sağlandıkça hepsi bir bir açığa çıkacak. Aynı paradigma değişimi konsola da yarar. Ama PC'de konsolvari API olacağından ve ortalamada donanım da daha güçlü olacağından getirisi daha fazla olacaktır. Bu son yazdıklarımda olasılıklı konuşmuyorum. Dx12/Mantle/GL 5.0'a özel olarak tasarladıkları zaman, Dx11'i veya öncesini dikkate almadıkları zaman, geçmişin yükünü sırtlamadıkları zaman ilerleme sağlanacak. PS4 ana konusunda defalarca GPGPU ve shader için aynı örneği verip durdum, material shading'i realtime farklı şekillerde yapma imkanı sağlıyor olacak. Çamurlu kaportayı işlemek için mesela prosedüral texturing ile tex. yüklemeden daha hızlı bi şekilde çamurdan geçince kirli kaporta gösterecek render imkanı verecek.

Bunların hepsi GPU'yu daha esnek kullanabilmek ile ilgili. Düşük CPU kısmı kabul, rekabet ve PR için önemli, Intel ile denk gözükmek için önemli. Ama bu bi yan etki bunu da unutmamak lazım.

Hani alakasız ama, AMD'de x87 performansını yazılım ile arttırmak mümkün FX CPU'lar için. PS Check ile farklı çekirdeklere farklı frekans / turbo limiti atayıp farklı yük durumlarında single thread veya 1-2 çekirdek kullanımını bi miktar iyileşmiş gibi göstermek de mümkün. Ama render yapısının doğru düzgün işletilmesi bambaşka bi olay.

Intel'in Dx12 için detayları var, merak eden bakınabilir

https://software.intel.com/en-us/blogs/2014/07/17/direct3d-overview-part-1-closer-to-the-metal
https://software.intel.com/en-us/blogs/2014/07/23/direct3d-12-overview-part-2-pipeline-state-object
https://software.intel.com/en-us/blogs/2014/07/30/direct3d-12-overview-part-3-resource-binding
https://software.intel.com/en-us/blogs/2014/08/07/direct3d-12-overview-part-4-heaps-and-tables
https://software.intel.com/en-us/blogs/2014/08/14/direct3d-12-overview-part-5-bundles


Hani şu Dx12 daha az güç çekiyor haberi varya Intel'in demosunu yaptığı(DH de haberini yapmıştı) :

https://software.intel.com/en-us/blogs/2014/08/11/siggraph-2014-directx-12-on-intel
http://blogs.msdn.com/b/directx/archive/2014/08/13/directx-12-high-performance-and-high-power-savings.aspx


Andrew Lauritzen, Intel geliştricisi, başından beri inceden inceden laf sokup duruyordu MAntle'a beyond3d forumlarında. Görüldüğü gibi tükürdüğünü yalamak zorunda kaldı mecburen. Hem Mantle konusunda, hem GL konusunda.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.