|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Registered User
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
|
[opengl] Tecnologia o ideologia.
E' appena uscito Rage della id software e senza entrare nel merito del gameplay o della famosa/famigerata tecnologia megatexture che lo anima c'è una questione abbastanza curiosa.
Ho comprato il gioco su pc e dopo crash, schermate blu e tre diversi aggiornamenti di driver amd faccio finalmente partire il gioco ed è una tragedia su una macchina con 4gb di ram, processore dual core e una ati di fascia media. Ho anche la versione 360 che mi ha prestato un amico e non c'è proprio paragone. Il gioco su 360 va a 60fps e la grafica è tra le migliori che ho visto su console. A quanto pare buona parte dei problemi su pc son dovuti allo stato pietoso dei driver opengl della ati. Su questo forum non si fa altro che sentire utenti che si lamentano del fatto che nessuno usa opengl, che nessuno ha a cuore gli standard aperti e la portabilità. Maledetto flash, maledette directx, maledetto windows. Qui abbiamo un lampante caso di decisioni disastrose prese solo su base ideologica e non seguendo la ragioni tecniche. Id sapeva benissimo lo stato pietoso in cui versano i driver opengl ati e pur avendo un bel renderer dx9 su xbox 360 ha preferito usare opengl su pc andando incontro alla tragedia. All'università alcuni dei miei docenti hanno fatto passare un messaggio sbagliato, sfornando legioni di informatici che prenderanno decisioni folli basandosi su ragioni ideologiche. A lavoro ugualmente molti disastri son stati causati da persone che volevano utilizzare tecnologie inadatte allo scopo solo perchè le tecnologie che funzionavano erano prodotte da società "malvagie" Che ne pensate? Ultima modifica di javaboy : 08-10-2011 alle 17:37. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2006
Città: Roma
Messaggi: 2187
|
penso che la id sforna giochi opengl da una vita sempre con ottime prestazioni e qualità grafica al top della generazione , semplicemente in questo giro non c''e stato lavoro lato driver ( ed è colpa di id che nn si è preoccupata di fare un beta test su più macchine per permettere un fix prelaunch ) . Sono sicuro che tempo 1-2 mesi e con i nuovi driver girerà perfettamente .Le directx essendo usate in tutti i giochi ovviamente danno molte meno grane rispetto ad opengl lato driver
__________________
SCAMBI EFFETTUATI CON: diventano troppi...nn entrano piu!!! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Uso OpenGL su windows e me lo posso permettere solo perchè faccio "giochini", lo stato dei driver è pietoso.
In alcune situazioni il PC scatta più di un iPod 4g. Io credo che MS dovrebbe prendere in mano il controllo e offrire una OpenGL by Microsoft che si appoggia sulla stessa interfaccia HAL che usa DX in modo da rendere le due sostanzialmente due interfacce intercambiabili allo strato driver. Potrebbe farlo tranquillamente ed è quello che fa ad esempio Apple: nei suoi OS OpenGL è una libreria di sistema che si aspetta driver che facciano determinate cose, non è parte dei driver. Probabilmente se avessero fatto quello che era tanto temuto in Longhorn, cioè se avessero reso OpenGL un wrapper di DirectX, la situazione sarebbe molto migliore di ora ![]() Ironicamente nel tanto libero e avanzato linux la situazione è la stessa pietosa di Win, con OpenGL fornita a discrezione dal driver - e se esistessero giochi soffrirebbero degli stessi problemi, se non peggiori. Io personalmente scelgo sempre "tecnologia", perchè non sono interessato alle tech in sè, quelle sono strumenti. Scegliere una tech per ideologia è come usarla perchè il tuo scopo è usarla, che è quasi perverso |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Carmack ha usato sempre le OpenGL, per cui nulla di nuovo.
Non so se la Id è rimasta l'unica a continuare a rilasciare roba tagliata male con queste librerie, ma di certo ormai si contano sulle dita di una mano monca. Su PC da anni le DirectX dominano incontrastate.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Penso che i responsabili QA di bethesda andrebbero presi a calci in culo, perche' al di la' delle difficolta' tecniche della piattaforma PC, un problema del genere posso capirlo da un produttore indie, non da una azienda che spende milionate di euro per produrre un gioco...
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
i agree, ma tu sai cosa si sarebbe abbattuto su Seattle vero?
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
il problema è che non lo faranno mai proprio perchè vogliono uccidere opengl del resto directx è nata proprio per creare un ulteriore lock all'interoperabilità il problema è che ati, a parte driver per windows con supporto directx, non sa fare nient'altro l'opengl di ati su windows fa schifo, su linux fanno schifo proprio i driver, per altri OS ati è desaparecida |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Non è certamente colpa di opengl in se. Il problema sono i drivers che non sono curati a dovere come lo sono quelli per le DX. Ci sono problemi anche all'uscita di giochi DX, figuriamoci di giochi OpenGL.
La causa non sono i pochi giochi che escono che usano OpenGL (anzi, ce ne sono un bel po' che utilizzano opengl usciti di recente) , ma l'elevatezza tecnica di questi giochi. I giochi OpenGL sono per lo più giochi indie che non mettono alle strette le implementazioni di AMD o Nvidia e quindi senza bug reports la qualità non viene migliorata. Poi esce una bomba come RAGE, che usa tecniche di rendering che nessuno ha mai usato prima neanche su DX (come l'uso di texture streaming con texture giganti al posto del usato ovunque texture tiling) ed escono fuori tutte le gabole delle varie implementazioni ... ovviamente devono essere corrette e il gioco inizierà ad andare come si deve e si spera che questo aiuterà a migliorare l'implementazione anche per altri giochi. Ho sentito dire addirittura che alcune funzioni OpenGL dell'implementazione AMD , specificate in estensioni dichiarate come supportate dal driver, erano completamente non funzionanti, ossia c'era uno stub di funzione , ma che non faceva lavoro ... (una cosa scandalosa). Da un punto di vista di pura funzionalità OpenGL 4.2 non ha niente da invidiare alle DX11. Anzi. Come al solito è un peccato che gli sviluppatori debbano farsi doppio lavoro se vogliono supportare più piattaforme senza incappare nei drivers opengl per windows, ma il fatto comunque che oggi lo sviluppo principale dei giochi sta sulle console dove le librerie proprietarie sono all'ordine del giorno fs si che alla fine tutti i motori siano creati in maniera tale che sia facile renderli compatibili con questa o l'altra libreria proprietaria riscrivendo solo piccole parti dello stesso ... quindi ... (la necessità aguzza l'ingegno dicono)
__________________
GPU Compiler Engineer Ultima modifica di AnonimoVeneziano : 10-10-2011 alle 16:46. |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
Inoltre apprezzo molto su Linux il fatto che con ATI posso utilizzare la console ad alta risoluzione col driver opensource , avere il minimo di 3D sufficiente per il compositing del desktop e ci gira anche Starcraft 2 con Wine, tutto questo per me vale molto più di tutto quello che negli anni mi ha dato il blob nvidia o ati che sia. Certo , tra i due blob meglio quello nvidia, se non altro per il supporto (perchè di magagne ne ha anche lui).
__________________
GPU Compiler Engineer Ultima modifica di AnonimoVeneziano : 10-10-2011 alle 16:54. |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
La cosa ironica in quel caso, è che avevo scritto uno shader Dx9.b e uno Dx9.c... ma la scheda video invece di dichiararsi b ed eseguire lo shader "semplice", "mentiva" dicendo di essere c, dunque fallendo miseramente. Accade anche con DirectX prima della 10, come si vede in questo blog qua, e il colpevole è sempre ATI. Per fortuna MS ha iniziato un modello "strict" con DX10, peccato che DX10 sia completamente inutilizzata tra smartphone OpenGL e console DX9. |
|
|
|
|
|
|
#12 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
A partire da Vista Microsoft offre una wrapper OpenGL 1.4 (se non erro) sulle DirectX 10+. Quindi anche se non viene installato nessun miniport OpenGL, come minimo le OpenGL sono sempre a disposizione, seppur limitate a quella versione. Poi, al solito, se i produttori installano il miniport, avrei a disposizione le OpenGL aggiornate (e senza passare dalle DirectX). Quote:
Le DirectX sono nate per offrire strumenti più comodi agli sviluppatori. Ed è proprio per questo motivo che alla fine sono diventate le più usate: perché gli sviluppatori hanno SCELTO LIBERAMENTE gli strumenti che per loro erano più produttivi. Al solito, tu vivi in un mondo parallelo e confondi la realtà coi tuoi desideri di fanboy open*.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#13 | |||
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
Quote:
Quote:
Che poi lo sviluppo impegnato da parte di microsoft le abbia trasformate in ottime librerie che fanno bene il loro dovere è tutto un altro paio di maniche, ma all'epoca quando la microsoft ha tirato fuori dal cilindro le directx lo ha fatto solo per non vedersi sfilare dalle mani un redditizio mercato.
__________________
GPU Compiler Engineer |
|||
|
|
|
|
|
#14 | ||
|
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
se wine emulasse fino a windows 7 perfettamente e se non esistessero i brevetti, allora sarebbe come dici tu
Quote:
del resto il motto "embrace, extend, extinguish" non è stato creato per caso Quote:
però se mi vieni a dire che directx non è nato per distruggere opengl, dici cose fuori dal mondo....secondo te ms avrebbe creato directx per beneficenza? p.s. mi meraviglio di leggere che proprio il ( più volte ) citato Carmack, critico feroce di opengl, continui a far perno proprio su opengl....questo tizio o è masochista o ne sa più di noi ( suppongo la seconda ) Ultima modifica di pabloski : 10-10-2011 alle 19:17. |
||
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Non è facile passare da un qualcosa che il tuo studio ha usato per un decennio a un altra tecnologia facilmente (se non altro per tutti i tools che hai accumulato nel tempo). Sinceramente credo che se dovesse scegliere ora che libreria usare per il suo prossimo motore sceglierebbe Direct3D su Windows. Se non altro per il casino dei drivers ... comunque i problemi di Rage e le critiche che ha ricevuto non sono solo causate dai drivers, ma anche dal fatto che il gioco è stato programmato per le console e portato PARO PARO su PC e alcune texture hanno una qualità scanadalosa (nonostante i 25 GB di gioco) e sappiamo quanto i gamers su PC siano sensibili alla questione "porting da console" e se fatto addirittura da niente popo di meno che carmack in persona .... gli animi si scaldano.
__________________
GPU Compiler Engineer |
|
|
|
|
|
#16 | |||||||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Quote:
Tolti di mezzo eventuali brevetti, nessuno t'impedisce di implementare qualunque funzionalità delle DirectX (anche le 11). Quote:
Quote:
Nemmeno la "embrace" sarebbe applicabile. Quote:
Sa bene, avendo anche commercializzato compilatori e IDE da tantissimi anni, quali sono le esigenze degli sviluppatori. Dagli sviluppatori arriva il software. Dal software la forza di una piattaforma, come Windows. E il cerchio si chiude. Tant'è che, come dicevo, nessuno ha obbligato gli sviluppatori ad abbracciare le DirectX e abbandonare le OpenGL. Prima hanno scelto le Glide, poi le OpenGL, e infine le DirectX. Senza che nessuno puntasse loro una pistola alla testa. Chiediti il perché... Quote:
Negli ultimi anni ha espresso APPREZZAMENTO per le DirectX, riconoscendo che sono delle API (librerie) molto ben fatte e superiori alle OpenGL per quello che offrono agli sviluppatori. Ma da qui a parlare di critica feroce alle OpenGL mi sembra che tu stia facendo il passo ben più lungo della gamba. Dovresti aver capito da un pezzo che elogiare qualcosa non implica necessariamente schierarsi dalla parte opposta. Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||||||
|
|
|
|
|
#17 | ||
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
DirectSound è deprecated da Windows Vista
DirectPlay (oddio, si chiamava così??) è deprecated da prima della venuta del signore. DirectInput vedi DirectPlay Direct compute vedi OpenCL che è perfettamente integrato con OpenGL (OpenCL è sempre khronos come OpenGL) Quote:
Comunque credo che praticamente nessuno abbia mai usato o se ne faccia qualcosa di queste 1.4 accelerate con vista dato che non mi viene in mente neanche una casa produttrice di schede video che non rilasci ICD opengl insieme ai drivers Direct3D. Quote:
All'epoca esistevano due modi per implementare i drivers OpenGL su Windows NT (all'inizio Windows 95 non supportava drivers OpenGL): - Un interfaccia chiamata MCD (Mini-Client Driver) che si appoggiava all'implementazione OpenGL che microsoft distribuiva insieme al SO (quella che ho menzionato sopra a riguardo del fatto che Vista ha supporto a Opengl 1.4 via d3d) e per la quale era particolarmente facile scrivere i drivers - Un interfaccia chiamata ICD (Installable-Client Driver, quella che ancora oggi persiste) che invece era più complessa e prevedeva che il driver sostituisse completamente l'implementazione opengl fornita dal sistema operativo con una sviluppata da parte dell IHV. Microsoft consigliava l'utilizzo dell'interfaccia MCD per lo sviluppo dei drivers OpenGL perchè così era possibile svilupparli più velocemente e fu quello che praticamente la totalità dei vendor fece (usare MCD). Nel 97 poi la Microsoft decise con molto poco preavviso di deprecare e rimuovere l'interfaccia MCD (che non vide mai la luce in Windows 95, ma venne usata solo su NT) mantenendo solo l'interfaccia ICD. Ovviamente tutti i drivers dovevano essere riscritti nella (più complicata) versione ICD e questo diede un certo vantaggio iniziale a Direct3D che gli permise di superare le fasi più disperate del suo sviluppo (ossia quelle in cui uno per disegnare qualcosa doveva usare gli "Execute buffers" ... brr) . Era proprio in questo periodo che usci Quake e le case produttrici di HW furono costretti a tirare fuori i famosi MiniGL drivers (i primi drivers ICD OpenGL che supportavano solo un subset della API per Windows) per far girare il famosissimo gioco ID Software (di fine '96) in hardware ... un tempismo perfetto da parte di MS Piano piano microsoft capitalizzando sul vantaggio iniziale e continuando a spingere arrivò a fare di Directx prima una API accettabile, poi discreta, poi buona e infine ottima. A questo punto era la MS il centro dell'attenzione e non più OpenGL e per una API che è sviluppata attraverso l'interesse dell'industry su di essa ovviamente è stato un disastro e parte della causa di tutto quello che è venuto dopo. Oggi comunque OpenGL ha ripreso molto del terreno perso anche perchè c'è nuovo interesse nei confronti dell'API, vuoi per via di tutti questi dispositivi mobili (telefoni , tablet ... etc) che adesso vanno tanto di moda e che quasi tutti supportano solo OpenGL (e sono ottimi per i "giochini" con chip grafici sono potentissimi per la risoluzione che devono muovere) o per nostalgia o per il problema che Windows XP è ancora il SO più diffuso e Directx 10 e 11 sono Vista+ only... fatto sta che in poco tempo OpenGL ha colmato il gap di funzionalità e addirittura ha superato Direct3D con alcune feature integrate nell'ultimo standard 4.2 (che possono dare buoni boost alle performance , anche se probabilmente non sono funzionalità che la maggior parte degli sviluppatori faranno a botte per usare). Ora manca solo il DSA che è una vita che gli sviluppatori chiedono ai capoccia di Opengl di integrare nello standard ma nisba ...
__________________
GPU Compiler Engineer |
||
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quote:
Tra niente e quella probabilmente sarebbe stato molto meglio niente. E' stata solo una giustificazione per certe compagnie tipo Intel per non includere OpenGL nei drivers, con il risultato di rendere giochi anche banali ingiocabili. Purtroppo che MS abbia lobbizzato pesantemente OpenGL non c'è alcun dubbio: a parte in quel periodo in cui Khronos era pesantemente impegnata a darsi la zappa sui piedi, GL e DX sono sempre state alla pari come features. Si, DX ha migliore documentazione, e si, DX ha un'API più moderna, ma da sviluppatore esperto che miro a pubblicare un gioco su più piattaforme non me ne può fregare di meno. E' sicuramente più facile impararsi OpenGL che impararsi OpenGL E ANCHE DX, tu che dici ![]() Spero proprio che per Windows 8 faranno qualche passo per migliorare OpenGL, quantomeno per rendere più facili i porting da iPad e soci. Ma chissà perchè, non ci credo per niente PS: MS non se lo sarebbe mai aspettato, ma nel giro di 5 anni DX è diventata una piattaforma di nicchia. Strano ma vero, ed è anche colpa di MS che con XNA e soci hanno allontanato moltissimi dalla conoscenza dell'API. Ultima modifica di Tommo : 11-10-2011 alle 00:29. |
|
|
|
|
|
|
#19 | ||||||||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
In generale Windows offre delle librerie in un "ecosistema" per tutto quello che serve. Quote:
Quote:
Comunque è una buona cosa che lo facciano praticamente tutti. Quote:
Un progetto così ambizioso non si poteva portare avanti in così poco tempo. Peraltro all'epoca c'erano pure le GLIDE che facevano le scarpe a tutti. Quote:
Sul resto concordo. Quote:
Quote:
Quote:
Perché nemmeno le console si programmano con le OpenGL. Quote:
![]() Quote:
E' legge di natura.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||||
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
DOPPIO.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:16.






















