2013-10-07 48 views
1

我有要求顯示3D圖像。我有一個.obj文件,其大小爲80 MB,我轉換爲json文件,這也接近75 MB。現在使用三個js我可以顯示旋轉的3D圖像,但問題是速度。它幾乎需要1分鐘即可加載3D圖像三js顯示使用大尺寸json文件的3D圖像

而且客戶端需要顯示同一頁上2這樣的圖像我能做到這一點,但也正在採取近4-5分鐘,以加載圖像

請問增加速度有什麼解決方法?

回答

3

如果對象大小爲80MB,那麼它不應該被認爲適合在Web應用程序中使用。如果這個模型似乎沒有很高的細節,那麼或許你的出口商有一些問題,你會得到很多你不需要的額外信息。如果模型非常複雜,那麼唯一真正的選擇是大幅簡化模型,或者找到另一個具有較低多邊形數的模型。

如果模型直接來自客戶端,那麼不幸的是您將不得不面對讓他們確信侷限性的難以置信的任務。

如果您絕對必須使用這些模型,也許您可​​以嘗試壓縮數據並在客戶端對其進行解壓縮。快速谷歌提出了這個堆棧溢出的問題爲出發點:

Client side data compress/decompress?

編輯:也許你可以把它分成單獨的塊。由於它是一種索引格式,因此您可能仍需先下載所有頂點數據,然後再下載索引數據塊。

如果您想深入一點,您可以嘗試將索引數據拆分爲塊並計算每個塊需要哪些頂點。不能保證最終的結果看起來不錯,但這可能不值得。也就是說,通過一些分析,您可能會重新排列索引,以便以合理的順序裝載模型,例如從前到後或從左到右。

如果您有一位3d藝術家可供您使用,將模型分解爲多個模型並將其逐個加載到場景中可能會更容易。這可能會看起來更清潔,因爲您可以在哪裏剪切模型做出藝術選擇。

+0

不幸的是,文件被客戶端共享,它包含高水平的細節。如果我壓縮文件,那麼它仍然是30 MB或40 MB的大小。有什麼辦法像解析json文件的部分? –

+0

嗨。我在上面的答案中增加了一些額外的想法。 – null

+1

嗨@Jaydeep S.我希望你不介意我問,但我注意到你剛加入Stack Overflow,可能你不知道它是如何工作的。如果我的回答對你有幫助,你會不會介意將它作爲「正確」的答案?這樣我就可以得到一些聲望點,並且答案會被標記爲對其他用戶有價值。我希望你解決了你的問題......如果你想出了一個好的解決方案,也許你可以回報,以便其他人可以從你的經驗中學習。謝謝! – null