HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0112
れいHGIMG3.2バグ?テスト協力者様募集11解決


れい

リンク

2010/1/12(Tue) 18:03:49|NO.29910

失礼します。
HGIMG3を使ってゲームを作っているのですが、
以前からHGIMG3.2でテクスチャがおかしくなる(?)バグが起こっていました。
具体的には画像を読み込んでも真っ白の画面になります。
たまに動作が重くなったりもしました…。
状況が分かればまだいいのですが、
実行する度にバグが起こったり起こらなかったり突然起こったり…と状況は様々です。
仕方が無いのでHGIMG3.1で(勿論同じスクリプトで)動作させると、
問題なく実行できますので取りあえずは3.1のランタイムで制作しておりました。

…その後数ヶ月間、色々と試行錯誤しましたところ、
どうやらメモリ関係で不具合が起きているらしい事を発見しました。
タスクマネージャでメモリ使用量を監視しながら動作させた所、
3.2だとテクスチャなど読み込んで、
その後のhgresetの時にメモリの開放がうまくいっていないような気がします。
(メモリ使用量が永遠に蓄積されていく感じです)

もしかしたら当方の環境だけがそうなるのか、あるいは勘違いかもしれませんので、
もしテストにご協力頂ける方がいらっしゃいましたら、
メモリを監視しながら下記スクリプトの動作をご報告頂けませんでしょうか?
よろしくお願い致します。


#include "hgimg3.as" hgini repeat hgreset wait 10 texload "sample/hgimg3/q.bmp" wait 10 loop

[当方の環境]
WindowsXP SP2
CPU Core2 2.66GHz
メモリ 3.11GB
HGIMG v3.1 & v3.2 でテスト済



この記事に返信する


Hatter

リンク

2010/1/12(Tue) 18:57:50|NO.29911

まず、このスクリプトは何をするのでしょう?テクスチャを登録してそれを使わないまま結局リセットしてるし。
まあ、とりあえず、メモリ使用量は増を数回繰り返して,その分を取り返すかのように減。って感じの推移でした。
環境:
WinXP SP1
Celeron 2GHz
256MB
HGIMG 3.2
DirectX 9.0a

最後に,HGIMG3なのでスクリプトはこんな感じになるのでは?(バグチェック用にわざと変な風にしたのかな?)

#include "hgimg3.as" hgini repeat hgdraw hgreset texload "sample/hgimg3/q.bmp" hgsync 10 loop



inovia

リンク

2010/1/12(Tue) 19:16:02|NO.29912

れい さんと Hatter さんのスクリプトも
117回目のループでWindows からエラーが出て強制終了。

終了時のhsp3hg.exeのメモリ使用量は 176MBでループのたびに増加。
(起動時は16MB)

Windows Vista SP2
Core2 Duo T7500
2GB
HGIMG 3.2
DirectX10

>メモリ使用量は増を数回繰り返して,その分を取り返すかのように減。
物理メモリが256MBと少ないので仮想メモリが使用されているせいでは?



inovia

リンク

2010/1/12(Tue) 19:56:35|NO.29913

メモリが256MB環境で調べてみました。
http://tkooler.moe.hm/hsp/img/hsp3hg.png

Vista のときのように117回目のループで強制終了することはありませんでしたが
メモリ使用量がどんどん増えていきます。

タスクマネージャーの物理メモリ使用量は74MB付近で停滞していましたが、
ループするごとに仮想メモリ使用量が179回ループで553MBまで上昇。


Windows XP SP3 (SSDディスク換装済)
Pentium3 850MHz
256MB
HGIMG 3.2
DirectX9c



れい

リンク

2010/1/12(Tue) 20:19:41|NO.29914

Hatter様、inovia様、ご協力有難う御座います。

>このスクリプトは何をするのでしょう?

テクスチャとして登録してメモリに取り込み、
その後hgresetで正常にメモリから開放されるかのテストです。
(描画などは一切関係ありませんのでhgdraw等はしませんでした)
repeatされていますので永遠に繰り返すのですが、
画像をメモリにロードしてメモリを消費し、
その後、正常に開放されていればその分メモリ使用量がまた減るので、
結果的に全体のメモリ使用量を監視時に、
大体、一定の値を維持するかどうかを見る為のテストです。
開放出来ていなければ常に値が増加するはずです。
オーバーフローしたらエラー等がでるかと思います。
(当方の環境はまれにしかエラーは出ませんでしたが…)
(増加していたら適当なところで閉じるボタンで終了して下さい。)

ちなみに当方の環境だと、
3.1 → 9500KB 付近で増減を繰り返して維持。(メモリ消費と開放を繰り返している)
3.2 → 永遠にメモリ増加。(hgresetで正常に開放出来ていない?)
…という感じです。

貴重なご意見有難う御座いました。
引き続き、他の方からの動作報告もお待ちしております。
3.1での動作報告などもあると有難いです。



いかろ

リンク

2010/1/12(Tue) 21:33:48|NO.29915

僕の環境では920780KBになったときに
「VertexShaderの生成に失敗しました」
「Direct3Dデバイスの生成に失敗しました」
「Ox004125bの命令が0x00000000のメモリを参照しました。メモリがreadになることはできませんでした。」
という3つのエラーを吐きました。
また、その前でウィンドウを最小化すると
「Direct3Dデバイスの生成に失敗しました」
というエラーを吐きだすっぽいです。

環境:
OS:XP Professional 2002 ServicePack3
CPU: core2 Duo 6600 2.40GHz
メモリ:3GB



れい

リンク

2010/1/12(Tue) 22:14:46|NO.29916

いかろ様、貴重なご意見有難う御座います。

当方の環境でも読み込みを続けて試してみたら、
1.3GB読み込んだ時点と最小化時に同じように、
「Direct3Dデバイスの生成に失敗しました」がでました。
hgimgランタイムのバージョンは3.2ですかね?
3.1でのご報告はまだ無いようですが、
やはり皆さん3.2ではうまくhgresetでメモリが開放されていないようですね…。
引き続き、他の方のご報告をおまちしております。



ANTARES

リンク

2010/1/13(Wed) 05:37:20|NO.29923

 3.1ではコミットチャージが増え続け、
最小化時に「Direct3Dデバイスの生成に失敗しました」が出ました。
コミットチャージ1.97GBで
「VertexShaderの生成に失敗しました」
「Direct3Dデバイスの生成に失敗しました」
が出ました。3番目は出ませんでした。

 3.1では起動時に増えてすぐに少し減ったほかは安定していました。

環境
OS : Windows XP Pro Version 2002 SP2
CPU : Core2 Duo 2.93GHz
メモリ:2GB

 ちなみにWindows7(CPUとメモリは同じ)で試したら、
3.1と3.2最小化時は同じ動作でしたが、
3.2でしばらく待っていたらフリーズしちゃいました、アハハ。



れい

リンク

2010/1/13(Wed) 13:10:01|NO.29930

ANTARES様 テスト有難う御座います。
前者の方は3.2の間違いでしょうか?
…とすれば後者3.1の方では安定しているようですね。
あろうことかWin7ではフリーズしてしまいましたか…。
それは大変申し訳御座いませんでした。
貴重な3.1のご報告も有難う御座いました。

皆様、テスト頂き有難う御座いました。
どうやら3.2では皆さん同じ様な状況で不安定なようですね…。

この事から当方のゲーム制作時の3.2バグの件を推測すると…。
テクスチャを読み込む→メモリ消費→(通常はここでhgresetすれば開放される)
3.2はhgresetしても開放されずメモリに残る→
空きメモリが無くなり再度テクスチャを読み込む場面で読み込みに失敗する→
結果テクスチャの貼り付けられていないオブジェクトが表示されて白い画面になる
…こんな感じの事が起こっているような気がしてます。

とりあえず大量にテクスチャ等を使うプログラムは、
3.1で作れば問題ないみたいなので大丈夫ですが、
もしこれが仕様(?)ではなく不具合だとすれば、
是非とも今後対応を期待したいものですね。



おにたま(管理人)

リンク

2010/1/13(Wed) 23:46:00|NO.29938

ご報告ありがとうございます。
この問題は、HGIMG3の不具合によるものですね。
なるべく早い段階で対応したバージョンを公開したいと思います。
すみませんが、今しばらくお待ちください。



ANTARES

リンク

2010/1/14(Thu) 00:00:29|NO.29939

 ご賢察の通り、最初の「3.1」は、正しくは「3.2」です。



れい

リンク

2010/1/14(Thu) 01:09:55|NO.29944

>ANTARES様
了解しました。有難う御座います。

>おにたま様
そうでしたか。
大変お忙しい事とは存じますがぜひ今後のバージョンで対応して頂けましたら助かります。
HSP+HGIMG3という非常に素晴らしいツールを提供して頂きいつも感謝しております。



ONION software Copyright 1997-2023(c) All rights reserved.