分析选项无法使用光泽,即使已在~/.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"
并重复这些步骤,它会输出一些与垃圾收集相关的信息,这就是应该发生的事情。
答案 0 :(得分:0)
使用Graphics.Gloss进行性能分析时,您将需要在代码中显式处理程序的结尾。您可能想对动画的超时进行硬编码,或者捕获一些键盘输入并手动结束程序(使用类似unsafePerformIO exitSuccess
的方法)。
actionOnwindowClose
似乎在光泽开发者的心愿单上,但目前不起作用(https://github.com/benl23x5/gloss/blob/b41f867ffb6c05a40f778a29f99933b603c11a31/gloss/Graphics/Gloss/Internals/Interface/Backend/GLUT.hs#L61)