2013-05-26 32 views
0

我正在創建一些低幀率的分形渲染器,並且注意到幾乎所有的處理器時間都花在繪製(軟件)位圖上。視頻軟件如VLC和Windows Media Player如何做到這一點?因爲他們必須以24fps渲染1080p +圖像,而他們在CPU上進行渲染。視頻軟件如何渲染如此之快?

+2

我想你可能會發現祕密是他們不會在CPU上進行渲染...... :-D – Will

+0

但是他們如何從CPU到GPU獲得如此之快的數據? – user10F64D4

+0

你可以下載源代碼並查看mplayer/vlc吧? ffmpeg通常會進行解碼,但是在我想象的某個點上,緩衝區會變得糟糕透了。 –

回答

1

基本思想,就像GPU加速圖形的概念一樣,CPU只是向GPU發送簡單的命令,然後GPU負責完成所有繁重的工作。大多數現代GPU都能夠在硬件和其他這類有用的東西中解碼各種視頻流。即使是Raspberry Pi中的VideoCore也能夠播放高清視頻,而其中的CPU只有600mhz的單核芯片。

大多數操作系統都有一個高層次的抽象,所以你不必打破整個OpenGL/Direct3D接口。在OS X上,這將是Coure Video,微軟方面是Audio Video Playback API。