2019年9月26日,華為年度旗艦Mate30系列在上海發(fā)布,除了一如既往的頂級(jí)硬件配置外,在EMUI系統(tǒng)層面華為也拿出了十足誠意,大幅提高了系統(tǒng)流暢性和增強(qiáng)了穩(wěn)定性。
在講到軟件性能優(yōu)化時(shí),華為消費(fèi)者業(yè)務(wù)CEO余承東提到EMUI10搭載了新一代GPU Turbo,以及另一個(gè)大家相對(duì)陌生的技術(shù)——“確定時(shí)延引擎”。
據(jù)余承東介紹,“擁有確定時(shí)延引擎的EMUI10,在平均響應(yīng)時(shí)延和性能波動(dòng)方面均有所改善,完成時(shí)延降低31%,時(shí)延波動(dòng)率降低55%。無論在哪種場(chǎng)景下,用戶體驗(yàn)流暢性始終如一。 ”
然而,很多人或許還是似懂非懂,究竟什么是“確定時(shí)延引擎”?為何它能給手機(jī)帶來穩(wěn)定流暢的體驗(yàn)?這還要從安卓資源調(diào)度策略說起。
力不從心的Linux資源調(diào)度
眾所周知,安卓系統(tǒng)源于Linux,安卓資源調(diào)度也根植于Linux內(nèi)核。手機(jī)相對(duì)于PC,并不充裕的資源以及更加復(fù)雜多變的使用場(chǎng)景,使得源于Linux的資源調(diào)度策略越來越力不從心,安卓手機(jī)遭遇莫名卡頓也是常有的事。
要想改變這一現(xiàn)狀,勢(shì)必要從CPU調(diào)度、內(nèi)存調(diào)度、IO這三個(gè)方面下手,撬動(dòng)Linux內(nèi)核。
首先, Linux中CPU調(diào)度策略傾向于公平調(diào)度,而安卓更像是當(dāng)前“僧多粥少”的社會(huì)競爭狀態(tài),不合時(shí)宜的調(diào)度,導(dǎo)致了手機(jī)上CPU調(diào)用準(zhǔn)確度和效率都打了折扣。
其次,由于內(nèi)存分配和回收不具備前后臺(tái)進(jìn)程區(qū)分的能力,不管前臺(tái)還是后臺(tái)發(fā)起的內(nèi)存請(qǐng)求,系統(tǒng)都公平對(duì)待。這樣就會(huì)導(dǎo)致在系統(tǒng)多任務(wù)并發(fā)的情況下,導(dǎo)致內(nèi)存無序競爭資源而陷入卡頓。
第三,幾乎手機(jī)的每一個(gè)操作都涉及到讀取和寫入(IO),當(dāng)系統(tǒng)中出現(xiàn)大量IO請(qǐng)求,超出手機(jī)存儲(chǔ)設(shè)備的并發(fā)處理能力時(shí),不能及時(shí)處理的IO請(qǐng)求就緩存在系統(tǒng)的軟件隊(duì)列和存儲(chǔ)設(shè)備的硬件隊(duì)列中,如此再大的內(nèi)存也要堵車了。
確定時(shí)延引擎 讓后臺(tái)不再無序
應(yīng)運(yùn)而生的確定時(shí)延引擎,不僅讓EMUI更快更流暢,而且更穩(wěn)定。
為了這項(xiàng)黑科技,華為投入數(shù)百位技術(shù)專家,耗時(shí)近2年研發(fā)而成?;诖饲岸嗄陙韺?duì)安卓系統(tǒng)的深刻理解和持續(xù)的創(chuàng)新實(shí)踐,再次對(duì)整個(gè)安卓系統(tǒng)從框架到內(nèi)核進(jìn)行了一次大手術(shù)。
正如前文所述,當(dāng)Linux內(nèi)核資源調(diào)度策略失當(dāng),后臺(tái)應(yīng)用占用過多CPU、內(nèi)存或者IO時(shí),確定時(shí)延引擎的三大變革——“VIP優(yōu)先調(diào)度”、“優(yōu)先級(jí)矯正”、“預(yù)留服務(wù)”便有了用武之地,讓資源真正用在刀刃上,保障用戶體驗(yàn)的流暢穩(wěn)定。
確定時(shí)延引擎的首項(xiàng)變革——提供VIP優(yōu)先調(diào)度服務(wù)
類似銀行的VIP通道,讓本應(yīng)該優(yōu)先的進(jìn)程可以繞過隊(duì)列,保障執(zhí)行效率。不僅如此,華為還對(duì)網(wǎng)絡(luò)協(xié)議棧進(jìn)行了改造,針對(duì)低優(yōu)先級(jí)的部分網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行協(xié)議上的限流。在網(wǎng)絡(luò)帶寬一定的情況下,盡可能保障“前臺(tái)”業(yè)務(wù)的IO請(qǐng)求。
確定時(shí)延引擎的第二項(xiàng)變革——優(yōu)先級(jí)矯正,破除任務(wù)依賴
由于Linux內(nèi)核無法感知線程間的依賴關(guān)系,那么如果一個(gè)高優(yōu)先級(jí)的任務(wù)依賴于低優(yōu)先級(jí)的任務(wù),就需要將低優(yōu)先級(jí)任務(wù)提前。
在這方面,確定時(shí)延引擎首先是對(duì)相關(guān)數(shù)據(jù)結(jié)構(gòu)重新設(shè)計(jì),賦予了CPU和IO調(diào)度器業(yè)務(wù)感知能力,能夠精確知道哪些線程在哪些時(shí)間段是跟用戶操作真正相關(guān)的。
比如A去自動(dòng)取款機(jī)取錢,B排在A后面存錢。此時(shí)取款機(jī)恰好沒錢了,那么要么等待銀行來給自動(dòng)取款機(jī)補(bǔ)充資金,要么提高B優(yōu)先級(jí),使其先存錢。兩者優(yōu)劣高下立判。
正是這種對(duì)“前臺(tái)”的私有化CPU和IO的定制,保障了用戶的最佳體驗(yàn)。
確定時(shí)延引擎的第三項(xiàng)變革——讓系統(tǒng)做到“預(yù)留服務(wù)先知先覺”
關(guān)于這點(diǎn),我們可以先用城市道路的公交專用車道做個(gè)比喻。
城市里的公交專用車道,是專門為公交車在特定時(shí)間通行的車道,主要功能是方便公交網(wǎng)絡(luò)應(yīng)對(duì)各種高峰時(shí)段和突發(fā)狀況帶來的道路擁堵問題。在高峰期時(shí)段中,起到保障城市內(nèi)部道路通暢的作用。
確定時(shí)延引擎在Linux原有調(diào)度策略上進(jìn)行了增強(qiáng),能夠精確識(shí)別哪些任務(wù)是“公交車”, 這些任務(wù)是否可以走“公交專用車道”,若是,則提前為其預(yù)留相關(guān)資源,從而提高其任務(wù)處理效率,保障用戶操作路徑上的關(guān)鍵資源供給。
如果把上面的例子套用在內(nèi)存調(diào)度上,則表示智慧前臺(tái)調(diào)度既可以保證“前臺(tái)”任務(wù)請(qǐng)求內(nèi)存優(yōu)先分配,減少進(jìn)入慢速路徑的次數(shù),又可以在高負(fù)載情況下緩解內(nèi)存抖動(dòng)現(xiàn)象。
EMUI創(chuàng)新背后是華為對(duì) “無人區(qū)”的不斷探索
從EMUI5.0開始,華為陸續(xù)推出了“18個(gè)月持續(xù)流暢”的革命性體驗(yàn)、GPU Turbo、EROFS超級(jí)文件系統(tǒng)、方舟編譯器以及確定時(shí)延引擎等針對(duì)系統(tǒng)內(nèi)核進(jìn)行的改動(dòng)。從根本上突破了安卓智能手機(jī)越用越卡頓的弊端,并深刻改變了此后安卓的用戶體驗(yàn)。
EMUI在不斷“進(jìn)化”,而這需要投入大量的時(shí)間和精力進(jìn)行研發(fā),每一次嘗試都是華為對(duì)“無人區(qū)”發(fā)起的探索。憑借深厚的技術(shù)和人才積累,華為對(duì)系統(tǒng)極限體驗(yàn)的探索還在繼續(xù),究竟華為還藏著多少“黑科技”,就讓我們一起拭目以待吧。
責(zé)任編輯:林晗枝
- 華為mate30發(fā)布會(huì)內(nèi)容一覽 華為mate30價(jià)格是多少2019-09-20
- 華為mate30發(fā)布會(huì)內(nèi)容 華為發(fā)布Mate30價(jià)格、配置 新品是什么2019-09-20
- 華為mate30發(fā)布會(huì)在哪里看?華為Mate30 Pro和iPhone 11 Pro哪個(gè)更好?2019-09-19
- 華為mate30發(fā)布會(huì)直播入口地址 華為mate30發(fā)布會(huì)有哪些亮點(diǎn)2019-09-19
- 華為mate30發(fā)布會(huì)有什么內(nèi)容 華為mate30什么時(shí)候出2019-09-19
- 華為mate30發(fā)布會(huì)時(shí)間什么時(shí)候 華為mate30發(fā)布會(huì)直播地址2019-09-19
- 華為mate30發(fā)布會(huì)有什么看點(diǎn)?華為mate30支持5G嗎?2019-09-19
- 華為Mate30發(fā)布會(huì)直播地址 華為mate30發(fā)布會(huì)時(shí)間幾點(diǎn)開始?2019-09-19
- 最新國內(nèi)新聞 頻道推薦
-
請(qǐng)給我一面國旗@微信官方頭像獲取方法 微信頭2019-09-26
- 進(jìn)入圖片頻道最新圖文
- 進(jìn)入視頻頻道最新視頻
- 一周熱點(diǎn)新聞
已有0人發(fā)表了評(píng)論