[過去ログ] フラグメンテーション対策雑談スレ (32レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2022/05/22(日)19:53 ID:923jZ1Ck(1/11) AAS
プログラマーがゲームを作る上で避けては通れないバグ、フラグメンテーション。
ファイルとメモリーのデータのやり取りが増えれば増えるほど発生して、
メモリーを圧迫して最後には発生原因不明のバグを発生させる恐怖のバグ。

そんなフラグメンテーションの対策を行うための雑談スレッドです。
2: 2022/05/22(日)19:57 ID:U4CargQq(1) AAS
あ?よく聞こえないナ~
3: 2022/05/22(日)20:01 ID:923jZ1Ck(2/11) AAS
Unityとかってフラグメンテーション起きね?
4: 2022/05/22(日)20:08 ID:923jZ1Ck(3/11) AAS
複雑なプログラムを組めば組むほどフラグメンテーション起きるから大変だよね?
で、みんなどうやって回避してる?
5
(1): 2022/05/22(日)20:33 ID:923jZ1Ck(4/11) AAS
malloc全面禁止が出来れば楽なんだがな
フラグメンテーションが起きようも無くなる
まあ、簡単な話ではないけどな
6
(1): 2022/05/22(日)20:45 ID:923jZ1Ck(5/11) AAS
最初にmallocした領域を最後まで使い続ける手もあるな
途中でreallocを使わなければ、どうって事もない話だ
7
(1): 2022/05/22(日)21:04 ID:923jZ1Ck(6/11) AAS
要は、メモリーに隙間を空けなければ良いだけだしな
8
(1): 2022/05/22(日)21:08 ID:923jZ1Ck(7/11) AAS
同じメモリーを余裕を持って取得し、最後まで使い回す
どのぐらいの余裕が必要かは考えれば出てくると思われる

例えば、TCP/IPのパケットの場合は、64kが最大だから、
このサイズでメモリーを取得して使い回せば良い
9
(1): 2022/05/22(日)21:15 ID:923jZ1Ck(8/11) AAS
取得したメモリー領域をいちいち全部解放する方法もあるよな
これなら隙間の空きようも無い

ただ、メモリーの取得方法や環境によっては、
取得した順番とは真逆に解放する必要があるケースがあり得るから注意する事
10: 2022/05/22(日)21:17 ID:923jZ1Ck(9/11) AAS
>>5-9を組み合わせるだけでもわりと何とかなるよな
11: 2022/05/22(日)21:25 ID:923jZ1Ck(10/11) AAS
画像とかどう対処してる?
圧縮展開方法によっては対処できない場合ってない?
自前圧縮展開なら何とかなるかもしれんが。
ドット絵程度なら自分でツール作れるなら固定領域で何とかなりそうだが、
立ち絵使うとそうも言ってられなくね?
グラボのドライバによっても色々と問題起きそうだし。
俺は一応、bmp使って何とかしてるけど。
12: 2022/05/22(日)21:39 ID:923jZ1Ck(11/11) AAS
スクロールマップを諦めるだけでなんとなる方法はあるな
一画面マップのタイル置きと、大マップを組み合わせるとか
アクションゲームならこれだけで十分色々と対処出来るし、
むしろ下手にスクロールさせるよりも凝った事が出来る
13: 2022/05/23(月)01:17 ID:sMecdujG(1) AAS
フラグメンテーション、PythonやVB,C#でも起きるよ。どんな言語でも起きる。
ただ、同じ領域を別のデータが締める事が多いから、滅多な事は無いと思うが。
1-
あと 19 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.006s