StageVideo öğesini kullanarak donanım hızlandırma hakkında

Video ölçeklemeyi, renk dönüştürmeyi ve ara doldurmayı içeren donanım hızlandırmalı gösterim, donanım hızlandırmalı kod çözme işleminin performans faydalarını geliştirir. GPU (donanım) hızlandırması sunan aygıtlarda videoyu doğrudan aygıt donanımında işlemek için bir flash.media.StageVideo nesnesi kullanabilirsiniz. Doğrudan işleme GPU videoyu işlerken işlemcinin diğer görevleri gerçekleştirmek için serbest kalmasını sağlar. Diğer taraftan, eski Video sınıfı genellikle yazılım gösterimini kullanır. Yazılım gösterimi işlemcide gerçekleşir ve sistem kaynaklarının önemli bir bölümünü tüketebilir.

Şu anda tam GPU hızlandırmasını birkaç aygıt desteklemektedir. Ancak, sahne alanı videosu uygulamaların mevcut olan donanım hızlandırmadan maksimum faydayı sağlamasına izin verir.

StageVideo sınıfı Video sınıfını eski yapmaz. Birlikte çalışarak bu iki sınıf belirli bir zamanda aygıt kaynaklarının izin verdiği ölçüde en iyi video görüntüleme deneyimini sunarlar. Uygulamanız doğru olayları dinleyerek ve gerektiği şekilde StageVideo ve Video sınıfları arasında geçiş yaparak donanım hızlandırmadan faydalanır.

StageVideo sınıfı, video kullanımına bazı sınırlamalar getirir. StageVideo uygulamadan önce yönergeleri gözden geçirin ve uygulamanızın bunları kabul edeceğinden emin olun. Bu sınırlamaları kabul ediyorsanız, Flash Player donanım hızlandırmalı gösterimin mevcut olduğunu algıladığında StageVideo sınıfını kullanın. Bkz. Yönergeler ve sınırlamalar .

Paralel düzlemler: Sahne alanı videosu ve Flash görüntüleme listesi

Sahne alanı videosu modeli ile Flash Player videoyu görüntüleme listesinden ayırabilir. Flash Player, bileşik ekranı iki Z sıralı düzlem arasında böler:

Sahne Alanı videosu düzlemi
Sahne Alanı videosu düzlemi arka planda kalır. Yalnızca donanım hızlandırmalı videoyu görüntüler. Bu tasarımdan dolayı, aygıtta donanım hızlandırma desteklenmiyorsa veya mevcut değilse bu düzlem de kullanılamaz. ActionScript'te, StageVideo nesneleri sahne alanı videosu düzleminde oynatılan videoları işler.

Flash görüntüleme listesi düzlemi
Flash görüntüleme listesi varlıkları sahne alanı videosu düzleminin önünde bulunan bir düzlemde birleştirilir. Görüntüleme listesi varlıkları oynatma kontrolleri de dahil olmak üzere çalışma zamanının oluşturduğu her şeyi içerir. Donanım hızlandırma mevcut olmadığında videolar yalnızca Video sınıfı nesnesini kullanarak bu düzlem üzerinde oynatılabilir. Sahne alanı videosu her zaman Flash görüntüleme listesi grafiklerinin arkasında görüntülenir.

Grafiği tam boyut görüntüle
Video ekranı düzlemleri

StageVideo nesnesi ekranın döndürülmemiş, pencereye göre hizalanmış dikdörtgen bir alanında görüntülenir. Sahne alanı videosu düzleminin arkasında nesneleri katmanlar halinde yerleştiremezsiniz. Ancak, sahne alanı videosu düzleminin üzerine diğer grafikleri katman olarak yerleştirmek için Flash görüntüleme listesi düzlemini kullanabilirsiniz. Sahne alanı videosu görüntüleme listesiyle eş zamanlı çalışır. Bu nedenle iki gizli düzlemi kullanan birleştirilmiş bir görsel efekt oluşturmak için iki mekanizmayı birlikte kullanabilirsiniz. Örneğin, ön düzlemi arka planda çalışan sahne alanı videosu üzerinde işleyen oynatma kontrolleri için kullanabilirsiniz.

Sahne alanı videosu ve H.264 codec'i

Flash Player uygulamalarında video hızlandırmayı uygulama işlemi iki adımdan oluşur:

  1. Videoyu H.264 olarak kodlama

  2. StageVideo API'sini uygulama

En iyi sonuçları elde etmek için her iki adımı da gerçekleştirin. H.264 codec'i, video kodu çözme işleminden gösterime kadar, donanım hızlandırmadan maksimum faydayı sağlamanıza izin verir.

Sahne alanı videosu GPU'dan İşlemciye yapılan geri okumayı ortadan kaldırır. Başka bir deyişle, GPU kodu çözülmüş kareleri görüntüleme listesi nesneleriyle birleştirmek için işlemciye geri göndermez. Bunun yerine GPU kod çözme işleminden geçirilmiş ve oluşturulmuş kareleri doğrudan sahnede, görüntüleme listesi nesnelerinin arkasında doldurarak oluşturur. Bu teknik, işlemci ve bellek kullanımını azaltır ve piksellerin aslına daha uygun olmasını sağlar.

Yönergeler ve sınırlamalar

Videoyu tam ekran modunda çalışırken, aygıt donanım hızlandırmayı destekliyorsa sahne alanı videosu her zaman kullanılabilir durumdadır. Ancak, Flash Player tarayıcı içinde de çalışır. Tarayıcı bağlamında sahne alanı videosu kullanılabilirliğini wmode ayarı etkiler. Sahne alanı videosunu kullanmak istiyorsanız her zaman wmode="direct" öğesini kullanmayı deneyin. Sahne alanı videosu tam ekran modunda değilken diğer wmode ayarları ile uyumlu değildir. Bu kısıtlama çalışma zamanında sahne alanının önceden tahmin edilemeyecek bir şekilde kullanılabilir ve kullanılamaz durumları arasında kalabileceği anlamına gelir. Örneğin, kullanıcı sahne alanı videosu çalışırken tam ekran modundan çıkarsa video bağlamı tarayıcıya geri döner. Tarayıcının wmode parametresi "direct" olarak ayarlanmazsa sahne alanı videosu aniden kullanılamaz duruma gelebilir. Flash Player oynatma bağlamı değişikliklerini uygulamalara olay kümeleri aracılığıyla iletir. StageVideo API'si uygularsanız, sahne alanı videosu kullanılamaz duruma geldiğinde yedek olması için bir Video nesnesi tutun.

Donanımla doğrudan bir ilişkisi olduğundan sahne alanı videosu bazı video özelliklerini kısıtlar. Sahne alanı videosu şu kısıtlamaları uygular:

  • Her SWF dosyası için Flash Player aynı anda video görüntüleyebilecek StageVideo nesnesi sayısını dört ile sınırlar. Ancak, aygıtın donanım kaynaklarına bağlı olarak gerçek sınır daha düşük olabilir.

  • Video zamanlaması, çalışma zamanının görüntülediği içeriğin zamanlamasıyla senkronize değildir.

  • Video görüntüleme alanı yalnızca bir dikdörtgen olabilir. Oval veya düzensiz şekiller gibi daha gelişmiş görüntüleme alanları kullanamazsınız.

  • Videoyu döndüremezsiniz.

  • Videoyu bitmap önbelleğine alamazsınız veya videoya erişmek için BitmapData nesnesini kullanamazsınız.

  • Videoya filtre uygulayamazsınız.

  • Videoya renk dönüştürmeleri uygulayamazsınız.

  • Videoya bir alfa değeri uygulayamazsınız.

  • Görüntüleme listesi düzleminde nesnelere uyguladığınız harmanlama modları, sahne alanı videosuna uygulanmaz.

  • Videoyu yalnızca tam piksel sınırları üzerine yerleştirebilirsiniz.

  • GPU görüntü oluşturma belirli aygıt için mevcut olanın en iyisi olsa da tüm aygıtlarda %100 "aynı piksellere" sahip değildir. Sürücü ve platform farklılıklarından dolayı ufak farklılıklar görülür.

  • Bazı aygıtlar gerekli tüm renk alanlarını desteklemez. Örneğin, bazı aygıtlar H.264 standardı olan BT.709'u desteklemez. Bu tür durumlarda hızlı görüntüleme için BT.601'i kullanabilirsiniz.

  • Sahne alanı videosunu normal, opak veya saydam gibi WMODE ayarlarıyla kullanamazsınız. Sahne alanı videosu tam ekran modunda değilken yalnızca WMODE=direct öğesini destekler. WMODE, Safari 4 veya üstü ve IE 9 veya üst sürümlerinde etkili değildir.

Birçok durumda bu sınırlamalar video oynatıcı uygulamalarını etkilemez. Bu sınırlamaları kabul edebiliyorsanız mümkün olduğunda sahne alanı videosunu kullanın.