dポイントプレゼントキャンペーン実施中!

現在C#にてゼロからノベルゲームの体裁をもってたものをつくっています。
そこで質問です。現在、ノベルゲームのテキストを表示させる箇所をLabelクラスで
画面下部に表示させているのですが、これはexeファイルと同階層においてある
XMLディレクトリ内のXMLファイルに記述されたテキストをArrayListクラスを用いて
テキストを保存しており、それを1クリックごとにArrayListのindexをひとつづつ進めて
テキスト(ストーリー)を進めるような形にしています。
1.xml
2.xml
3.xml
などという風に章ごとにxmlファイルを複数に分けておき
ゲームを進めるたびに、たとえば1.xmlファイルが読み終えたら自作定義したイベントを走らせ
コントロール側で2.xmlファイルをそのLabelオブジェクトにわたしてやります。

ここで問題というか気になった点が、現在作っているものに関しては、すでに読み終えたテキスト(つまりログですね)をマウスのホイールイベントで巻き戻せるように、ArrayListの中に蓄積したままにしているのです。つまりホイールをまわすたびにArrayLisntのindexをマイナスしていくということです。

しかし、実際にシナリオは全部で150KBほどになると思われます。
この150KBのテキストをすべてArrayListに詰め込むことによって動作に支障がでるようなことってあるのでしょうか?

あるいは、ひとつのxmlファイルを読み終えたあとはそのデータをすべて破棄して、現在呼んでいるxmlファイルの
テキストのみをArrayListに保存しておくという風にしたほうがやはり動作的に軽快でしょうか?

どなたかこの手の実装に詳しいかたご教授ください。

A 回答 (1件)

現在のPCでは、数MBもある画像とか、数十MBもある動画をメモリに読み込んでおける程度の余裕があります。


150kBくらいなら余裕でしょう。

ディスクへのアクセスは、現在のPCにとっては「とてもとても遅い」ものです。頻繁にディスクにアクセスするより、まとめて読み込んであとはアクセスなし、の方がパフォーマンスはよくなります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!