Unity WebGL工程記憶體問題

2021-10-20 18:38:55 字數 1382 閱讀 5801

正文:

又一次踩了unity webgl的坑 。

在unity編輯器中(本人使用的是unity版本是2019.2.11f1),測試的工程是沒有任何問題的,在工程發布之後谷歌瀏覽器控制台顯示一下內容。 

could not allocate memory: system out of memory!

在發布unity webgl 專案後瀏覽器彈出如下內容:

新版本unity預設的是2g的空間,老版本的是unity是可以在打完webgl工程後再build目錄下的工程名.json中修改的。如果沒有記錯的話,應該是256m的大小。

新版本給了2g的空間,一旦使用不當就會超出2g的空間。下面來記錄一種記憶體問題。

開啟工程我們可以通過unity的的分析器檢視記憶體占用情況

我們通過下圖可以看到,在資源中2d貼圖就占用了資源的絕大比例的資源。

一張貼圖就可能占用10.7m,

一張貼圖的maxsize的是2048

如果對模型的精細程度要求不高的話,可以將maxsize的大小設為512 或者更小,如果設定512的話,記憶體占用將會小很多。

基本以上上的操作就可以減少texture2d部分 90%的記憶體空間。

unity webgl不支援unity預設字型,不支援excle的讀取及本地資料庫讀取

qframework 框架  不支援 unity webgl

【關注、點讚,收藏】

qq群號:1056320746

使用Android Studio除錯記憶體問題

記憶體問題對於android開發者是永遠的痛。如果乙個android程式設計師說他沒有遇到過outofmemory,那只能說他絕對不是做android的。以往在adt年代,都是使用eclipse的mat 外掛程式來做記憶體分析。在使用了android studio開發後,發現as不僅帶來了不少編碼上...

memmove 解決記憶體拷貝時記憶體重疊的問題

記憶體重疊 拷貝的目的位址在源位址範圍內。所謂記憶體重疊就是拷貝的目的位址和源位址有重疊。在函式strcpy和函式memcpy都沒有對記憶體重疊做處理的,使用這兩個函式的時候只有程式設計師自己保證源位址和目標位址不重疊。使用memmove函式可解決記憶體重疊問題。memmove函式對記憶體重疊做了處...

Linux記憶體高,觸發oom killer問題

最近遇到兩起linux的記憶體問題,其一是觸發了oom killer導致系統掛 1.首先確認該系統的版本是32位 uname a linux alarm 2.6.9 67.elsmp 1 smp wed nov 7 13 58 04 est 2007 i686 i686 i386 2.我們了解一下3...