22/05/22 20:33:49.45 923jZ1Ck.net
malloc全面禁止が出来れば楽なんだがな
フラグメンテーションが起きようも無くなる
まあ、簡単な話ではないけどな
6:名前は開発中のものです。
22/05/22 20:45:11.73 923jZ1Ck.net
最初にmallocした領域を最後まで使い続ける手もあるな
途中でreallocを使わなければ、どうって事もない話だ
7:名前は開発中のものです。
22/05/22 21:04:00.00 923jZ1Ck.net
要は、メモリーに隙間を空けなければ良いだけだしな
8:名前は開発中のものです。
22/05/22 21:08:32.45 923jZ1Ck.net
同じメモリーを余裕を持って取得し、最後まで使い回す
どのぐらいの余裕が必要かは考えれば出てくると思われる
例えば、TCP/IPのパケットの場合は、64kが最大だから、
このサイズでメモリーを取得して使い回せば良い
9:名前は開発中のものです。
22/05/22 21:15:30.04 923jZ1Ck.net
取得したメモリー領域をいちいち全部解放する方法もあるよな
これなら隙間の空きようも無い
ただ、メモリーの取得方法や環境によっては、
取得した順番とは真逆に解放する必要があるケースがあり得るから注意する事
10:名前は開発中のものです。
22/05/22 21:17:24.33 923jZ1Ck.net
>>5-9を組み合わせるだけでもわりと何とかなるよな
11:名前は開発中のものです。
22/05/22 21:25:59.87 923jZ1Ck.net
画像とかどう対処してる?
圧縮展開方法によっては対処できない場合ってない?
自前圧縮展開なら何とかなるかもしれんが。
ドット絵程度なら自分でツール作れるなら固定領域で何とかなりそうだが、
立ち絵使うとそうも言ってられなくね?
グラボのドライバによっても色々と問題起きそうだし。
俺は一応、bmp使って何とかしてるけど。
12:名前は開発中のものです。
22/05/22 21:39:56.48 923jZ1Ck.net
スクロールマップを諦めるだけでなんとなる方法はあるな
一画面マップのタイル置きと、大マップを組み合わせるとか
アクションゲームならこれだけで十分色々と対処出来るし、
むしろ下手にスクロールさせるよりも凝った事が出来る
13:名前は開発中のものです。
22/05/23 01:17:29.52 sMecdujG.net
フラグメンテーション、PythonやVB,C#でも起きるよ。どんな言語でも起きる。
ただ、同じ領域を別のデータが締める事が多いから、滅多な事は無いと思うが。
14:名前は開発中のものです。
22/05/23 04:07:24.97 fslTs1bW.net
Resources.UnloadUnusedAssets();
15:名前は開発中のものです。
22/05/23 14:06:15 GTTFE5IP.net
Unityでフラグなんちゃらは起きるのか?ググってもプラグイン側がSwitchに対応してないからぐらいで情報がない
ゲーム実行中にインスタンスを生成しまくる雑な仕様だとしても一瞬CPUスパイクが発生するので
この時に断片化を阻止しているのでは。
16:名前は開発中のものです。
22/05/24 01:04:03.03 XFFa0Abh.net
メモリーが動かない限り、フラグメンテーションは発生するよ
プログラムが原因不明の止まり方をするなら、発生していると見ていい
同じ時に同じように止まるのならともかく、止まる条件が不定期なら
フラグメンテーション、止まる条件が定期的ならデータの初期化忘れを疑う
17:名前は開発中のものです。
22/05/24 01:05:23.03 XFFa0Abh.net
プログラムが永久に止まったり落ちたりする条件の話な
18:名前は開発中のものです。
22/05/24 01:06:24.66 XFFa0Abh.net
普段はなんともないのに膨大なデータを扱うと起きるならまず間違いないな
19:名前は開発中のものです。
22/05/24 01:21:06.73 trN/G1S8.net
GCのこととは違うんか?
フラグなんちゃら
20:名前は開発中のものです。
22/05/24 01:58:24.63 XFFa0Abh.net
GCはガベージコレクションの略
GCを使えばフラグメンテーション(以下、断片化)は抑制出来る
が、万能では無いんだよな
メモリーを動かすGCがあれば良いのだが、
そこまで書いてあるGCは、滅多に無い
断片化というのは要するにメモリーが隙間だらけになるだけの話
プログラムやOSは隙間にメモリーを取得したり、
隙間に入らないメモリーだったら別の場所にメモリーを取得したりする結果、
断片化が発生する
21:名前は開発中のものです。
22/05/27 12:38:03.31 aKAllit5.net
何で同じ場所の数値変更をしないの?
22:名前は開発中のものです。
22/05/27 17:42:47.92 EKiBJ3Ar.net
面倒なプログラムを作りたくないからじゃね?
23:名前は開発中のものです。
22/05/27 18:18:20.02 EKiBJ3Ar.net
unityとか何処でアセットがメモリーを取得して
フラグメンテーションの原因になるかが分からないから怖いんだよな。
dxlibはまだ単純なラッパだから分かるし、下手にメモリ取得しないから良いけど。
24:名前は開発中のものです。
22/05/27 18:20:56.78 EKiBJ3Ar.net
STLとかも怖いよね?vector形式でメモリーを取得しまくって、領域を拡張しまくる人とか居るし。
25:名前は開発中のものです。
22/05/27 20:53:00.81 E8yMtbkD.net
最近、メモリの断片化のことを知って興奮してるのか知らないけど
unityでもメモリアロケーターのカスタマイズができるぞ
26:名前は開発中のものです。
22/05/28 06:49:30 vLBM2CtI.net
メモリーの区分けが大雑把なシステムは良いんだが、細かいシステムだと大変やね
27:名前は開発中のものです。
22/11/27 06:36:37.04 Ycxm7qQv.net
今どきフラグメンテーションとかガーベジコレクションとか意識するような開発あるの?
28:名前は開発中のものです。
22/11/27 16:51:27.62 9sD6qn95.net
Switch/PS4,5/XBox
29:名前は開発中のものです。
23/03/25 12:25:58.51 L1+spewv.net
じいちゃんが犬を捨てに行ったら、犬が先に帰ってきた
30:名前は開発中のものです。
23/08/20 10:42:36.49 3SlKXi6b.net
豪華な朝ご飯を食べた
31:名前は開発中のものです。
23/09/01 09:14:20.72 OU6y3ojL.net
>>0027
大規模なプログラムには関係あるよ
32:名前は開発中のものです。
23/09/12 18:39:47.06 HQ7OXAvH.net
大規模データベース使うとか細かい3DCGとかやると大変やね。
33:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています