首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止需要更多内存的Gloss?

如何停止需要更多内存的Gloss?
EN

Stack Overflow用户
提问于 2012-11-21 01:52:48
回答 1查看 343关注 0票数 4

我正在使用gloss在Haskell中创建一个RTS游戏,但我注意到即使是一个非常简单的程序在运行时也会占用越来越多的内存。例如,下面的程序将逐渐增加它的内存使用量(它将需要大约0.025MB/秒)。

代码语言:javascript
复制
module Main (
    main
)
where

import Graphics.Gloss
import Graphics.Gloss.Interface.IO.Game

main = 
    playIO (InWindow "glossmem" (500, 500) (0,0)) white 10 0
    (\world -> return (translate (-250) 0 (text $ show world)))
    (\event -> (\world -> return world))
    (\timePassed -> (\world -> return $ world + timePassed))

我曾尝试在运行时限制堆大小,但这只会导致程序在达到限制时崩溃。我担心当我有一个更复杂的世界时,这种行为会成为一个性能问题,有没有一种方法可以使用gloss,这样就不会出现问题了?或者是我使用了错误的工具?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-26 13:30:55

这是一个典型的懒惰引起的空间泄漏,在代码中管理动画的帧计时。您的示例程序现在在恒定的空间中运行。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13479126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档