VSyncWaitを変更するとアプリケーションエラー
ログありがとうございました。2,3確認させてください。
新規のフォルダに、084、085、086を それぞれ解凍してテストしてみましたが、全て同じ結果になりました.テスト方法は以下の通りです.
①初期起動時、ウィンドウズモードになっていたので、ALT+ENTERでフルスクリーンにして、VSyncの設定を変更→オンにしてもオフにしても問題無く動作 ②一度終了して、configファイルが作成された後に再度起動し、VSyncを変更すると、エラーで落ちた(オンオフどちらでも落ちる) ③configファイルを削除して、再度①を行うと問題無く動作 ④ウィンドウズモードにすると、configファイルの有る無しに関係無く、VSyncを変更しても問題無く動作
【 Config.ini の BackSleep の値を 50 】こちらの設定は、どのバージョンも効果がありませんでした こんな感じで、問題の切り分けはできそうでしょうか?
yyagiです。ご確認いただきありがとうございました。
Config.iniがないと問題が再現しないというのが不思議ですね。今度その線で調べてみようと思います。
084でも再現するということで、私の修正が悪さをしていたわけではないことが分かりホッとしました(笑)
お返事が遅れました。すみません。
さて、お手数なのですが、問題発生+アプリ終了後の Config.ini と DTXManiaLog.txt をお送りいただけないでしょうか。 (zipで固めてこのチケットに添付いただければ結構です)
Config.iniの有無での動作の違いを追いかけてみたのですが、Direct某に関係しそうなのはjoypadの接続有無かなぁ・・・。 そのあたりの裏をとりたく。(GUIDセクションにJoystickID=の項目があるかどうか)
ウチでも再現するようになりました(汗;;
SlimDX.Direct3D9.Direct3D9Exception: D3DERR_INVALIDCALL: Invalid call (-2005530516) 場所 SlimDX.Result.Throw[T](Object dataKey, Object dataValue) 場所 SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue) 場所 SlimDX.Direct3D9.Device.Present() 場所 SampleFramework.GraphicsDeviceManager.game_FrameEnd(Object sender, EventArgs e) 場所 DTXManiaソリューション\FDK17プロジェクト\コード\01.フレームワーク\Rendering\GraphicsDeviceManager.cs:行 407 場所 SampleFramework.Game.OnFrameEnd(EventArgs e) 場所 DTXManiaソリューション\FDK17プロジェクト\コード\01.フレームワーク\Core\Game.cs:行 491 場所 SampleFramework.Game.DrawFrame() 場所 DTXManiaソリューション\FDK17プロジェクト\コード\01.フレームワーク\Core\Game.cs:行 512 場所 SampleFramework.Game.Tick() 場所 DTXManiaソリューション\FDK17プロジェクト\コード\01.フレームワーク\Core\Game.cs:行 377 場所 SampleFramework.Game.Application_Idle(Object sender, EventArgs e) 場所 DTXManiaソリューション\FDK17プロジェクト\コード\01.フレームワーク\Core\Game.cs:行 531 場所 System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef) 場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) 場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 場所 System.Windows.Forms.Application.Run(Form mainForm) 場所 SampleFramework.Game.Run() 場所 DTXManiaソリューション\FDK17プロジェクト\コード\01.フレームワーク\Core\Game.cs:行 263 場所 DTXMania.Program.Main() 場所 DDTXManiaプロジェクト\コード\全体\Program.cs:行 58 エラーだゴメン!(涙
取り急ぎ、例外を無視するようにしたところ、一応は動くようになりました。ちょっとお試しいただけませんか。
tp://yyagi.com/DTXMania086_Test_Fixed_23842.zip
087で、取り急ぎながら対処を盛り込みましたので、一旦このチケットはクローズします。
もし再発するようでしたら、再オープン願います。
タイトルの通り。 チケット #23709 (Win7 x64で遅延大) で指摘された別問題を株分け。
086のログは以下の通り:
SlimDX.Direct3D9.Direct3D9Exception: D3DERR_INVALIDCALL: Invalid call (-2005530516)
場所 SlimDX.Result.ThrowT(Object dataKey, Object dataValue)
場所 SlimDX.Result.RecordT(Int32 hr, Boolean failed, Object dataKey, Object dataValue)
場所 SlimDX.Direct3D9.Device.Present()
場所 SampleFramework.GraphicsDeviceManager.game_FrameEnd(Object sender, EventArgs e)
場所 SampleFramework.Game.OnFrameEnd(EventArgs e)
場所 SampleFramework.Game.DrawFrame()
場所 SampleFramework.Game.Tick()
場所 SampleFramework.Game.Application_Idle(Object sender, EventArgs e)
場所 System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.Run(Form mainForm)
場所 SampleFramework.Game.Run()
場所 DTXMania.Program.Main()