分析选项不适用于光泽

时间:2014-07-09 03:22:05

标签: haskell 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

然后我用窗口的x按钮关闭窗口,但没有任何gc输出。

如果我将Test.hs更改为main = print "test"并重复这些步骤,它会输出一些与垃圾收集相关的信息,这就是应该发生的事情。

1 个答案:

答案 0 :(得分:0)

使用Graphics.Gloss进行性能分析时,您将需要在代码中显式处理程序的结尾。您可能想对动画的超时进行硬编码,或者捕获一些键盘输入并手动结束程序(使用类似unsafePerformIO exitSuccess的方法)。

actionOnwindowClose似乎在光泽开发者的心愿单上,但目前不起作用(https://github.com/benl23x5/gloss/blob/b41f867ffb6c05a40f778a29f99933b603c11a31/gloss/Graphics/Gloss/Internals/Interface/Backend/GLUT.hs#L61