成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在x86平臺上優化安卓的多媒體類應用

開發
眾所周知,由于安卓對網絡流媒體格式的解析支持的不夠好,所以當前市面上的在線視頻提供商如優酷,樂視,暴風影音等鮮有直接使用安卓的多媒體播放器,他們多是基于開源的FFmpeg加上自己的解碼庫,開發自己的播放器。

眾所周知,由于安卓對網絡流媒體格式的解析支持的不夠好,所以當前市面上的在線視頻提供商如優酷,樂視,暴風影音等鮮有直接使用安卓的多媒體播放器,他們多是基于開源的FFmpeg加上自己的解碼庫,開發自己的播放器。這樣做的好處是可以方便的解析M3U8和FLV等流媒體格式,又可以支持RM和RMVB等比較流行的視頻格式,還不用跟著谷歌去不斷的更新安卓多媒體播放器。但是也帶來了一個問題,用自己開發的多媒體播放器在多數情況下就只能使用軟件來解碼視頻文件,而無法使用GPU的硬件加速能力,這會帶來過高的CPU占用率,進而使得播放視頻時的手機功耗過大,很大的影響了用戶體驗。

這個問題在x86平臺上尤其明顯,由于這些多媒體類應用沒有針對x86平臺做過優化,所以其本地代碼仍然是基于ARM編譯器編譯的,直接運行在x86平臺上,還要做一次二進制轉換,這對于軟件解碼造成的過高CPU占用率無異于雪上加霜,會導致更高的CPU占用率和更高的手機功耗。

我們曾經直接將樂視和暴風影音的安卓客戶端(ARM版本)直接運行在Intel***的CLVT+ 平臺的參考樣機上,效果很差,CPU占用率竟然高達60%,還有卡頓的現象,但是經過Intel Atom平臺SSSE3和Yasm指令集的優化,并且用ICC(Intel C/C++ Compiler)工具鏈編譯以后,性能提升非常明顯,CPU占用率竟然下降到13%以下,這已經明顯優于同級別ARM平臺運行此應用時的性能。

以下是對比樂視安卓客戶端的ARM版本和x86優化后的版本運行在Intel參考樣機上的CPU占用率對比圖,性能有了4.5倍的提升。


圖一:樂視客戶端優化對比

暴風影音經過Atom 平臺SSSE3和Yasm指令集的優化,性能提升更明顯,在K900上測試,優化前的ARM版本和優化后的x86版本CPU占用率從40%下降到3%,性能有了13倍的提升。


圖二:樂視客戶端優化對比

取得這么大的性能提升,連這些ISV都驚嘆不已,究竟是如何做到的呢?

首先,Intel的ATOM平臺支持SSSE3指令集,這些指令集對于優化YUV轉RGB數據***可能有16倍的性能提升,而對于多數在線視頻提供商使用的FFmpeg開源庫,有大量的YUV轉RGB需要處理,因此性能會有提升。

其次FFmpeg項目中有大量基于x86優化過的匯編代碼,而這些代碼在基于ARM平臺做交叉編譯時一般會被忽略掉。使用YASM編譯工具可以***限度的復用這些基于x86優化過的匯編代碼,只有話費很少的精力,就可以獲得很高的性能提升。

使用YASM以后,對FFmpeg和X264進行性能測試結果如下:


圖三:YASM對FFmpeg和X264優化性能對比

基于ICC對本地庫進行重編譯,也會使得性能提升。ICC完全兼容GCC,并對Intel ATOM進行了寄存器編譯優化,通過ICC編譯后的本地代碼,***可以有30%的性能提升。

除了以上各種手段以為,Intel還給合作伙伴提供了GPA(Intel Graphics Performance Analyzer) 和Intel Vtune Amplifier 兩個工具用于開發過程中的調試。GPA可以實時跟蹤應用運行時CPU和GPU的占用率,用于監測應用運行時是否有死鎖點。Vtune可以收集應用運行一段時間內的所有操作,跟蹤到每一條指令的運行。正是由于有這些豐富的調試手段,我們的合作伙伴才可以在短時間內大幅度提高IA平臺上多媒體播放的性能。

引用一位樂視的多媒體工程師的話:“看著自己的多媒體應用在x86平臺上可以高效流暢的運行,是一件非常有成就感的事!” 我們也希望越來越多的多媒體應用通過優化以后,可以在x86平臺上更高效流暢的運行。(作者:王松月 Intel SSG DRD)

責任編輯:林師授 來源: 51CTO
相關推薦

2010-02-04 16:27:24

Android X86

2022-01-21 10:35:03

Windows 11微軟安卓

2010-12-09 14:22:08

2011-02-20 11:21:26

2011-11-03 09:42:20

虛擬化硬件虛擬化輔助虛擬化

2011-12-13 10:03:05

RISCX86平臺服務器

2011-04-11 09:36:40

2016-12-28 09:30:37

Andriod安卓平臺依賴注入

2011-10-20 10:18:37

2013-09-29 15:05:53

聯想實驗室云計算

2012-06-21 09:45:43

虛擬化

2012-08-17 15:26:16

安騰處理器X86平臺

2009-03-16 08:54:00

x86CPUIntel

2019-12-25 14:00:53

Linux安卓 8.1 Oreo應用程序

2023-09-05 06:55:08

鴻蒙系統分布式OS

2021-09-03 07:55:00

Linux bootloader Linux 系統

2012-02-13 10:08:06

ARMWindows 8X86

2012-12-24 09:27:49

企業關鍵RISCx86

2011-12-01 11:09:48

AMDx86服務器英特爾

2011-05-31 14:44:55

Android
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线男人天堂 | 天天干天天操天天爽 | 亚洲精品福利在线 | 激情视频中文字幕 | 天天操天天干天天透 | 日韩欧美在线一区二区 | 欧美精品1区2区 | jizz18国产| 日韩中文字幕高清 | 免费黄视频网站 | 色综合99 | 日本理论片好看理论片 | 伊人春色在线 | 99精品欧美一区二区三区综合在线 | 国产高清在线 | 午夜日韩 | 国产免费一区二区三区免费视频 | 一道本不卡视频 | 免费一区二区在线观看 | 国产精品日韩欧美一区二区三区 | 日日天天 | 亚洲欧美另类在线观看 | 人人爱干 | 在线看一区二区三区 | 精品日韩一区二区 | 中文字幕高清免费日韩视频在线 | 91av在线视频观看 | 手机看黄av免费网址 | 欧美激情综合色综合啪啪五月 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 成人一区二区三区在线观看 | 国产精品视频网站 | 在线小视频 | 国产精品精品视频一区二区三区 | 欧美日韩高清 | 久久久久久国产 | 日韩在线免费电影 | 欧美一卡二卡在线 | 久久久久9999 | 精品视频在线播放 | 国产精品激情在线 |