MadMax of Nine
24-09-2016, 16:27
Da sempre è stato un grosso problema unire il gioco a OSX, di titoli ce ne sono pochi e/o sviluppati male, una soluzione usata spesso è di installare Windows con Bootcamp, ma arriviamo sempre al limite fisico dell'hardware Apple, che non è sempre pensato per il gaming dove anche nel migliore dei casi ci porta anche dei grossi compromessi di varia natura.
Con questa discussione/guida spero di poter dare qualche info in più a chi pensa di costruirsi una eGPU, visto che è un esperimento costoso e il risultato potrebbe non essere quello sperato, i forum alla fine servono anche a questo, se qualcuno vorrà chiedermi maggiori informazioni do la mia disponibilità :)
eGPU:
*Premessa: tratterò solo il tema Gaming e sotto Windows, le eGPU possono anche venire usate su OSX per accelerare applicazioni, ambito che non troverete in questa discussione.
Da qualche anno abbiamo la possibilità di usare le eGPU, schede video da desktop collegate via box di espansione PCIe con interconnessione Thunderbolt, uno dei principali motivi della ancora scarsa diffusione è il prezzo, poi l'effettiva usabilità della soluzione e della quasi totale mancanza di supporto ufficiale.
Detto questo, dopo aver fatto varie ricerche, ad oggi, un rimedio a questo problema, con un buon rapporto prezzo/prestazioni è quello di usare un AKiTio Thunder 2, una GTX 1060 mini, un alimentatore esterno Dell DA-2 e dei cavi opportunamente modificati.
La scelta di questi componenti è stata fatta per avere delle prestazioni in grado di far girare giochi moderni in una soluzione che non fosse troppo voluminosa e dignitosamente presentabile, visto che non tutti possono permettersi di tenere sulla scrivania strani oggetti con ventole, fili che spuntano o lucine assortite scatenando l'ira della propria compagna :D
http://s4.postimg.org/mfisx9wot/IMG_1002.jpg (http://postimg.org/image/dkhymr7w9/)[/url]
Con questi componenti, la 1060 viene inserita interamente dentro il box e l'alimentatore Dell andrà ad alimentare sia la scheda video che la GPU con un risultato pulito e ordinato, attualmente le uniche schede 1060 compatibili sono le EVGA e le Zotac, entrambe nelle versioni sia da 3GB che da 6GB con design "mini".
Al lato pratico bisogna fare delle considerazioni molto importanti, solo i sistemi sprovvisti di scheda grafica dedicata possono usare il monitor interno, e in ogni caso solo in Windows, tutti gli altri necessitano di un monitor esterno, solo questo potrebbe far desistere molte persone, giustamente.
Un'altro punto importante sono le performance, la scheda dell'AKiTio ha solo 4 linee 2.0 con una banda passante totale di 2GB/s, che comporta un calo di prestazioni che puo' variare da un 5 ad anche un 50% in certi casi, con una media di circa un 15%, dato puo' variare in base al sistema utilizzato, con una bella sorpresa per il vecchio Macbook Air vs iMac 5K.
Per i test effettuati ho usato i seguenti sistemi:
iMac 5K (Late 2014): i7-4790K 4.0GHz / turbo 4.4GHz - 24GB Ram - 512GB SSD - M295X - Windows 10 Home
MacBook Air 13” (Mid 2012) - i5-3427U 1.8GHz / turbo 2.8GHz - 4GB Ram - 128GB SSD - Windows 10 Home
Pc su scheda madre Asus Z170i - i3 6100 3.7GHz - 16GB DDR4 3200MHz - EVGA 1060 SC 3GB - SSD 128GB Crucial M4 SATA - Alimentatore Seasonic Platinum 520W - Windows 10 Home
* Driver Nvidia 372.70 e AMD Crimson 15.11
** I giochi sono stati caricati su un crucial M4 256GB SATA con adattatore USB 3.0 collegato nei vari sistemi al momento del test
http://s22.postimg.org/9kac8v82p/1080.png (http://postimage.org/index.php?lang=spanish)
In Full HD la differenze tra GPU esterna e interna si sente, il bus ridotto incide molto ma il risultato finale del MacBook Air non è niente male se consideriamo che oltre ad avere più di 4 anni è anche in configurazione minima.
http://s18.postimg.org/3x738h5xl/1440.png (http://postimage.org/index.php?lang=spanish)
A 1440p invece è abbastanza bilanciato, riducendo i dettagli è sicuramente una risoluzione ancora usabile.
http://s15.postimg.org/88ozha48b/2160.png (http://postimage.org/index.php?lang=spanish)
Anche sui 4K il risultato finale è inaspettato, in questo caso il carico sulla GPU è più alto che per altri componenti, spostando il collo di bottiglia più verso la GPU, Ashes of Singularity in DX12 richiede molte risorse tra CPU e Ram, il MacBook Air con i suoi 4GB non riusciva a caricare il gioco a 4K e crashava per scarsa Ram, pessimo risultato anche l’iMac.
Visti i grafici, la soluzione eGPU con la 1060 può andare molto bene su Mac mini (che ha comunque un monitor esterno), su i vari MacBook Air o in certi casi sui MacBook Pro o vecchi iMac, ma su gli ultimi iMac retina (e scheda video superiore) non porta grossi benefici, almeno non da giustificare tutti i compromessi legati a questo tipo di soluzione, i risultati sono sicuramente migliori con una 1070 o una 1080 ma avrebbe comportato una modifica pesante del Box lasciando la scheda in vista o, come hanno fatto in molti, mettendo in un case da pc il controller dell'AKiTio con tutte le modifiche e i componenti aggiuntivi che comporta, oppure acquistando altri prodotti già modificati come i Bizon Box, aumentando così anche il prezzo finale, prezzo che si avvicina ad un Pc dedicato, soluzione che nel mio caso ho adottato come streaming server sfruttando Nvidia Gamestream, Nvidia Shield TV Box e Moonlight, ottenendo così un sistema GaaS, che mi consente anche di sfruttare qualsiasi dispositivo a disposizione dotato di connessione al server sia via LAN che ad internet, dall'iMac all'iPhone o una TV 4K.
GaaS, Gaming as a Service: cos'è, come funziona e cosa serve per costruire un sistema di questo tipo
Ormai siamo nell'era del Cloud computing, dove tutto può essere delocalizzato, visto che ormai le tecnologie lo consentono, il Gaming non fa differenza, con una buona connessione ad internet l'esperienza è paragonabile ai sistemi locali.
Ci sono servizi in abbonamento come GeForce Now che permettono di giocare agli ultimi titoli da un TV box in Full HD con impostazioni al massimo a 60fps stabili, il gioco gira in un datacenter e noi non facciamo altro che ricevere il video in streaming e, connessione permettendo, con latenze davvero basse.
http://s15.postimg.org/pwlzu1h8b/shield_android_tv_still_v2.jpg (http://postimage.org/index.php?lang=spanish)
Ora, con GeForce experience, possiamo trasformare un qualsiasi Pc in un server di questo tipo e collegarci da il TV box di NVIDIA o dal un tablet con NVIDIA tegra, basta avere una scheda GeForce di recente generazione nel sistema server, con lo Shield TV box di Nvidia non ci sono latenze è esattamente come giocare in locale.
Nei casi sopra non è (magari solo per ora ?) contemplato lo streaming su Mac o altri Pc ma c'è un software free chiamato Moonlight che sfrutta questa tecnologia e permette di estendere i client a praticamente ogni periferica, Mac, Pc, telefono, tablet o sistemi tipo Raspberry, da 720p a 4K a 60fps, il tutto con latenze molto basse, tant'è che non si nota la differenza, alcune volte c'è un po' di input lag sul mouse ma riavviando l'applicazione passa, poi essendo ancora in Alpha sarà ulteriormente migliorato.
Un servizio simile c'è anche con Steam, ma latenze, qualità e input lag non mi hanno dato una buona impressione, probabilmente è ancora presto.
Questa è la schermata iniziale di Moonlight, è un app per Chrome, ci sono anche le versioni per iOS, Android e Raspberry Pi
http://s16.postimg.org/nycr9y939/Moonlight_1.png (http://postimage.org/index.php?lang=spanish)
I giochi sono presi da quelli supportati in GeForce Experience, Steam e altro (che non ho provato)
http://s10.postimg.org/wfnha21g9/Moonlight_2.png (http://postimage.org/index.php?lang=spanish)
Si può usare Full Screen o Finestra, in entrambi i casi i tempi di risposta sono molto buoni, anche se in full screen a 5K non è supportato molto bene e potrebbe dare problemi di imput lag, questo è Doom 4K con dettagli al massimo (su GTX 1080)
http://s18.postimg.org/971kx4yex/Doom_4_K.jpg (http://postimage.org/index.php?lang=spanish)
Per un sistema di questo tipo non ci sono grosse necessità se non quelle del gioco da far girare, lo streaming non ha un impatto sulle prestazioni (minimo, ora sto usando un i3 6100 e non da problemi), attenzione però a due piccoli accorgimenti fondamentali, se creato come server e senza un monitor collegato serve un emulatore di monitor HDMI che supporti la risoluzione desiderata, altrimenti Geforce Experience non potrà abilitare la condivisione e attivare i servizi server, poi un mouse da tenere collegato, altrimenti mancherà il puntatore a video nei giochi tipo WoW o Diablo, ovviamente per accederci consiglio VNC, serve sempre fare della manutenzione, aggiornare i drivers o altro.
Ad oggi ho trovato solo un modello di emulatore che supporti i 4K a 60Hz, tutti gli altri arrivano massimo a 30, meno male che costa poco e si trova su Amazon dove arriva in 2-3 giorni dall’ordine (http://www.fit-pc.com/web/products/fit-headless/ (http://postimage.org/index.php?lang=spanish))
http://s18.postimg.org/vgt8lubdl/hdmi_4k.jpg (http://postimg.org/image/94vfsgc9h/)
Usare Nvidia Gamestream come desktop remoto
Dopo aver provato le varie modalità, quella migliore è senza dubbio usare il desktop remoto e far partire giochi e applicativi in modo tradizionale, principalmente per questi vantaggi:
0 imput lag, sull'iMac 5K, essendo il server limitato a 4K in full screen in certi casi si creava un problama di imput lag, con remote desktop in full screen il problema sparisce e l'esperienza è in tutto e per tutto uguale ad un sistema nativo, con tutti i vantaggi di non dover usare bootcamp o sprecare spazio sul disco locale
Avere un controllo maggiore del sistema per le varie operazioni di manutenzione (normalmente uso anche VNC, ma la reattività è molto bassa e non supporta bene il 3D)
GeForce Experience in streaming "ottimizzava" sempre le impostazioni creando problemi soprattutto quando si usavano più dispositivi per lo streaming, in questo modo rimangono quelle impostate a mano.
Permette di usare risoluzioni di 4K anche su dispositivi 1080p, così da mantenere sempre le stesse impostazioni su più periferiche (Tablet, Smartphone etc.) e il risultato è di fatto una sorta di SSAA (Supersampling Anti-aliasing) migliorando sensibilmente la qualità dello streaming.
A questo linK c'è una guida sul come impostare Nvidia GeForce Experience per avere tra la lista degli streaming l'intero Desktop
[url]http://nvidia.custhelp.com/app/answers/detail/a_id/3489/~/shield-remote-desktop (http://postimage.org/index.php?lang=spanish)
Spero di aver dato informazioni utili, se ci saranno evoluzioni aggiornerò la discussione.
Con questa discussione/guida spero di poter dare qualche info in più a chi pensa di costruirsi una eGPU, visto che è un esperimento costoso e il risultato potrebbe non essere quello sperato, i forum alla fine servono anche a questo, se qualcuno vorrà chiedermi maggiori informazioni do la mia disponibilità :)
eGPU:
*Premessa: tratterò solo il tema Gaming e sotto Windows, le eGPU possono anche venire usate su OSX per accelerare applicazioni, ambito che non troverete in questa discussione.
Da qualche anno abbiamo la possibilità di usare le eGPU, schede video da desktop collegate via box di espansione PCIe con interconnessione Thunderbolt, uno dei principali motivi della ancora scarsa diffusione è il prezzo, poi l'effettiva usabilità della soluzione e della quasi totale mancanza di supporto ufficiale.
Detto questo, dopo aver fatto varie ricerche, ad oggi, un rimedio a questo problema, con un buon rapporto prezzo/prestazioni è quello di usare un AKiTio Thunder 2, una GTX 1060 mini, un alimentatore esterno Dell DA-2 e dei cavi opportunamente modificati.
La scelta di questi componenti è stata fatta per avere delle prestazioni in grado di far girare giochi moderni in una soluzione che non fosse troppo voluminosa e dignitosamente presentabile, visto che non tutti possono permettersi di tenere sulla scrivania strani oggetti con ventole, fili che spuntano o lucine assortite scatenando l'ira della propria compagna :D
http://s4.postimg.org/mfisx9wot/IMG_1002.jpg (http://postimg.org/image/dkhymr7w9/)[/url]
Con questi componenti, la 1060 viene inserita interamente dentro il box e l'alimentatore Dell andrà ad alimentare sia la scheda video che la GPU con un risultato pulito e ordinato, attualmente le uniche schede 1060 compatibili sono le EVGA e le Zotac, entrambe nelle versioni sia da 3GB che da 6GB con design "mini".
Al lato pratico bisogna fare delle considerazioni molto importanti, solo i sistemi sprovvisti di scheda grafica dedicata possono usare il monitor interno, e in ogni caso solo in Windows, tutti gli altri necessitano di un monitor esterno, solo questo potrebbe far desistere molte persone, giustamente.
Un'altro punto importante sono le performance, la scheda dell'AKiTio ha solo 4 linee 2.0 con una banda passante totale di 2GB/s, che comporta un calo di prestazioni che puo' variare da un 5 ad anche un 50% in certi casi, con una media di circa un 15%, dato puo' variare in base al sistema utilizzato, con una bella sorpresa per il vecchio Macbook Air vs iMac 5K.
Per i test effettuati ho usato i seguenti sistemi:
iMac 5K (Late 2014): i7-4790K 4.0GHz / turbo 4.4GHz - 24GB Ram - 512GB SSD - M295X - Windows 10 Home
MacBook Air 13” (Mid 2012) - i5-3427U 1.8GHz / turbo 2.8GHz - 4GB Ram - 128GB SSD - Windows 10 Home
Pc su scheda madre Asus Z170i - i3 6100 3.7GHz - 16GB DDR4 3200MHz - EVGA 1060 SC 3GB - SSD 128GB Crucial M4 SATA - Alimentatore Seasonic Platinum 520W - Windows 10 Home
* Driver Nvidia 372.70 e AMD Crimson 15.11
** I giochi sono stati caricati su un crucial M4 256GB SATA con adattatore USB 3.0 collegato nei vari sistemi al momento del test
http://s22.postimg.org/9kac8v82p/1080.png (http://postimage.org/index.php?lang=spanish)
In Full HD la differenze tra GPU esterna e interna si sente, il bus ridotto incide molto ma il risultato finale del MacBook Air non è niente male se consideriamo che oltre ad avere più di 4 anni è anche in configurazione minima.
http://s18.postimg.org/3x738h5xl/1440.png (http://postimage.org/index.php?lang=spanish)
A 1440p invece è abbastanza bilanciato, riducendo i dettagli è sicuramente una risoluzione ancora usabile.
http://s15.postimg.org/88ozha48b/2160.png (http://postimage.org/index.php?lang=spanish)
Anche sui 4K il risultato finale è inaspettato, in questo caso il carico sulla GPU è più alto che per altri componenti, spostando il collo di bottiglia più verso la GPU, Ashes of Singularity in DX12 richiede molte risorse tra CPU e Ram, il MacBook Air con i suoi 4GB non riusciva a caricare il gioco a 4K e crashava per scarsa Ram, pessimo risultato anche l’iMac.
Visti i grafici, la soluzione eGPU con la 1060 può andare molto bene su Mac mini (che ha comunque un monitor esterno), su i vari MacBook Air o in certi casi sui MacBook Pro o vecchi iMac, ma su gli ultimi iMac retina (e scheda video superiore) non porta grossi benefici, almeno non da giustificare tutti i compromessi legati a questo tipo di soluzione, i risultati sono sicuramente migliori con una 1070 o una 1080 ma avrebbe comportato una modifica pesante del Box lasciando la scheda in vista o, come hanno fatto in molti, mettendo in un case da pc il controller dell'AKiTio con tutte le modifiche e i componenti aggiuntivi che comporta, oppure acquistando altri prodotti già modificati come i Bizon Box, aumentando così anche il prezzo finale, prezzo che si avvicina ad un Pc dedicato, soluzione che nel mio caso ho adottato come streaming server sfruttando Nvidia Gamestream, Nvidia Shield TV Box e Moonlight, ottenendo così un sistema GaaS, che mi consente anche di sfruttare qualsiasi dispositivo a disposizione dotato di connessione al server sia via LAN che ad internet, dall'iMac all'iPhone o una TV 4K.
GaaS, Gaming as a Service: cos'è, come funziona e cosa serve per costruire un sistema di questo tipo
Ormai siamo nell'era del Cloud computing, dove tutto può essere delocalizzato, visto che ormai le tecnologie lo consentono, il Gaming non fa differenza, con una buona connessione ad internet l'esperienza è paragonabile ai sistemi locali.
Ci sono servizi in abbonamento come GeForce Now che permettono di giocare agli ultimi titoli da un TV box in Full HD con impostazioni al massimo a 60fps stabili, il gioco gira in un datacenter e noi non facciamo altro che ricevere il video in streaming e, connessione permettendo, con latenze davvero basse.
http://s15.postimg.org/pwlzu1h8b/shield_android_tv_still_v2.jpg (http://postimage.org/index.php?lang=spanish)
Ora, con GeForce experience, possiamo trasformare un qualsiasi Pc in un server di questo tipo e collegarci da il TV box di NVIDIA o dal un tablet con NVIDIA tegra, basta avere una scheda GeForce di recente generazione nel sistema server, con lo Shield TV box di Nvidia non ci sono latenze è esattamente come giocare in locale.
Nei casi sopra non è (magari solo per ora ?) contemplato lo streaming su Mac o altri Pc ma c'è un software free chiamato Moonlight che sfrutta questa tecnologia e permette di estendere i client a praticamente ogni periferica, Mac, Pc, telefono, tablet o sistemi tipo Raspberry, da 720p a 4K a 60fps, il tutto con latenze molto basse, tant'è che non si nota la differenza, alcune volte c'è un po' di input lag sul mouse ma riavviando l'applicazione passa, poi essendo ancora in Alpha sarà ulteriormente migliorato.
Un servizio simile c'è anche con Steam, ma latenze, qualità e input lag non mi hanno dato una buona impressione, probabilmente è ancora presto.
Questa è la schermata iniziale di Moonlight, è un app per Chrome, ci sono anche le versioni per iOS, Android e Raspberry Pi
http://s16.postimg.org/nycr9y939/Moonlight_1.png (http://postimage.org/index.php?lang=spanish)
I giochi sono presi da quelli supportati in GeForce Experience, Steam e altro (che non ho provato)
http://s10.postimg.org/wfnha21g9/Moonlight_2.png (http://postimage.org/index.php?lang=spanish)
Si può usare Full Screen o Finestra, in entrambi i casi i tempi di risposta sono molto buoni, anche se in full screen a 5K non è supportato molto bene e potrebbe dare problemi di imput lag, questo è Doom 4K con dettagli al massimo (su GTX 1080)
http://s18.postimg.org/971kx4yex/Doom_4_K.jpg (http://postimage.org/index.php?lang=spanish)
Per un sistema di questo tipo non ci sono grosse necessità se non quelle del gioco da far girare, lo streaming non ha un impatto sulle prestazioni (minimo, ora sto usando un i3 6100 e non da problemi), attenzione però a due piccoli accorgimenti fondamentali, se creato come server e senza un monitor collegato serve un emulatore di monitor HDMI che supporti la risoluzione desiderata, altrimenti Geforce Experience non potrà abilitare la condivisione e attivare i servizi server, poi un mouse da tenere collegato, altrimenti mancherà il puntatore a video nei giochi tipo WoW o Diablo, ovviamente per accederci consiglio VNC, serve sempre fare della manutenzione, aggiornare i drivers o altro.
Ad oggi ho trovato solo un modello di emulatore che supporti i 4K a 60Hz, tutti gli altri arrivano massimo a 30, meno male che costa poco e si trova su Amazon dove arriva in 2-3 giorni dall’ordine (http://www.fit-pc.com/web/products/fit-headless/ (http://postimage.org/index.php?lang=spanish))
http://s18.postimg.org/vgt8lubdl/hdmi_4k.jpg (http://postimg.org/image/94vfsgc9h/)
Usare Nvidia Gamestream come desktop remoto
Dopo aver provato le varie modalità, quella migliore è senza dubbio usare il desktop remoto e far partire giochi e applicativi in modo tradizionale, principalmente per questi vantaggi:
0 imput lag, sull'iMac 5K, essendo il server limitato a 4K in full screen in certi casi si creava un problama di imput lag, con remote desktop in full screen il problema sparisce e l'esperienza è in tutto e per tutto uguale ad un sistema nativo, con tutti i vantaggi di non dover usare bootcamp o sprecare spazio sul disco locale
Avere un controllo maggiore del sistema per le varie operazioni di manutenzione (normalmente uso anche VNC, ma la reattività è molto bassa e non supporta bene il 3D)
GeForce Experience in streaming "ottimizzava" sempre le impostazioni creando problemi soprattutto quando si usavano più dispositivi per lo streaming, in questo modo rimangono quelle impostate a mano.
Permette di usare risoluzioni di 4K anche su dispositivi 1080p, così da mantenere sempre le stesse impostazioni su più periferiche (Tablet, Smartphone etc.) e il risultato è di fatto una sorta di SSAA (Supersampling Anti-aliasing) migliorando sensibilmente la qualità dello streaming.
A questo linK c'è una guida sul come impostare Nvidia GeForce Experience per avere tra la lista degli streaming l'intero Desktop
[url]http://nvidia.custhelp.com/app/answers/detail/a_id/3489/~/shield-remote-desktop (http://postimage.org/index.php?lang=spanish)
Spero di aver dato informazioni utili, se ci saranno evoluzioni aggiornerò la discussione.