PDA

View Full Version : Giocare su MacOS/OSX: eGPU e GaaS (Gaming as a Service) con GPU Nvidia e Moonlight


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.

MadMax of Nine
28-12-2016, 14:02
Comparativa CPU su GTX 1080

https://s24.postimg.org/v6hsc9s8l/cpus.jpg

Ho voluto verificare quanto incide il processore in un sistema dedicato al gaming, partendo da un i3 6100 fino a un i5 6600K con OC a 4.5GHz, appena finisco i test con il 7700K aggiorno i grafici.

Per i test ho usato lo stesso sistema con la sola differenza della CPU, durante i vari benchmarks le temperature di CPU e GPU massime sono state di circa 60°C in tutte le configurazioni, ho impostato il sistema di raffreddamento a mantenere 60° per evitare eventuali perdite di frequenza dovute alle temperature e a ricreare delle condizioni uguali per tutti gli scenari.

I benchmark usati sono quelli uffciali integrati nei vari giochi, ripetuti 3 volte e fatta una media per un controllo aggiuntivo sul risultato.

Ho usato il preset massimo impostabile con la sola eccezione dei 4K dove ho disabilitato o impostato al minimo l'AA visto che a queste risoluzioni non porta nessun beneficio.

Configurazione di test:

https://s23.postimg.org/t102avyrv/test_conf.jpg (https://postimg.org/image/r973fzfev/)

* Nell'ultimo test con il 7700K @ 3500 la configurazione è cambiata, il disco fisso usato è un Samsung 960 EVO 512, il sistema operativo è stato migrato con clonazione, perciò mantenendo impostazioni e driver precedenti, anche il sistema di raffreddamento è cambiato da Aria a Liquido su Custom Loop per entrambe CPU e GPU, apparte un miglioramento delle temperature le frequenze ed il comportamento dei componenti sono rimasti invariati.

https://s3.postimg.org/yc5dwnqpf/4_K.jpg (https://postimg.org/image/8glndgovj/)

https://s10.postimg.org/4vqei14wp/1440p_High_AA.jpg (https://postimg.org/image/ega14wu8l/)

https://s28.postimg.org/akz8sp5e5/1440p_Low_AA.jpg (https://postimg.org/image/71db2w2o9/)

https://s23.postimg.org/z9m3fnr4r/1080.jpg (https://postimg.org/image/ff01tjbx3/)

https://s24.postimg.org/wu1rzuadh/excel.jpg (https://postimg.org/image/80s7z6rcx/)

In questo video ho registrato lo scalare in frequenza del 7700K partendo dai 5.2GHz fino a scendere a 1.5GHz su Tomb Raider in DX12:

https://www.youtube.com/watch?v=GD4cJ1DLtD4&t

MadMax of Nine
07-01-2017, 20:34
Visto che molti pensano che lo streaming influisca negativamente sulla qualità video, ho fatto delle foto con la reflex all'iMac e al MBA con Rise of the Tomb Raider in streaming a 4K e dettagli massimi (click sul link per alta risoluzione) chiaramente non rendono bene come dal vivo (e scattando ad un monitor la foto soffre di moire) ma nei dettagli si vede chiaramente la nitidezza e l'assenza di artefatti da compressione:

iMac 5K, gioco a 4K Ultra e flusso streaming 4K 60fps 80 Mega di banda impostata (LAN Gigabit)

https://s29.postimg.org/c0jdfwelj/Tomb_Overview_DSC9483.jpg (https://postimg.org/image/e53qgzg83/)

Dettaglio:

https://s23.postimg.org/62za66rwb/Tomb_Detail_80_DSC9492.jpg (https://postimg.org/image/y33dqgvcn/)

Dettaglio 2:

https://s29.postimg.org/3wulkij93/Tomb_Dettaglio_2_DSC9487.jpg (https://postimg.org/image/4mddwvjsj/)

MacBook Air 2012 (pannello da 1440x900), gioco a 4K Ultra e flusso streaming 1080p 60fps 15 Mega di banda impostata (Airport Extreme AC e Wireless N su Macbook Air)

https://s24.postimg.org/4xxn5byl1/overview_DSC9501.jpg (https://postimg.org/image/ofsal9vip/)

Dettaglio:

https://s23.postimg.org/itfrxutnv/dettaglio1_DSC9502.jpg (https://postimg.org/image/vkty4d3fr/)

predator_85
18-01-2017, 15:39
Iscritto

ceschi
18-01-2017, 16:35
ho letto tutto velocemente e mi sono perso parecchi dettagli :asd:

ma la cosa è piuttosto interessante e sicuramente meriti dei complimenti per la discussione e lo sbattimento che hai fatto :D

MadMax of Nine
23-01-2017, 11:56
Ho aggiornato i dati con il 7700K, e cosa strana, pare che in OC vada gereralmente peggio che a stock nei giochi (in altri benchmark ovviamente il risultato scala con la frequenza)

MadMax of Nine
16-02-2017, 10:32
Aggiornato i bench con 7700K @ 3500

Horizont
01-03-2017, 15:34
Quindi per avere il desktop quale exe nello specifico devo aggiungere come app su GameStream? :)

Ok ho visto ora il link thanks!

Non ho invece capito bene il discorso di quell'adattatore HDMI O_o

MadMax of Nine
01-03-2017, 15:53
Quindi per avere il desktop quale exe nello specifico devo aggiungere come app su GameStream? :)

Ok ho visto ora il link thanks!

Non ho invece capito bene il discorso di quell'adattatore HDMI O_o

Se non hai un monitor collegato alla scheda video non funziona, proprio non parte la sessione di streaming, come se non hai un mouse collegato non si vede il cursore, quell'adattatore è un emulatore di monitor 4K @ 60Hz da mettere per avere tutte le risoluzioni da 4K in giu.
Nel mi caso essendo un server puro, e in un rack ho dovuto usare l'adattatore, serve anche nei casi, per esempio, se usi unmonitor 1440p ma vuoi fare streaming su una TV 4K o un altro sistema a risoluzione maggiore di quella del tuo monitor colelgato ala GeForce.