我正在使用SharpDX用C#编写游戏......所以,对于绘制一个帧,目前我正在使用一个Timer,间隔设置为1; 但这对游戏来说太慢了,所以我想要更快的东西...首先,如果我使用另一个线程进行游戏(另一个用于Window本身)并使用"[while(InGame)]"声明,它很快,但GC永远不会释放单个对象,并且内存使用率只会上升......
如果我使用内置"RenderLoop"功能的SharpDX,它也很快,但GC仍然没有做任何事情......
我试图覆盖Window窗体"WndProc"功能,但游戏只刷新自己然后我像疯子一样移动鼠标......
这是我的第一个真正的游戏,有很多功能,所以如果你们有任何想法,我将如何解决它,或者我应该使用什么,我会很感激...窗体表格生命周期中必须有一些东西像一个
void FormLife
{
WndProc();
HandleEvents();
etc...
}
Run Code Online (Sandbox Code Playgroud)
(这只是一个很难的例子......)
或者我怎么能强迫GC在while(InGame)状态结束时完成它的工作呢?我已经尝试GC.Collect();但它不起作用......