本系列文章是對 metalkit.org 上面MetalKit內容的全面翻譯和學習.性能優化
每一年六月都是個人最愛,緣由不少,但WWDC2016是最重要的緣由!觀看開篇keynote
和昨天的Platforms State Of The Union
會議中,透露出不少新特性甚至新框架.在本文中,咱們只關注Graphics and Games圖形和遊戲方面.框架
先從Metal開始.目前,最熱門最期待的特性是支持Tessellation曲面細分,它使3D應用和遊戲經過高效描述複雜幾何體到GPU
來渲染出更多細節.另外一個特性是Function Specializatio功能專業化/功能特化,它幫助建立一個特殊優化過的函數的集合來處理材料和燈光在場景中的結合.今年還有一個新功能是Resource Heaps and Memoryless Render Targets資源堆和無記憶渲染目標,來實現iOS
和tvOS
上細粒度的資源分配和性能優化控制.最後,Metal System Trace是macOS
獨佔的特性,能夠幫助咱們用CPU
和GPU
之間的交互概況來分析圖形管線,這能夠幫助咱們發現基於Metal的應用的性能優化點.less
Model I/O框架帶來了USD文件格式支持.MDLMaterialPropertyGraph類能夠讓我更方便地支持對模型進行運行時程序改變.同時,MDLVoxelArray類添加了對 signed distance fields有符號距離場的支持.最後,你能夠經過MDLLightProbeIrradianceDataSource協議添加輔助燈光探頭的旋轉.編輯器
GameplayKit框架帶來了Procedural noise generation程序噪聲生成能夠用來豐富遊戲世界,更高端的紋理,更真實的攝像機移動.接着,Spatial partitioning空間分割讓咱們分割遊戲世界的數據,這樣能夠更高效的搜索.還有Monte Carlo strategist蒙特卡洛策略幫助咱們建模遊戲中可能存在移動困難的地方.新的decision tree API決策樹API在採用決策樹學習來產生基於玩家動做數據挖掘的行爲能夠加強咱們遊戲內建AI.函數
ReplayKit框架引入對tvOS的支持,及對broadcasting的支持,因此咱們能夠經過第三方網站來廣播錄製的媒體了.post
SceneKit框架引入了新的Physically Based Rendering基於物理渲染系統,能夠讓咱們用簡單的資源編輯就建立出更真實的結果.同時,新的HDR特性和效果幫助咱們建立更加真實.性能
SpriteKit框架引入了新的tilemap瓷磚地圖解決方案來支持矩形,六邊形和等軸測瓷磚地圖.Xcode編輯器也提供對瓷磚和瓷磚地圖的支持.學習
Accelerate框架引入了對quadrature求積分
(積分)的支持,組建神經網絡的基本數學函數,及幾何學斷言函數來測試物體交叉.測試
Core Image框架如今容許咱們插入自定義的處理到Core Image
圖形濾鏡中.Core Image
內核代碼如今能夠請求特殊輸出像素格式了.最後,Core Image
添加了五個新濾鏡來擴展濾鏡集合.
敬請關注更多消息!