亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

跨平臺(tái)開源項(xiàng)目Ngui【基準(zhǔn)性能測(cè)試報(bào)告】

SKYZACK / 2348人閱讀

摘要:測(cè)試主要集中在圖形方面,這包括調(diào)用的時(shí)間開銷,圖形繪制的幀率,的運(yùn)行百分占比。注意下面的時(shí)間單位都為毫秒,占比以單核為準(zhǔn)表示一個(gè)核心滿載運(yùn)行。占比越低幀數(shù)越高表示性能越好。

Ngui簡(jiǎn)介

這是一個(gè)GUI的排版顯示引擎和跨平臺(tái)的GUI應(yīng)用程序開發(fā)框架,基于NodeJS/OpenGL,這也是第一個(gè)在移動(dòng)端Android/iOS融合NodeJS的前端GUI項(xiàng)目,至此JavaScript成為了真正意義上前后端通吃的語(yǔ)言。

Ngui的目標(biāo):在此基礎(chǔ)上開發(fā)GUI應(yīng)用程序可擁有開發(fā)WEB應(yīng)用般簡(jiǎn)單與速度同時(shí)兼顧Native應(yīng)用程序的性能與體驗(yàn)。

開源跨平臺(tái)移動(dòng)項(xiàng)目Ngui【簡(jiǎn)介】

開源跨平臺(tái)移動(dòng)項(xiàng)目Ngui【入門】

開源跨平臺(tái)移動(dòng)項(xiàng)目Ngui【視圖與布局系統(tǒng)】

開源跨平臺(tái)移動(dòng)項(xiàng)目Ngui【Action動(dòng)作系統(tǒng)】

開源跨平臺(tái)移動(dòng)項(xiàng)目Ngui【CSS樣式表規(guī)則及用法】

Ngui API 文檔

Benchmark

距離項(xiàng)目第一個(gè)版本發(fā)布已有一段時(shí)間,雖然有做基準(zhǔn)測(cè)試,但這段時(shí)間忙著找工作與外包的事情,一直沒有向大家報(bào)告測(cè)試結(jié)果。
總體測(cè)試結(jié)果還算比較滿意,基本達(dá)到當(dāng)初開發(fā)這個(gè)庫(kù)的初衷,但也有不足的地方。
iPhone6上創(chuàng)建10萬(wàn)個(gè)Div并對(duì)相關(guān)屬性進(jìn)行設(shè)置需要10秒以上的時(shí)間,但在Android上這個(gè)時(shí)間會(huì)減少到1/2,
因?yàn)?b>Android使用的V8,而iOS上是使用的JSC并通過(guò)膠水層粘合到V8的API,所以JS性能不如Android。

對(duì)于2d繪圖GPU不是主要瓶頸,主要瓶頸集中在CPU,但可優(yōu)化的空間還很大。

測(cè)試主要集中在圖形方面,這包括JS調(diào)用API的時(shí)間開銷,圖形繪制的幀率,CPU的運(yùn)行百分占比。對(duì)于文件IO以以及網(wǎng)絡(luò)方面的測(cè)試相對(duì)比較少,這里也不做陳述,因?yàn)閹?kù)本身是基于NodeJS基本沒有任何改動(dòng),相信大家對(duì)NodeJS的大名已如雷貫耳。

下面的數(shù)據(jù)是對(duì)iPhone6、 Google Nexus6 、iPad mini2的測(cè)試結(jié)果。

注意下面的時(shí)間單位都為毫秒,CPU占比以單核為準(zhǔn)100%表示一個(gè)CPU核心滿載運(yùn)行。

還有一點(diǎn)需要注意在屏幕沒有任何變化時(shí),CPU占用一般為1%左右。

View

在一個(gè)全屏Scroll視圖中創(chuàng)建10萬(wàn)個(gè)Div視圖,然后滾動(dòng)這個(gè)Scroll,這時(shí)查看CPU占比以及頻幕刷新率。
Div視圖是自動(dòng)布局的,所以10萬(wàn)個(gè)Div不會(huì)在屏幕中同時(shí)出現(xiàn)。這主要測(cè)試Dom的操作、視圖排版布局、以及繪圖性能。

設(shè)備 Div數(shù)量 創(chuàng)建時(shí)間 Fsp CPU占比
iPhone6 10000 1257 60 45%
Nexus6 10000 670 60 48%
iPad mini2 10000 1269 60 60%
iPhone6 20000 2457 60 58%
Nexus6 20000 1265 60 70%
iPad mini2 20000 2460 60 90%
iPhone6 50000 6162 48 97%
Nexus6 50000 2987 39 97%
iPad mini2 50000 5959 42 97%
iPhone6 100000 12647 25 97%
Nexus6 100000 5859 20 97%
iPad mini2 100000 11964 22 97%

這是iPhone6截圖:

下面是主要的測(cè)試源碼:

new GUIApplication({ multisample: 2 }).start(
    
        
            ${
                Array.from({length:100000}, ()=>{
                    var color = new Color(random(0, 255), 
                        random(0, 255), random(0, 255), 255);
                    return 
; }) } )
Action

在同一屏幕隨機(jī)創(chuàng)建4000個(gè)視圖,并隨機(jī)設(shè)置旋轉(zhuǎn)動(dòng)作,這時(shí)查看CPU占用,與屏幕刷新率。這主要測(cè)試動(dòng)作系統(tǒng)性能、同屏繪圖性能,以及設(shè)備的CPU與GPU的性能。CPU占比越低幀數(shù)越高表示性能越好。

設(shè)備 數(shù)量 Fsp CPU占比
iPhone6 1000 60 54%
Nexus6 1000 60 65%
iPad mini2 1000 60 90%
iPhone6 2000 60 98%
Nexus6 2000 40 110%
iPad mini2 2000 40 88%
iPhone6 4000 30 104%
Nexus6 4000 20 110%
iPad mini2 4000 25 104%

從數(shù)據(jù)上可以看出Nexus6的單核CPU性能不如iPhone6。

下面是iPhone6截圖:

CSS

創(chuàng)建10萬(wàn)個(gè)樣式表所消耗的時(shí)間。

設(shè)備 創(chuàng)建時(shí)間
iPhone6 14699
Nexus6 10381
iPad mini2 14808

這里與Dom操作很類似時(shí)間有點(diǎn)長(zhǎng),這是因?yàn)閷?duì)屬性值的解析是通過(guò)調(diào)用JS方法完成,如果這個(gè)過(guò)程在Native中,這個(gè)時(shí)間會(huì)減少很多,這也是以后的版本所需要解決的問(wèn)題。

Storage

下面分別是調(diào)用20萬(wàn)次storage.set()、20萬(wàn)次storage.get()、20萬(wàn)次storage.del()消耗的時(shí)間。

設(shè)備 set() get() del()
iPhone6 4381 3821 3547
Nexus6 7178 6539 6567
iPad mini2 4951 4256 4179
End

上面的數(shù)據(jù)只能做大體參考,對(duì)這種GUI框架的測(cè)試我現(xiàn)在還沒有找到比較好的標(biāo)準(zhǔn)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/92274.html

相關(guān)文章

  • 開源平臺(tái)移動(dòng)項(xiàng)目Ngui【入門】

    摘要:簡(jiǎn)介這是一個(gè)的排版顯示引擎和跨平臺(tái)的應(yīng)用程序開發(fā)框架,基于,這也是第一個(gè)在移動(dòng)端融合的前端項(xiàng)目,至此成為了真正意義上前后端通吃的語(yǔ)言。 Ngui簡(jiǎn)介 這是一個(gè)GUI的排版顯示引擎和跨平臺(tái)的GUI應(yīng)用程序開發(fā)框架,基于NodeJS/OpenGL,這也是第一個(gè)在移動(dòng)端Android/iOS融合NodeJS的前端GUI項(xiàng)目,至此JavaScript成為了真正意義上前后端通吃的語(yǔ)言。 Ngui...

    wawor4827 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<