性能測試的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下性能測試的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為巢湖企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、成都網(wǎng)站制作,巢湖網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

如何正確的測量而不是猜測這點很重要。根據(jù)性能相關(guān)的知識寫出代碼不同于倉促的優(yōu)化。前者很好,后者實際上就是在浪費時間。

那該如何測量呢?

第一步就是確保在真實環(huán)境下測試你的程序。

當(dāng)你開始做一些性能方面的工作時,一定要在真機上測試,而不是模擬器。模擬器雖然是加快開發(fā)效率的一把利器,但它不能提供準(zhǔn)確的真機性能參數(shù)。

模擬器運行在你的Mac上,然而Mac上的CPU往往比iOS設(shè)備要快。相反,Mac上的GPU和iOS設(shè)備的完全不一樣,模擬器不得已要在軟件層面(CPU)模擬設(shè)備的GPU,這意味著GPU相關(guān)的操作在模擬器上運行的更慢,尤其是使用CAEAGLLayer來寫一些OpenGL的代碼時候。

這就是說在模擬器上的測試出的性能會高度失真。如果動畫在模擬器上運行流暢,可能在真機上十分糟糕。如果在模擬器上運行的很卡,也可能在真機上很平滑。你無法確定。

性能測試一定使用發(fā)布配置

另一件重要的事情就是性能測試一定要用發(fā)布配置,而不是調(diào)試模式。因為當(dāng)用發(fā)布環(huán)境打包的時候,編譯器會引入一系列提高性能的優(yōu)化,例如去掉調(diào)試符號或者移除并重新組織代碼。你也可以自己做到這些,例如在發(fā)布環(huán)境禁用NSLog語句。你只關(guān)心發(fā)布性能,那才是你需要測試的點。

最后,好在你支持的設(shè)備中性能最差的設(shè)備上測試:如果基于iOS6開發(fā),這意味著好在iPhone3GS或者iPad2上測試。如果可能的話,測試不同的設(shè)備和iOS版本,因為蘋果在不同的iOS版本和設(shè)備中做了一些改變,這也可能影響到一些性能。例如iPad3明顯要在動畫渲染上比iPad2慢很多,因為渲染4倍多的像素點(為了支持視網(wǎng)膜顯示)。

為了做到動畫的平滑,你需要以60FPS(幀每秒)的速度運行,以同步屏幕刷新速率。通過基于NSTimer或者CADisplayLink的動畫你可以降低到30FPS,而且效果還不錯,但是沒辦法通過CoreAnimation做到這點。如果不保持60FPS的速率,就可能隨機丟幀,影響到體驗。

你可以在使用的過程中明顯感到有沒有丟幀,但沒辦法通過肉眼來得到具體的數(shù)據(jù),也沒法知道你的做法有沒有真的提高性能。你需要的是一系列精確的數(shù)據(jù)。

你可以在程序中用CADisplayLink來測量幀率,然后在屏幕上顯示出來,但應(yīng)用內(nèi)的FPS顯示并不能夠完全真實測量出CoreAnimation性能,因為它僅僅測出應(yīng)用內(nèi)的幀率。我們知道很多動畫都在應(yīng)用之外發(fā)生(在渲染服務(wù)器進程中處理),但同時應(yīng)用內(nèi)FPS計數(shù)的確可以對某些性能問題提供參考,一旦找出一個問題的地方,你就需要得到更多精確詳細(xì)的數(shù)據(jù)來定位到問題所在。蘋果提供了一個強大的Instruments工具集來幫我們做到這些。

看完了這篇文章,相信你對“性能測試的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章題目:性能測試的示例分析-創(chuàng)新互聯(lián)
文章源于:http://bm7419.com/article40/cedgeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、建站公司微信小程序、軟件開發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)