91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

性能測試的示例分析

發布時間:2021-03-04 15:01:26 來源:億速云 閱讀:136 作者:小新 欄目:編程語言

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

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

那該如何測量呢?

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

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

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

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

  性能測試一定使用發布配置

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

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

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

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

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

看完了這篇文章,相信你對“性能測試的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

精河县| 商丘市| 蕉岭县| 民乐县| 民勤县| 石嘴山市| 鄂州市| 湘潭县| 巴东县| 同江市| 搜索| 威信县| 石家庄市| 资讯| 华阴市| 铜山县| 仙桃市| 舟曲县| 赤城县| 广灵县| 海淀区| 达尔| 玛沁县| 彩票| 岗巴县| 麟游县| 惠水县| 十堰市| 涟水县| 门源| 光山县| 聊城市| 高密市| 新昌县| 沿河| 增城市| 庆安县| 石阡县| 安溪县| 平南县| 拜城县|