忍者ブログ

RPG製作ソフト「Role Paint」を作っていくぜ!ツクールのようなRPG製作ソフト「Role Paint」を作っていくブログ。 相互リンク募集中

マップエディタのメモリを半分以上削減する事に成功(1月4日~1月9日)

結局、あの後もマップエディタのメモリ減らしに大いに嵌り、一気に削る事に成功した。
これで50MBから60MB程。一気に使いやすくなった。

やり方は四次元のInteger型のArrayListをbyte型の通常の4次元配列に帰るという物。
今までIntegerはintと同じぐらいのバイト数だと勘違いしていたのだが、classmexerというメモリを計測する外部のライブラリを使用した結果、実際は全然違った事が発覚。かといってJavaではプリミティブ型の可変長配列が不可能(どうにかしろよ・・・)なので、通常の配列に変更した。これだとマップの大きさの設定変更の処理が面倒臭くなるが、この際仕方ない。さらにintよりバイト数が短いbyteを使った事により、更に節約した。

また、byteの配列の宣言方法を工夫した。具体的に言うと[タイルセットの数」[マップのレイヤー][縦の長さ][横の長さ]という順番にした。何故かこれだけでメモリを節約できる。

後はCPU負担だが・・・・他にもまだ大量に作業が残っているし、どうした物か。

拍手[7回]

PR
Comment
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。