ホーム › フォーラム › CF2.5使用法全般 › プロジェクトの保存ができない
-
投稿者投稿
-
2023-04-03 8:43 pm #37082shinon_参加者
お世話になります。
OS Windows10にてCF Developer2.5 ビルドR294.14でゲームの製作をしていますが、プロジェクトを保存しようとすると「メモリが不足しています。」というエラーが出て保存できません。そのエラーの後「ドキュメントの保存に失敗しました。」とエラーが出ます。
使用しているパソコンの物理メモリは16GBです。仮想メモリは6GBほどです。CF2.5のみ起動させた状態でタスクマネージャーでメモリの総使用量を見ると6~7GB程度使用している状態です。プロセスを見るとCF2.5が使用しているメモリは1.3GBほどです。保存しようとするディスクの空き容量は100GB以上あります。プロジェクトのサイズは3GBほどです。フレームの数は218個です。各フレームのオブジェクトの数は数百個はあると思います。
メモリ使用量を見ている感じではメモリが足りないというようには見えないのですが、解決する方法はあるでしょうか?よろしくお願いします。2023-04-04 9:46 pm #37083shinon_参加者失念していましたが、CF2.5は32bitアプリなんですね。保存時に32bitのメモリ上限2GBにひっかかっている?ような感じでしょうか。
2023-04-05 10:23 pm #37088yotuba参加者下記のリンクの記事だと約2GBの制限があるようですね。
記事には “MFAおよびビルドしたファイル” とあるので
質問されているプロジェクトファイル(.mfw)とは少し違うかもしれません可能であればプロジェクトのサイズを2GB程度まで落として見て
セーブ出来るようであれば、上記の制限に掛かっているという事ではないでしょうか2023-04-06 1:01 am #37089ASDキーマスター仰る通り、CF2.5は32bitアプリケーションですので、PCにいくらメモリが搭載されていようと、使用できるメモリ容量に上限があります。
3年程前になりますが、ビルド292.27の時に使用できるメモリ容量の上限(アプリ実行時のメモリ消費量)を調べてみたことがありますが、およそ3.5GB程度までは行けるようでした(それ以前はyotubaさんが引用されているように2GBまででした)。ちなみにビルドできるexeファイルの上限も4GB以内(約3.98GB以内)という制限があります。全ての素材をmfa(exe)に含めようとするとパンクしてしまいますので、画像や音声等で、外部から参照しても差し支えないものは外部にファイルを置いてそれを読み込むようにすると良いと思います(画像なら『ピクチャ』や『アクティブピクチャ』オブジェクトを使う、音声なら『サウンド“ファイル”を再生』のアクションを使う等です)。
どうしても削減が難しい場合は最終手段として、アプリケーションの内容を途中で区切り、別々のmfaで保存します。ビルドの際はアプリケーションの種類を『サブアプリケーション』に設定し、親アプリケーション内でそれらをサブアプリケーションを介して実行して1つに繋げるという方法もあります(物理的にファイルが別れるので、グローバルオブジェクトやグローバルイベントを使用した共有化はできなくなりますが)。
2023-04-07 10:41 pm #37090shinon_参加者yotubaさん
ありがとうございます。現状からひとつでもオブジェクトやフレームを増やすとセーブできなくなり、一度セーブできなくなるとセーブせず閉じるしかない状態です。上限にかかってしまっているような感じですね。ASDさん
ありがとうございます。すでに大きな画像類は外部ファイルにしているのですが、1フレーム内のオブジェクトの数が結構なものになっているので焼け石に水状態です。グローバルオブジェクトを多数使っているのでファイルを分けるのは難しいです。ひとつのフレームに対してデータをロードしていくスタイルに改造するくらいしか手がなさそうです。
あと余談ですがプロジェクトが大きくなってくると表示倍率100%でフレームエディタをスクロールしたときソフトが落ちます。なぜか表示倍率を75%以下にすると落ちなくなります。CF2.5で大きなプロジェクトを扱うのは無理なようです。2023-04-08 2:41 am #37091ASDキーマスターそもそもが32bitアプリケーションである以上根本的な拡張は難しいですが、エディタのバグであれば再現性のあるデータを提出できれば修正される可能性はあります。ただその為に巨大なデータを1から用意するのも大変です。もし提出しても差し支えのない内容で症状が発生するデータがございましたらよろしくお願いいたします。
フレームに挿入可能なオブジェクトの数には上限があります。下記の本家Clickteamの更新履歴によれば、ビルド292.15の修正項目に、
>- Event editor: object list corruption if the frame contains more than 2000 unique active objects. This limit has been increased to 30,000.
とあり、それ以降の更新ではオブジェクト数に関する修正がないため、現状では30000個までということになります(“unique active objects”と書かれていますが、アクティブオブジェクト以外の種類のオブジェクトはカウント外なのか等は不明です)。
https://www.clickteam.com/webftp/files/mmf2/ChangeLogs/294.14.txt
2023-04-08 6:22 pm #37092shinon_参加者ASDさん
さすがにプロジェクトの内容がだいぶこみいっている上にファイルサイズが大きすぎるので提出はできそうにないです。すみません……。
ダミーのプロジェクトでソフトが落ちる再現条件をいろいろ探っているのですが、少なくとも1フレームに300個のオブジェクトを用意してフレームを200個作ってもソフトは落ちませんでした。ただオブジェクトにエフェクト設定したものを100個ほど用意するとフレームエディタスクロール時にフリーズしかかったような不安定な動作になるようです。それでもソフトは落ちないですが……。もう少し調べてみます。2023-04-08 11:00 pm #37093ASDキーマスター>オブジェクトにエフェクト設定したものを100個ほど用意するとフレームエディタスクロール時にフリーズしかかったような不安定な動作になるようです。
CF2.5の環境設定のフレームエディタのタブにある『エディタでDirect3Dを使用する』設定をオフにしてみてください。エディタ上でのエフェクトの確認(ピクセルシェーダを使用するもの)はできなくなりますが、その分処理が軽減されます。
2023-04-08 11:25 pm #37094shinon_参加者ASDさん
落ちるプロジェクトでエディタでDirect3Dを使用する設定をオフにしたところ表示倍率100%でも落ちなくなりました!エフェクトまわりがあやしいと思っていましたが、どんぴしゃでした。ありがとうございます!(ただあいかわらずプロジェクトの保存はできない!) -
投稿者投稿
- このトピックに返信するにはログインが必要です。