Suggerimenti per ottimizzare le prestazioni del rendering tramite GPU

Anche se il rendering GPU può migliorare sensibilmente le prestazioni del contenuto SWF, la progettazione del contenuto gioca un ruolo fondamentale. Tenete presente che le impostazioni che hanno dato buoni risultati nel rendering software talvolta non funzionano bene con il rendering GPU. I suggerimenti che seguono possono aiutare a ottenere buone prestazioni nel rendering GPU senza pregiudicare quelle del rendering software.

Nota: i dispositivi mobili che supportano il rendering hardware accedono spesso al contenuto SWF dal web. Pertanto è importante tenere presenti questi suggerimenti quando si crea contenuto SWF, per garantire un'esperienza ottimale su tutti i tipi di schermi.
  • Evitate di usare wmode=transparent o wmode=opaque nei parametri HTML embed. Queste modalità possono determinare un calo delle prestazioni, nonché una piccola perdita nella sincronizzazione audio-video nel rendering sia software che hardware. Inoltre, molte piattaforme non supportano il rendering GPU quando queste modalità sono attive, con un conseguente calo significativo delle prestazioni.

  • Utilizzate solo i metodi di fusione Normale e Alfa. Evitate di usare altri metodi di fusione, in particolare il metodo Livello. Non tutti i metodi di fusione possono essere riprodotti fedelmente con il rendering GPU.

  • Quando una GPU esegue il rendering di un'immagine vettoriale, prima di disegnarla la suddivide in strutture composte da piccoli triangoli. Questo processo viene definito "tassellatura". La tassellatura determina un lieve calo delle prestazioni, che cresce man mano che la forma diventa più complessa. Per ridurre al minimo l'impatto delle prestazioni, evitate le forme di morphing, per le quali il rendering GPU esegue la tassellatura su ogni fotogramma.

  • Evitate di usare curve che si auto-intersecano, aree curve molto sottili (ad esempio uno spicchio di luna crescente) e dettagli complessi lungo i bordi di una forma. Per la GPU è difficile eseguire la tassellatura di queste forme per produrre le strutture triangolari. Per capirne il motivo, considerate due vettori: un quadrato 500 x 500 e una mezzaluna 100 x 10. Una GPU può eseguire con facilità il rendering del quadrato perché questo può essere suddiviso in due triangoli. Al contrario, ci vogliono molti triangoli per descrivere la curva della mezzaluna. Di conseguenza, il rendering della forma è più complicato anche se coinvolge un numero minore di pixel.

  • Evitate di modificare pesantemente le dimensioni, poiché tali modifiche possono anche far sì che la GPU debba ripetere la tassellatura dell'immagine.

  • Evitate l'overdrawing se possibile. L'overdrawing è la stratificazione di più elementi grafici in modo che si oscurino tra loro. Quando si utilizza il rendering software, ogni pixel viene disegnato una sola volta. Pertanto, nel caso del rendering software, l'applicazione non subisce alcun calo delle prestazioni a prescindere dal numero di elementi grafici che si coprono l'un l'altro nella posizione di quel pixel. Al contrario, con il rendering hardware ciascun pixel viene disegnato per ogni elemento, indipendentemente dal fatto che altri elementi oscurino o meno tale posizione. Se due rettangoli sono parzialmente sovrapposti, il renderer hardware disegna la parte sovrapposta due volte, mentre il renderer software la disegna una sola volta.

    Quindi, sul desktop (che usa il renderer software), in genere non noterete un calo delle prestazioni dovuto all'overdrawing. Tuttavia, la presenza di molte forme sovrapposte può incidere sulle prestazioni dei dispositivi che utilizzano il rendering GPU. È buona norma rimuovere gli oggetti dall'elenco di visualizzazione anziché nasconderli.

  • Evitate di usare un rettangolo pieno di grandi dimensioni come sfondo. Impostate invece il colore di sfondo dello stage.

  • Evitate di usare il metodo di riempimento bitmap Ripeti quando è possibile. Usate invece la modalità bitmap "clamp" per ottenere prestazioni migliori.