我刚刚开始使用Unity,我用新的2D功能制作了游戏。该游戏在编辑器中运行得非常好,帧速率一致,没有错误等。但是,当我构建Windows .exe时,游戏似乎在玩了7-15分钟的一段时间后崩溃。
没有性能下降导致崩溃并且看着我的RAM和CPU使用情况似乎没有什么不寻常的。它只是关闭并说game.exe已停止工作。
在崩溃之前我似乎无法找到任何模式或相关性。我已经在开发者模式下构建了游戏,并查看了游戏的输出日志,但这一点似乎都没有什么特别之处。我在两台64位Windows 8.1计算机和一台64位Windows 8计算机上尝试了游戏,所有这些都产生了相同的结果。我总是用64位构建游戏。
如果有人对可能造成这种情况的原因有任何疑问,请告诉我。
如果有兴趣的话,这是为游戏制作的统一输出日志:
Initialize engine version: 4.3.2f1 (0517a5ae8669)
GfxDevice: creating device client; threaded=1
Direct3D:
Version: Direct3D 9.0c [aticfx64.dll 8.17.10.1230]
Renderer: AMD Radeon HD 6900 Series
Vendor: ATI
VRAM: 2035 MB (via DXGI)
Caps: Shader=30 DepthRT=1 NativeDepth=1 NativeShadow=1 DF16=1 INTZ=1 RAWZ=0 NULL=1 RESZ=1 SlowINTZ=1
Begin MonoManager ReloadAssembly
Platform assembly: C:\Users\Saif\Desktop\GSS2\GSS2_Data\Managed\UnityEngine.dll (this message is harmless)
Loading C:\Users\Saif\Desktop\GSS2\GSS2_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: C:\Users\Saif\Desktop\GSS2\GSS2_Data\Managed\Assembly-CSharp.dll (this message is harmless)
Loading C:\Users\Saif\Desktop\GSS2\GSS2_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
- Completed reload, in 0.043 seconds
desktop: 1920x1080 60Hz; virtual: 1920x1080 at 0,0
Initializing input.
Input initialized.
UnloadTime: 0.551156 ms
Unloading 4 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
Unloading 31 unused Assets to reduce memory usage. Loaded Objects now: 252.
Total: 1.053136 ms (FindLiveObjects: 0.018866 ms CreateObjectMapping: 0.014227 ms MarkObjects: 0.135160 ms DeleteObjects: 0.098045 ms)
Platform assembly: C:\Users\Saif\Desktop\GSS2\GSS2_Data\Managed\System.Core.dll (this message is harmless)
UnloadTime: 0.450946 ms
Unloading 1 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
Unloading 41 unused Assets to reduce memory usage. Loaded Objects now: 237.
Total: 0.930657 ms (FindLiveObjects: 0.019176 ms CreateObjectMapping: 0.014227 ms MarkObjects: 0.138562 ms DeleteObjects: 0.065260 ms)
UnloadTime: 0.506618 ms
Unloading 2 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
Unloading 30 unused Assets to reduce memory usage. Loaded Objects now: 1233.
Total: 1.309538 ms (FindLiveObjects: 0.063095 ms CreateObjectMapping: 0.027217 ms MarkObjects: 0.386614 ms DeleteObjects: 0.111035 ms)
HandleD3DDeviceLost
HandleD3DDeviceLost: needs reset, doing it
FullResetD3DDevice
ResetD3DDevice
dev->Reset
D3Dwindow device not lost anymore
HandleD3DDeviceLost
HandleD3DDeviceLost: needs reset, doing it
FullResetD3DDevice
ResetD3DDevice
dev->Reset
D3Dwindow device not lost anymore
HandleD3DDeviceLost
HandleD3DDeviceLost: needs reset, doing it
FullResetD3DDevice
ResetD3DDevice
dev->Reset
D3Dwindow device not lost anymore
HandleD3DDeviceLost
HandleD3DDeviceLost: needs reset, doing it
FullResetD3DDevice
ResetD3DDevice
dev->Reset
D3Dwindow device not lost anymore
HandleD3DDeviceLost
HandleD3DDeviceLost: needs reset, doing it
FullResetD3DDevice
ResetD3DDevice
dev->Reset
D3Dwindow device not lost anymore
</pre>
This is how my windows event logs look after the game crashes:
<pre>
Fault bucket 85906700254, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0
Problem signature:
P1: GSS2.exe
P2: 4.3.2.30490
P3: 52a8d945
P4: GSS2.exe
P5: 4.3.2.30490
P6: 52a8d945
P7: c0000005
P8: 00000000003fa184
P9:
P10:
Attached files:
C:\Users\Saif\AppData\Local\Temp\WER8766.tmp.WERInternalMetadata.xml
These files may be available here:
C:\Users\Saif\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_GSS2.exe_9199f253cfc16a3bf93fe45323550645140d78c_7b5fff4e_004fb1e1
Analysis symbol:
Rechecking for solution: 0
Report Id: 0f55d21e-9cf5-11e3-bf0d-f46d0412ebde
Report Status: 0
Hashed bucket: 2f21de34ebe1ea1257d119fc4445222c
我用32位(x86)构建游戏,似乎解决了这个问题。它根本没有崩溃,但64位仍然崩溃。为什么会出现这种情况?