返回首页

我在C#中的图形创建一个游戏,它运行时,它使用了大量的RAM。拜托!我的方式,以节省内存。

我的代码:

private void timer1_Tick(object sender, EventArgs e)

        {

           g.Clear(Map.BackColor);// g is a Graphics Var

           //MyProcess.........

           g.DrawImage(.....);

        }

多谢

回答

评论会员:SAKryukov 时间:2012/02/07
请看到我的评论的问题和回答我的问题。在此同时,我可以告诉你:你显然滥用良好的图形化编程做法。在OnPaint做所有的渲染,只使用你在此方法的参数的图形实例。要改变渲染和触发方法调用通过WM_PAIM这改变你的数据和数据层调用Invalidate。

要正确地释放非托管内存和资源,密切关注所有对象类型实现IDisposable mdash;他们都需要处理。尽可能使用using语句(不要混淆使用条款):

mdash; SA:RedAquarius:使用定时器回调dispose方法
评论会员:游客 时间:2012/02/07
RedAquarius:当你使用的DrawImage,请确保使用的JPEG图像格式或其他的一些记忆。它可以帮助减少内存使用。确保Dispose方法也可以使用,如果你使用Bitmap对象和工作在USAFE模式的快速{S0的}