Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEngineoraz Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Ważny
Optymalizacja opisana w tej sekcji jest bardzo zależna od bazowego sprzętu. Jeśli nie możesz zagwarantować, jakiego typu sprzęt graficzny będzie używany z aplikacją, może poważnie obniżyć wygląd obrazu wideo.
HDTV wymaga dużej mocy obliczeniowej, która w nowszych systemach jest realizowana głównie przez kartę graficzną. Ale nawet jeśli karta graficzna i dekoder mogą obsługiwać rozdzielczości 1920x1080, użytkownik może nie zawsze mieć monitor ustawiony na tę rozdzielczość. W takim przypadku chip graficzny musi utworzyć obraz 1920 x 1080, a następnie zmniejszyć rozdzielczość, aż do przesłania go do buforu ramki.
Ponieważ jest to strata mocy obliczeniowej, VMR (Video Mixing Renderer) zapewnia sposób zmniejszenia obrazu w momencie renderowania go na powierzchni DirectDraw. Eliminuje to dodatkową kopię pamięci wymaganą w przypadku konieczności zmiany rozmiaru obrazu po jego renderowaniu.
VMR-7: Aby włączyć dekodację, wywołaj IVMRMixerControl::SetMixingPrefs flagą MixerPref_DecimateOutput.
VMR-9: Aby włączyć decymację, wywołaj IVMRMixerControl9::SetMixingPrefs z flagą MixerPref9_DecimateOutput.
Przed połączeniem VMR należy wywołać metodę SetMixingPrefs. Nie można zmienić flag preferencji mieszania po uruchomieniu grafu.
Tematy pokrewne