我设置了on_motion处理EVT_MOTION.我希望鼠标位置以交互方式生成特定于坐标的图像,但是WxPython 在注册连续的运动事件时有大约400ms的延迟.这使界面变得迟钝.
为什么EVT_MOTION这么慢,我该如何解决?我在Ubuntu 11.10和WinXP中试过它,延迟是可比的吗?
我需要快速响应时间来从图像中选择一部分,如图所示.就目前而言,"十字线"跟随鼠标的速度太慢.

这是我试过的代码EVT_MOTION:
def on_motion(self, event):
"""mouse in motion"""
#pt = event.GetPosition()
self.mouseover_location = event.GetPosition()
self.t2 = time.time()
print "delay",self.t2 - self.t1
self.t1 = self.t2
delay 0.379776954651
delay 0.00115919113159
delay 0.421130895615
delay 0.416938066483
delay 0.376848936081
delay 0.387464046478
delay 0.40311384201
delay 0.392899036407
delay 0.385301113129
delay 0.422554969788
delay 0.355197906494
Run Code Online (Sandbox Code Playgroud)
目前的问题是不完整的,因为没有示例应用程序来演示该问题。但是,我想说运动处理程序与您的问题无关,因为很可能您在后续运动处理程序之间执行一些昂贵的操作(例如刷新整个绘图画布)。
如果是这种情况(并且您可以轻松检查您的绘画例程是否在鼠标运动事件之间被调用),我建议如下: