Tíquete #23842

VSyncWaitを変更するとアプリケーションエラー

: 2010-12-07 01:38 Última Atualização: 2011-04-03 05:04

Relator:
Dono:
Tipo:
Estado:
Fechado
Componente:
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Nenhum
Arquivo:
Nenhum
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

タイトルの通り。 チケット #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()

Ticket History (3/9 Histories)

2010-12-07 01:38 Updated by: yyagi
  • New Ticket "VSyncWaitを変更するとアプリケーションエラー" created
2010-12-07 01:50 Updated by: yyagi
Comentário

ログありがとうございました。2,3確認させてください。

  • VSyncWaitをON→OFFにするとエラーになりますか、それともOFF→ONのときでしょうか、それとも両方でしょうか。何となく片方向のような気がします。
  • 084でも同様のエラーになりますでしょうか。(私が手を入れる前のバージョンです :-)
  • 085以降で、Config.ini の BackSleepの値を50にセットしても同様のエラーになりますでしょうか。
2010-12-09 23:30 Updated by: (del#44971)
Comentário

新規のフォルダに、084、085、086を それぞれ解凍してテストしてみましたが、全て同じ結果になりました.テスト方法は以下の通りです.


①初期起動時、ウィンドウズモードになっていたので、ALT+ENTERでフルスクリーンにして、VSyncの設定を変更→オンにしてもオフにしても問題無く動作 ②一度終了して、configファイルが作成された後に再度起動し、VSyncを変更すると、エラーで落ちた(オンオフどちらでも落ちる) ③configファイルを削除して、再度①を行うと問題無く動作 ④ウィンドウズモードにすると、configファイルの有る無しに関係無く、VSyncを変更しても問題無く動作


【 Config.ini の BackSleep の値を 50 】こちらの設定は、どのバージョンも効果がありませんでした こんな感じで、問題の切り分けはできそうでしょうか?

2010-12-10 02:39 Updated by: None
Comentário

yyagiです。ご確認いただきありがとうございました。

Config.iniがないと問題が再現しないというのが不思議ですね。今度その線で調べてみようと思います。

084でも再現するということで、私の修正が悪さをしていたわけではないことが分かりホッとしました(笑)

2010-12-31 01:04 Updated by: yyagi
Comentário

お返事が遅れました。すみません。

さて、お手数なのですが、問題発生+アプリ終了後の Config.ini と DTXManiaLog.txt をお送りいただけないでしょうか。 (zipで固めてこのチケットに添付いただければ結構です)

Config.iniの有無での動作の違いを追いかけてみたのですが、Direct某に関係しそうなのはjoypadの接続有無かなぁ・・・。 そのあたりの裏をとりたく。(GUIDセクションにJoystickID=の項目があるかどうか)

2011-01-07 00:17 Updated by: yyagi
Comentário

ウチでも再現するようになりました(汗;;

  • Config.iniが無いときは再現せず。
  • フルスクリーンモードの時のみ再現。
  • DTXManiaLog.txtの出力は以下の通り。
    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
    エラーだゴメン!(涙
    
2011-01-07 01:18 Updated by: yyagi
  • Dono Update from (Nenhum) to yyagi
Comentário

取り急ぎ、例外を無視するようにしたところ、一応は動くようになりました。ちょっとお試しいただけませんか。

tp://yyagi.com/DTXMania086_Test_Fixed_23842.zip

2011-01-16 20:02 Updated by: yyagi
  • Estado Update from Aberto to Fechado
  • Ticket Close date is changed to 2011-01-16 20:02
Comentário

087で、取り急ぎながら対処を盛り込みましたので、一旦このチケットはクローズします。

もし再発するようでしたら、再オープン願います。

2011-04-03 05:04 Updated by: yyagi
  • Componente Update from (Nenhum) to FDK

Attachment File List

No attachments

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login