分析选项不适用于gloss,即使gloss是在~/.cabal/config中启用了库分析的情况下安装的,
示例: Test.hs
import Graphics.Gloss
main = display (InWindow "test" (800, 600) (200, 200)) black blank编译和运行:
$ ghc Test.hs
[1 of 1] Compiling Test ( Test.hs, Test.o )
Linking Test ...
$ ./Test +RTS -s然后我用window的x按钮关闭了窗口,但是没有任何gc输出。
如果我将Test.hs更改为main = print "test"并重复这些步骤,它会输出一些与垃圾收集相关的信息,这是应该发生的事情。
发布于 2018-10-26 06:08:07
在使用Graphics.Gloss进行性能分析时,您需要在代码中显式地处理程序的结尾。您可能想要硬编码动画的超时,或者捕获一些键盘输入并手动结束程序(使用像unsafePerformIO exitSuccess这样简单的东西)。
actionOnwindowClose似乎在光泽开发人员的愿望清单上,但目前不能工作(https://github.com/benl23x5/gloss/blob/b41f867ffb6c05a40f778a29f99933b603c11a31/gloss/Graphics/Gloss/Internals/Interface/Backend/GLUT.hs#L61)
https://stackoverflow.com/questions/24644879
复制相似问题