成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

跨平臺開源項目Ngui【基準性能測試報告】

SKYZACK / 2300人閱讀

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

Ngui簡介

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

Ngui的目標:在此基礎上開發(fā)GUI應用程序可擁有開發(fā)WEB應用般簡單與速度同時兼顧Native應用程序的性能與體驗。

開源跨平臺移動項目Ngui【簡介】

開源跨平臺移動項目Ngui【入門】

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

開源跨平臺移動項目Ngui【Action動作系統(tǒng)】

開源跨平臺移動項目Ngui【CSS樣式表規(guī)則及用法】

Ngui API 文檔

Benchmark

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

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

測試主要集中在圖形方面,這包括JS調用API的時間開銷,圖形繪制的幀率,CPU的運行百分占比。對于文件IO以以及網絡方面的測試相對比較少,這里也不做陳述,因為庫本身是基于NodeJS基本沒有任何改動,相信大家對NodeJS的大名已如雷貫耳。

下面的數(shù)據(jù)是對iPhone6Google Nexus6 、iPad mini2的測試結果。

注意下面的時間單位都為毫秒,CPU占比以單核為準100%表示一個CPU核心滿載運行。

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

View

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

設備 Div數(shù)量 創(chuàng)建時間 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截圖:

下面是主要的測試源碼:

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

在同一屏幕隨機創(chuàng)建4000個視圖,并隨機設置旋轉動作,這時查看CPU占用,與屏幕刷新率。這主要測試動作系統(tǒng)性能、同屏繪圖性能,以及設備的CPU與GPU的性能。CPU占比越低幀數(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萬個樣式表所消耗的時間。

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

這里與Dom操作很類似時間有點長,這是因為對屬性值的解析是通過調用JS方法完成,如果這個過程在Native中,這個時間會減少很多,這也是以后的版本所需要解決的問題。

Storage

下面分別是調用20萬次storage.set()、20萬次storage.get()、20萬次storage.del()消耗的時間。

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

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

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

轉載請注明本文地址:http://systransis.cn/yun/92274.html

相關文章

  • 開源平臺移動項目Ngui【入門】

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

    wawor4827 評論0 收藏0

發(fā)表評論

0條評論

SKYZACK

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<