Unity3D與Native Solution在iOS上的簡易測試報告

Unity3D

這禮拜發了一個願,就是要比較一下各種3D Solution在iOS上的比較,經過昨天的測試, 很另人意外的Unity3D效能其實還不差,但是若是跟native比的話當然還是native要來的強大多了,不過前提是要能會搞native,所以為了要能讓大家對Unity3D這個Solution的可以稍微參考一下,這篇只針對Render的能力做比較(用同一個模型像去跑),搞了張比較表給大家比較:

  1. 簡易度:Unity3D >>> Native
    (Unity3D有讓我感覺當年搞ActionScript 2的fu,就是簡單的把code掛在3D物件上。)
  2. 格式支援:Unity3D >>> Native
    (Unity3D可以直接支援像是FBX或是DAE的檔案格式,Native的話自己來吧。不過不知道為何,可能我對Unity3D不太熟,Unity3D在匯入Texture時居然都跑掉了?)
  3. 效能:Native > Unity3D
    (這讓我有點驚訝的不是Native贏了,而是Unity3D沒有輸非常多,這讓我對他蠻肯定的,不過注意我只比較算圖能力,對於其他像是邏輯計算能力不在此篇範圍內。不過我發現若是你功力不夠很有可能搞到變成Unity3D > > Native)
  4. 自由度:Native >>> Unity3D
    (這不用說,若是你想在裡面跟你的iOS裝置緊密結合,還是Native好處理。)
  5. 平台通用性:Unity3D >>> Native
    (這…沒什麼好說的,Native就…..iOS一個,當然這也是Unity3D最大賣點。)
  6. 建置成本:Native >>>> Unity3D
    (這要說明不是專案成本,Unity3D要發佈在iOS上的低消是3000美元,大約9萬台幣,不包含升級和其他擴充外掛,但對於他的品質來說我覺得9萬很值得,並不是太貴,Native就是0元。)

總結一下,如果你想開發3D又對複雜的OpenGL沒有興趣,看起來用Unity3D會是一個不錯而且進入門檻較低的途徑,當然前提是你只使用他所提供的範圍,若是你像我有特殊需求,會需要寫自己的Shader或是要動態的產生一些特殊Vertex或是Texture,那麼很可惜的Unity3D並不適合你,因為你只能自己來了。

最後你可能會問我會推薦用Unity3D嗎?我想我的答案是肯定的,雖然在我的專案中我最終還是考慮用Native,不過那是因為我的特殊需求太多,並非Unity3D不好。

另外也請不要問我快樂版或謎版的問題,因為我是用 Unity3D Pro (30 day Trial Version),你如果有興趣想要試用可以到官方網站下載試用,另外我再找資料時有順便看到很多人在討論是否可以用謎版發佈到App Store上,答案是否定的,他們可能綁了什麼機制吧?這我就沒研究了,還有就算可以發佈,Unity3D也埋了產品的驗證碼在裡面,相信要發現你用謎版應該是很容易的事情,所以3000美金不多,有需要的就給他衝下去吧。

後記:
今天終於花了點時間把Unity3D和Native的實際數據跑出來了, 12852 Vertex + Alpha blend, 跑完的效能是:
Unity3D:Native = 5fps vs 13fps.

很明顯Native快了整整一倍多. 我可以心甘情願的走Native這條路了。
跑不出的效能從Shader擠吧。 XD

本篇發表於 Objective C 與標籤於 anistar固定網址書籤。
本文引用:
文章內容為ANISTAR BLOG所有,引用分享請以鏈結形式註明出處與原始作者。

關於 anistar

現任:台灣區 Yahoo! 專長: Objective C、iOS SDK、Android SDK、Flex 4、RIA、ActrionScript 3、HTML5、CSS3、JQuery、JQuery Mobile、C++、PHP、MySQL...等整合運用。 著作:《Run!PC雜誌》專欄作家、《CADesigner雜誌》專欄作家、《Flash CS3 Professional ActionScript 3.0 打造互動設計力與美》、《新一代互動體驗Flex+AIR程式開發》。 認證:Macromedia Certified Instructor in ColdFusion    Adobe Certified Expert in Photoshop    Adobe Certified Instructor in Flex

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *