【问题标题】:Profiling options not working with gloss分析选项不适用于光泽
【发布时间】:2014-07-09 03:22:05
【问题描述】:

即使在 ~/.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" 并重复这些步骤,它会输出一些与垃圾收集相关的信息,这是应该发生的。

【问题讨论】:

  • 当 glut 主窗口关闭时,它会退出整个程序。可以设置actionOnWindowClose变量,但是需要修改gloss的源代码。

标签: haskell gloss


【解决方案1】:

使用 Graphics.Gloss 进行分析时,您需要在代码中显式处理程序的结尾。您可能想要硬编码动画的超时时间,或者捕捉一些键盘输入并手动结束程序(使用像unsafePerformIO exitSuccess 这样简单的东西)。

actionOnwindowClose 似乎在光泽开发者的愿望清单上,但目前无法使用 (https://github.com/benl23x5/gloss/blob/b41f867ffb6c05a40f778a29f99933b603c11a31/gloss/Graphics/Gloss/Internals/Interface/Backend/GLUT.hs#L61)

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2020-07-29
    • 2018-02-20
    相关资源
    最近更新 更多