Ich arbeite an einem Simulator, der sehr komplexe Interaktionen zwischen vielen Objekten modelliert, und ich meine Millionen.
Ich habe XNA wegen der nützlichen Dinge benutzt, die es mir leicht machen lässt, besonders beim Rendern.
Mein Problem ist, dass ich nach ein paar Sekunden der Simulation in OutOfMemoryException
s gelandet bin. Ich merkte schnell, dass mein Programm nur im 32-Bit-Modus läuft, also bekomme ich nur ein paar GB von meinem etwas größeren Arbeitsspeicher.
Wie kann ich ein XNA-Spiel im 64-Bit-Modus ausführen?
XNA war früher nur 32-Bit. Sie können versuchen, auf 64-Bit zu kompilieren, aber dann werden Probleme auftreten, da keine 64-Bit-XNA-Bibliotheken geladen werden. Alles, was ich gefunden habe, um dies zu sichern, waren Kommentare, die Zuschauer daran erinnerten, als x86 zu kompilieren.
So kompilieren Sie als x64: Klicken Sie mit der rechten Maustaste auf Ihre Lösung, und wechseln Sie zu Configuration Manager. Wählen Sie dort x64 als Ihre aktive Lösungsplattform aus. Möglicherweise müssen Sie es erstellen und dann alle Ihre Projekte als x64 auswählen. Sie könnten auch versuchen, als Any CPU zu erstellen, da Sie auf 64-Bit-Windows sind, sollte es automatisch im 64-Bit-Modus starten.
EDIT: Ich habe eine meiner alten VMs gefunden, auf denen XNA 4 installiert war. Es scheint, dass es keine Möglichkeit gibt, es auf 64-Bit zu kompilieren. Selbst wenn ich versuche, eine neue Plattform zu erstellen, kann ich nur x86 auswählen.
Dies beantwortet die Frage nicht direkt. Ich habe TyCobbs Antwort bereits aktualisiert.
Ich habe in der Vergangenheit auf das gleiche Problem gestoßen.
Haben Sie darüber nachgedacht, zu SlimDX zu wechseln? Es ist ein Wrapper um DirectX und ermöglicht es Ihnen, .Net-Anwendungen mit DirectX zu entwickeln. Laut der Dokumentation:
%Vor%Es ist vielleicht nicht so benutzerfreundlich wie XNA, aber ich denke, es könnte eine gute Option für Sie sein.