私は数年前からXNA(vb.net)のゲームプロジェクトに取り組んできましたが、正式な教育を受けていないので試しながら勉強しています。これは、私が非効率的にコードを書いているかもしれないということを意味しています。私の問題:XNA(vb.net)で私のゲームのデバッグを開始する
今日、初めてデバッグを開始すると、最初のフレームが描画される前にエラーが表示されます(白いウィンドウが表示されます)。それは私のgame.Run()
をエラーSystem.OutOfMemoryException
で強調表示しています。私はそれをクリップボードにコピーすると言う:
System.OutOfMemoryException was unhandled
HResult=-2147024882
Message=Exception of type 'System.OutOfMemoryException' was thrown.
Source=WindowsGame2
StackTrace:
at WindowsGame2.Game1.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNat iveMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.Unsafe NativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Microsoft.Xna.Framework.Game.Run()
at WindowsGame2.Program.Main(String[] args) in C:\Projects \WindowsGame2\WindowsGame2\WindowsGame2\Program.vb:line 9
InnerException:
私はその日のコードに特定の変更を加える思い出すことはできませんが、単にabitは、より多くのコンテンツを追加します。私はこれがあいまいだと知っていますが、それは私が考えることができるすべてです。私はそこにあるすべてのフォーラムを掘り下げてきましたが、無駄です。 問題を理解するのに役立つ情報がありますか? 私はどんな助けにも感謝しています! /クリスチャン
EDIT: コードを最適化しようとしましたが、コードがかなりスムーズに実行されるはずです。たとえば、以前よりもはるかに少ないループを使用しています。 問題は実行中のようではなく、開始時にのみ問題になります。今私は約1/5回私はデバッグを押し始めるようになる。
ソースコードリビジョン管理を使用していると思われますか?どのような変更が行われたかを確認してください..... –
私はそれが今ではグーグルグーグルになる前に何があったのか分かりませんでした。そうではない、私はそれを使用していない。それが自動化されているのであれば、私は気づいていません。もう一度、私がプロジェクトについて変更したのは、いくつかの新しいイメージを追加し、それらを組み込むことでした(標準的なプロデュキュア、毎日同じ) –
それを使用してください。コードなしでコードを開発しないでください。 (例えば、Gitを使用してください。 –