考虑一个模拟移动代理在屏幕上缓慢移位的程序,在基于Ubuntu 12.04的发行版上运行。这是通过在GNU Octave环境中显示的RGB图像实现的。更新图像,然后使用imshow
命令在图形窗口上刷新。如果进程在fltk
后端下运行,则对imshow
的每次调用都是平滑的,因为您会看到代理在电影中移动。但是在gnuplot
后端(或图形工具包)下,该过程非常缓慢,因为每次更新都会闪烁:它变为空白,然后再次渲染。在慢速机器上,您甚至可以在渲染显示之前阅读消息Figure 1 allocating colors...
的装饰。由于程序必须在GNU Octave 3.2.4上运行,这里fltk
后端尚未实现图像渲染(我无法更新,因为它必须在没有root权限的情况下运行),我想知道是否有一种方法可以参数化gnuplot
后端(在此版本中有图像渲染)来完成工作而不会闪烁。
注意:闪烁效果也显示在现代机器中,它不依赖于处理器或图形板,它看起来像连接到后端的配置。
更新:比较在两个后端下创建的数字,其属性之间只有一个区别:__modified__
off
位于gnuplot
下,on
位于fltk
下方。但是set(handler, '__modified__', 'on')
不会对gnuplot
数字产生任何影响(即,它仍为off
)。另外,当fltk
属性设置为off
时,结果是相同的:根本没有闪烁,运动平稳。