モウオワリダー

大変なことになった

読み込み時にロード画面を組み込んだのだが、その弊害なのか、そうでないのかまったく分からないが、とにかく大変なことになった。

まず1つ、一切影響のないはずの個所からアクセス違反。
0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。
みんな大好き?なこいつです。

さて、これだけだったら9割がたあなたのプログラムがおかしいんだ、治せっていうことなわけです。
じゃあなにが問題って、これ「リリースモード」でしか出ないんですよね。
なんとしても原因を解明させたくないらしい
しまいにゃ読み込みの手順を戻しても出るようになったよ!

そしてもう一つ、ハンドルの崩壊。
なにかおかしいなーとおもったら、ステータス画面の一部が欠けてるんですよね。
で、あぁなんだ読み込み失敗かとおもって監視してみたところ、ちゃんと読みこめているし、どうもはじめの数フレームの間は描画できている。
で、直後ハンドルの数値がはじきとんで、描画失敗へ。
もちろんこれもリリース限定


・・もう、なにがなんだか・・

非同期で読み込む処理がおそらくメモリを溶かしてるんだろと考えたけど、壊れていくのは処理中だし、リリース限定だし・・
なにをどうしたら直りそうかまったく思いつかないぞ!
唯一の救いは、この処理を書くまえに嫌な予感がして、プロジェクトごと(重要)バックアップを取っていたということ。
私は忘れていない、ソースだけ完全に戻しても最後まで動作が戻らなかった過去のプロジェクトの悲劇を。


・・ところで
非同期読み込みって、読み込み遅いですね。
見ていても、かなり負荷がかかっている(i7で通常時4ぱー、読み込み時25ぱー)ようですし、ロード時間が何倍にも増えています。
某対戦ゲームでロードが短いという評価があったのですが、そのゲームのロードは1枚絵を表示するだけで、つまり描画したらあとは読み込みに100ぱー専念なのでしょう。

ロードが長いゲームなんて・・いやですよね?
はい、ロード画面のアニメーション仕分け入ります。一枚絵になります。

戻してみてビックリ、速度が何倍どころか一瞬じゃないか!
やっぱり早い方がいいね。


そもそも、そういう機能があるライブラリだからって、非同期つかいまーすってなにも考えずに使っていいかって、そうではないですよね。
とくに複数から組み込んで使うときなんかは、いつどこでなにがメモリに入っていくのかしっかり把握してないといつか痛い目を見るわけで・・

テーマ : 日記・雑記 - ジャンル : ゲーム

comments

comment form

管理者にだけ表示を許可する

trackback


この記事にトラックバックする(FC2ブログユーザー)

リンク
報告
20150405 新カテゴリ追加
月別アーカイブ