所以,我正在使用webgl加載一個3d模型,並且在顯示它之前有一些代碼來執行一些操作。什麼是無阻塞地執行密集javascript的最佳方式?
問題是,這需要幾秒鐘的時間,並完全阻止用戶在此期間做任何事情。這段時間你甚至無法滾動已經夠糟糕了。我聽說在javascript中沒有多線程這樣的東西,但我需要一些不要阻塞主線程的東西。
我甚至嘗試了設置,我的iframe中加載並使用window.postMessage和消息事件偵聽器,但似乎幀的域使用了它的JavaScript相同的線程,以及使沒」工作。任何人都有解決方案來處理CPU密集型代碼,以便用戶不會被阻止做任何事情?
WebWorkers ......... – adeneo 2014-11-14 23:03:37
我從來沒有嘗試過,但如何在渲染髮生的窗口下打開彈出窗口。 load事件觸發後,從窗口中抽取DOM節點並將其插入到頁面中?我會發佈一個答案,但我需要先做一些遊戲。 – 2014-11-15 02:50:40
模型的_loading_是您面臨的主要問題 - 而不是回調?如果是這樣,請嘗試'CTMLoader',它可以選擇使用WebWorkers。 http://threejs.org/examples/webgl_loader_ctm.html。 – WestLangley 2014-11-15 03:58:33