Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C应用程序的内存完整性(XNA)_C#_Memory_Memory Management_Xna_Xna 4.0 - Fatal编程技术网

C# C应用程序的内存完整性(XNA)

C# C应用程序的内存完整性(XNA),c#,memory,memory-management,xna,xna-4.0,C#,Memory,Memory Management,Xna,Xna 4.0,最近,我意识到XNA的RenderTarget2D数据结构中存储的内存可能会在屏幕锁定、将应用程序窗口移到第二个屏幕等各种不可预测的情况下丢失。。在这种情况下,可以通过在绘图前检查IsContentLost来避免问题 但是,我注意到,在类似的情况下,分配内存的其他部分(例如XNA应用程序中的大位字段)也可能丢失。这可能是垃圾收集出了问题吗?是否需要检查其他标志,如IsContentLost,以确保所有分配的内存都安全地保存在C应用程序XNA中?。NET分配的内存永远不会损坏。如果是,那可能是代码

最近,我意识到XNA的RenderTarget2D数据结构中存储的内存可能会在屏幕锁定、将应用程序窗口移到第二个屏幕等各种不可预测的情况下丢失。。在这种情况下,可以通过在绘图前检查IsContentLost来避免问题


但是,我注意到,在类似的情况下,分配内存的其他部分(例如XNA应用程序中的大位字段)也可能丢失。这可能是垃圾收集出了问题吗?是否需要检查其他标志,如IsContentLost,以确保所有分配的内存都安全地保存在C应用程序XNA中?

。NET分配的内存永远不会损坏。如果是,那可能是代码、.NET运行时或RAM硬件中的错误。GPU上分配的内存可能会丢失,正如您所注意到的,这是正常的。你能提供更多的信息吗?我相信iContentLost是关于GPU内存被重用的。这通常与.NET内存管理完全无关,并且不由.NET GC处理。