Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione personalizzata dello stream in Amazon GameLift Streams
Per impostazione predefinita, Amazon GameLift Streams offre stream interattivi con la risoluzione Full HD standard del settore di 1920 × 1080 pixel, con un rapporto di aspetto standard 16 x 9. Puoi impostare una risoluzione personalizzata per ogni sessione in base alla forma dello schermo o alle proporzioni del dispositivo del giocatore. Le risoluzioni personalizzate supportano le proporzioni orizzontale, verticale e quadrata.
Utilizza risoluzioni personalizzate per:
-
Trasmetti esperienze a schermo intero su telefoni e tablet nelle proporzioni native del dispositivo, senza imbottitura o ritaglio.
-
Abbina le proporzioni dei monitor ultrawide per un'esperienza widescreen nativa.
-
Supporta stream di gioco con dimensioni arbitrarie per l'incorporamento in esperienze web non a schermo intero.
Puoi utilizzare una risoluzione personalizzata con tutte le configurazioni del servizio Amazon GameLift Streams, indipendentemente dalla classe di stream o dall'ambiente di runtime.
Come funziona la risoluzione
Quando imposti una risoluzione personalizzata, Amazon GameLift Streams configura il monitor virtuale della sessione alla risoluzione desiderata. Questa diventa la risoluzione del monitor per la sessione. Per una migliore qualità visiva, l'applicazione deve eseguire il rendering alla risoluzione del monitor configurata.
La risoluzione del monitor determina le dimensioni del monitor virtuale e la risoluzione con cui vengono acquisiti i fotogrammi. Due impostazioni Web SDK aggiuntive influiscono sulla risoluzione dello stream inviato al lettore:
-
Risoluzione massima: un'impostazione Web SDK che limita la risoluzione dello stream. Se non specificato, non viene applicato alcun limite e viene trasmessa in streaming l'intera risoluzione del monitor. Per informazioni, consulta Interazione con la massima risoluzione.
-
Risoluzione dinamica: regola automaticamente la risoluzione dello streaming per offrire la migliore qualità visiva che la connessione di rete dello spettatore può supportare. Per informazioni, consulta Interazione con risoluzione dinamica.
Nessuna impostazione modifica la risoluzione del monitor per la sessione.
Vincoli di risoluzione personalizzati
La risoluzione specificata deve soddisfare i seguenti requisiti:
| Vincolo | Valore |
|---|---|
| Numero massimo di pixel totali | 2.073.600 (1920 × 1080) |
| Intervallo di larghezza e altezza | 320 — 4096 pixel |
| Parità dimensionale | Sia la larghezza che l'altezza devono essere numeri pari |
Il servizio convalida questi vincoli all'avvio di una sessione. Se la risoluzione non soddisfa i requisiti, la richiesta ha esito negativo e viene generato un errore di convalida.
Imposta una risoluzione personalizzata
Puoi impostare una risoluzione personalizzata quando avvii una sessione di streaming utilizzando la console, la AWS CLI o l'API.
Utilizzo della console Amazon GameLift Streams
Per testare uno stream con una risoluzione personalizzata:
-
Apri la console Amazon GameLift Streams
e accedi al tuo gruppo di stream. -
Scegli Test stream.
-
Nel menu a discesa Risoluzione, seleziona una risoluzione per desktop, tablet o dispositivi mobili.
-
Scegli Test stream per iniziare la sessione.
Dopo che lo stream è attivo, puoi visualizzare la risoluzione attuale nell'overlay delle statistiche in tempo reale.
Utilizzo di AWS CLI
Usa il start-stream-session comando con il --display-configuration parametro:
aws gameliftstreams start-stream-session \ --identifier sg-ExampleStreamGroup \ --application-identifier a-ExampleApp \ --protocol WebRTC \ --signal-request "your-signal-request" \ --display-configuration '{"Resolution":{"Width":1920,"Height":1080}}'
Uso dell’API
Nella richiesta StartStreamSessionAPI, includi il DisplayConfiguration parametro:
{ "ApplicationIdentifier": "a-ExampleApp", "Protocol": "WebRTC", "SignalRequest": "your-signal-request", "DisplayConfiguration": { "Resolution": { "Width": 1920, "Height": 1080 } } }
Calcola la risoluzione ottimale per un dispositivo
È possibile utilizzare qualsiasi risoluzione che soddisfi i vincoli di risoluzione. La formula seguente è un approccio consigliato per trovare la risoluzione massima per un rapporto di aspetto specifico. Ottimizza i pixel disponibili per la migliore qualità visiva:
height = floor_to_even( sqrt(2,073,600 * H / W) ) width = floor_to_even( height * W / H )
In questa formula, W:H sono le proporzioni target e 2,073,600 il numero massimo totale di pixel (1920 × 1080). La funzione viene floor_to_even(x) arrotondata per difetto al numero intero pari più vicino.
Esempio 19. 5:9 (telefono cellulare)
height = floor_to_even( sqrt(2,073,600 * 9 / 19.5) ) = floor_to_even(978.2) = 978 width = floor_to_even( 978 * 19.5 / 9 ) = floor_to_even(2118.3) = 2118 → Resolution: 2118 × 978 (2,071,404 pixels, 99.9% utilization)
Per le risoluzioni verticali, calcola la risoluzione orizzontale e scambia i valori di larghezza e altezza.
Valori di risoluzione comuni per i dispositivi
I seguenti valori utilizzano rapporti standard generici che coprono categorie di dispositivi comuni. I singoli dispositivi potrebbero avere proporzioni native leggermente diverse, il che si traduce in barre nere visivamente trascurabili. Per un riempimento perfetto ai pixel, utilizza le proporzioni esatte native del dispositivo con la formula sopra riportata.
| Categoria | Proporzioni | Paesaggio | Ritratto | Dispositivi corrispondenti |
|---|---|---|---|---|
| Desktop | 16:9 | 1920 × 1080 | 1080 × 1920 | Monitor da tavolo, TV, dispositivi mobili HD |
| Desktop | 16:10 | 1820 × 1138 | 1138 × 1820 | Monitor widescreen, tablet Amazon Fire |
| Desktop | 21:9 | 2198 × 942 | Non applicabile | Monitor Ultrawide |
| Tablet | 3:2 | 1760 × 1174 | 1174 × 1760 | Diversi iPad |
| Tablet | 4:3 | 1660 × 1246 | 1246 × 1660 | iPads, tablet Android |
| Mobile | 20:9 | 2142 × 964 | 964 × 2142 | Google Pixel, Samsung Galaxy |
| Mobile | 19.5:9 | 218 × 978 | 978 × 2118 | iPhone, Samsung Galaxy |
| Mobile | 18:9 | 2036 × 1018 | 1018 × 2036 | Altri telefoni Android |
| Altro | 1:1 | 1440 × 1440 | Non applicabile | Monitor quadrati |
Interazione con la massima risoluzione
La risoluzione personalizzata e la risoluzione massima hanno scopi diversi:
-
Risoluzione personalizzata: quando si imposta una risoluzione personalizzata, questa diventa la risoluzione del monitor per la sessione. Questo è ciò che viene renderizzato dal server, comprese le proporzioni e le dimensioni in pixel dei fotogrammi acquisiti.
-
Risoluzione massima: un'impostazione Web SDK che limita la risoluzione dello stream. Il limite rientra nel riquadro di delimitazione orientato del livello selezionato (ad esempio, 1280 × 720 per 720p). Utilizzate questa impostazione per indirizzare i dispositivi di fascia bassa che non sono in grado di decodificare un'immagine a piena risoluzione.
Per ulteriori informazioni sul parametro di risoluzione massima, consulta il riferimento all'API Amazon GameLift Streams Web SDK nella pagina della documentazione di Amazon GameLift Streams.
Interazione con risoluzione dinamica
La risoluzione dinamica regola automaticamente la risoluzione dello streaming per offrire la migliore qualità visiva che la connessione di rete dello spettatore può supportare. Questa funzionalità è disponibile con Amazon GameLift Streams Web SDK versione 1.3.0 e successive.
La risoluzione dinamica non influisce sulla risoluzione del monitor per la sessione. Amazon GameLift Streams regola solo la risoluzione dello streaming fornita al lettore. Quando la larghezza di banda è limitata, la risoluzione dello stream si riduce preservando le proporzioni. Quando la larghezza di banda viene ripristinata, viene ripristinata fino alla risoluzione completa del monitor o al limite massimo di risoluzione.
Ad esempio, se imposti una risoluzione personalizzata di 1080 × 1920 (mobile portrait, 9:16), il lettore riceve l'intero stream 1080 × 1920 con una larghezza di banda normale. Se la rete del lettore diventa limitata, la risoluzione dinamica potrebbe ridurre lo stream a una risoluzione inferiore (ad esempio, 720 × 1280) mantenendo le proporzioni di 9:16. La risoluzione del monitor sul server rimane sempre 1080 × 1920.
Per ulteriori informazioni sul parametro di risoluzione dinamica, consulta il riferimento all'API Amazon GameLift Streams Web SDK nella pagina della documentazione di Amazon GameLift Streams.
Best practice
Segui queste best practice quando utilizzi risoluzioni personalizzate con Amazon GameLift Streams:
-
Abbina le proporzioni del dispositivo del giocatore per riempire lo schermo senza usare letterboxing o pillarboxing. Usa i valori di risoluzione o la formula di calcolo più comuni per trovare la risoluzione ottimale per un determinato rapporto di aspetto. Per i giochi mobili orientati al ritratto, utilizza una risoluzione verticale per offrire un'esperienza verticale nativa.
-
Ottimizza il tuo frontend per l'esperienza di streaming. Assicurati che il tuo client web gestisca correttamente le proporzioni dello stream durante lo streaming su dispositivi mobili o tablet.
-
Testa la tua applicazione con risoluzioni personalizzate prima di distribuirla ai giocatori. La maggior parte delle applicazioni si adatta automaticamente alla risoluzione del monitor quando viene eseguita a schermo intero. Tuttavia, alcune applicazioni potrebbero non gestire correttamente risoluzioni diverse da 16:9.
-
Assicurati che la fotocamera e l'interfaccia di gioco si adattino alle proporzioni. Regola il campo visivo della videocamera di gioco per mostrare la giusta quantità di scena anziché ritagliare l'area di visualizzazione. Ridisponi o riposiziona gli elementi dell'interfaccia utente per adattarli alle nuove proporzioni.
-
Evitate di modificare la risoluzione del monitor virtuale in fase di esecuzione all'interno dell'applicazione. Amazon GameLift Streams imposta la risoluzione del monitor all'inizio della sessione. Le applicazioni che lo modificano durante il gioco potrebbero produrre risultati imprevisti.
-
Gestisci la rotazione dei dispositivi nell'applicazione e nel frontend. La risoluzione del monitor è fissa per tutta la durata della sessione. Per supportare la rotazione intermedia del dispositivo, consigliamo di inviare il segnale di rotazione Comunicazione tramite canale dati tra un'applicazione e un client Web all'applicazione. Chiedi all'applicazione di ruotare il rendering e aggiorna il frontend di conseguenza.
Risoluzione dei problemi
La tabella seguente descrive i problemi più comuni, le relative cause e le soluzioni suggerite.
| Problema | Causa | Soluzione |
|---|---|---|
| La sessione non si avvia con un errore di convalida | La risoluzione non soddisfa i vincoli | Verifica che la risoluzione soddisfi tutti i vincoli elencati in. Vincoli di risoluzione personalizzati |
| L'applicazione esegue il rendering con una risoluzione errata | L'applicazione non è in esecuzione a schermo intero o viene renderizzata a una risoluzione diversa in modalità finestra | Configura l'applicazione per l'esecuzione a schermo intero. L'applicazione può interrogare il sistema per la risoluzione configurata. |
| La risoluzione dello stream è inferiore al previsto (stesse proporzioni) | È attivo il limite di risoluzione massimo o la risoluzione dinamica | Questo è il comportamento previsto quando è attiva la risoluzione massima o la risoluzione dinamica. Entrambe le funzionalità riducono la risoluzione dello stream preservando le proporzioni. Controllate la risoluzione massima o l'impostazione della risoluzione dinamica nel Web SDK. |
| La risoluzione dello stream è diversa dalla risoluzione personalizzata (proporzioni diverse) | L'applicazione modifica la risoluzione del monitor durante l'avvio o durante lo streaming | La risoluzione massima e la risoluzione dinamica non causano questo problema. Si tratta di un comportamento noto per alcune applicazioni che sostituiscono la risoluzione del monitor. Prendi in considerazione l'utilizzo di un'applicazione che non sovrascriva la risoluzione del monitor o configura l'applicazione per il rendering alla risoluzione del monitor a schermo intero. |
| Sullo schermo del giocatore compaiono delle barre nere | Mancata corrispondenza delle proporzioni tra lo stream e il dispositivo oppure l'applicazione viene renderizzata internamente con barre nere | Controlla se le barre nere provengono dal client (mancata corrispondenza delle proporzioni) o dall'applicazione stessa. Usa un valore di risoluzione che corrisponda alle proporzioni del dispositivo del lettore oppure calcola la risoluzione ottimale utilizzando la formula inCalcola la risoluzione ottimale per un dispositivo. |