從Native到Web(五), emscripten學習筆記: 初體驗

來源:互聯網
上載者:User

在《傳統3D遊戲引擎的Web化》中, 當時我還說emscripten不夠成熟, 可是短短几個月它就有了很大的進步, 可用性甚至超過了flascc!

在GDC2013上, Unreal發布了基於emscripten的移植Demo, 據說只用了4天時間, 足以看出這個移植過程的平滑

floh前幾天發布了一個PPT: 《C++ on the Web: Run your big 3D game in the browser》, 裡面提到了他們把遊戲移植到網頁上所做的各種嘗試

主要提到了三種技術: Google NaCl, Adobe flascc, Mozilla emscripten. 到最後還是選擇了emscripten, 這裡有一些他的Demo: http://www.flohofwoe.net/demos.html

在他之前的Blog中也有提到各個方案的問題:

  • NaCl: 仍然沒有開放(必須是商店中的應用), 除Chrome外的瀏覽器不支援. 當然, 他的技術限制相對來說小一些, 效能也比較好
  • flascc: 編譯/連結效率巨低, 過程中占記憶體巨大. 運行效率不能讓人滿意. 目前來說, 優勢也就是裝機率高
  • emscripten: IE支援是個問題. 線程支援也是個問題. API支援度比較好, 運行效率可以達到3D遊戲的要求, 不限瀏覽器, 支援HTML5+WebGL即可

目前主要的問題是IE對於WebGL的支援, 但是IE11已經對WebGL開始實驗性的支援了, 從這一點來說, 這個方案還是一種不錯的預研選擇

環境搭建的話, 跟NaCl比較像, 因為他們實現的思路說到底也都是托LLVM的福. 參考: Using Emscripten from Visual Studio 2010

從代碼來看, 跟Native沒什麼兩樣, 所以只需要注意下平台相差的編碼就可以了

floh的demo運行效果(需要FireFox或者Chrome27以上版本):

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.