[過去ログ]
【3Dゲームエンジン】Unity質問スレッド40 (1002レス)
【3Dゲームエンジン】Unity質問スレッド40 http://mevius.5ch.net/test/read.cgi/gamedev/1558164614/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
625: 名前は開発中のものです。 [sage] 2019/08/06(火) 14:11:10.07 ID:z7D4MMQZ 質問失礼します。 複数のzipファイルをダウンロードして展開する処理があります。 特定のiPhoneで、その処理中に落ちてしまう問題があり困っています。 XCodeのMemory Reportを見ながら落ちる症状を確認したのですが、どうやら解放されずに溜まり続けてメモリ不足で落ちてしまっているようです。 メモリリークを疑ってソースを見直して該当変数をnullクリアしたのですが、症状は改善されませんでした。 毎フレーム明示的にガベージコレクションしてもみましたがダメでした。 時々以下のようなログが出ます。 GC Warning: Repeated allocation of very large block (appr. size 11440128): May lead to memory leak and poor performance 複数のzipファイルは44ファイルの10MB強のファイルと、1ファイルの40MB弱のファイル、2ファイルの50MB強のファイルで構成されています。 自分の想定では、右肩上がりになるものの、ガベコレのタイミングで解放されてメモリ使用量が落ちると思っていました。 (ノコギリ状のグラフになると思っていました) どうやればメモリのグラフが右肩上がりになる事なく、正常に処理できますでしょうか? 分かる方、よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1558164614/625
626: 名前は開発中のものです。 [sage] 2019/08/06(火) 14:44:30.79 ID:Kbpe82Iu >>625 アセットを買いましょう http://mevius.5ch.net/test/read.cgi/gamedev/1558164614/626
648: 625 [] 2019/08/08(木) 10:59:18.11 ID:p9HE81J5 >>626 すでに購入しており、それでzip解凍を行っています。 >>627 どうやっても解放できなくて困っています。 アセット内のzipは、 GCHandle ibuf = GCHandle.Alloc(progress, GCHandleType.Pinned); で確保して、 ibuf.Free(); で解放しているようです。 正常に解凍出来た後、全てのバッファをnullクリアして、 Resources.UnloadUnusedAssets(); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); 上記の処理を行っているのですが、解放されていないようです。 http://mevius.5ch.net/test/read.cgi/gamedev/1558164614/648
654: 625 [sage] 2019/08/10(土) 14:19:16.99 ID:IuOrKDEH 根本的な解決には至っていませんが、回避できました。 感覚的には大きなサイズのファイルを読み込むと解放できなくなる気がします。 DownloadHandlerFileを使って直接ファイルを保存してメモリ使用量を節約しました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/gamedev/1558164614/654
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s