有什么办法可以使Python乌龟的速度超过速度(0)?

时间:2018-11-01 12:23:22

标签: python turtle-graphics

我正在用Python用龟编写可视化气泡排序的代码,但这非常慢。有什么方法可以加快速度吗,因为Python turtle的@Bean public IntegrationFlow inboundFileIntegration( ) { CronTrigger cronTrigger = new CronTrigger("0 0/1 12-18 ? * MON-FRI"); return IntegrationFlows.from(fileReadingMessageSource(), c -> c.poller(Pollers.trigger(cronTrigger) .maxMessagesPerPoll(10).advice(new AbstractMessageSourceAdvice() { @Override public Message<?> afterReceive(Message<?> message, MessageSource<?> messageSource) { System.out.println("after"); return message; } @Override public boolean beforeReceive(MessageSource<?> source) { System.out.println("before"); return true; } }))) // .transactionSynchronizationFactory(transactionSynchronizationFactory()) // .transactional(transactionManager()))) .log() .transform(Files.toStringTransformer()) .transform(o -> { // jmsTemplate.convertAndSend("testing_queue", o); System.out.println(o); return o; }) .channel(ApplicationConfiguration.INBOUND_CHANNEL) .get(); } 不够快。还是有其他使用Python进行此类项目的方式?

1 个答案:

答案 0 :(得分:2)

您应该做的第一件事就是确认是乌龟图形在减慢速度。例如,在有无图形的情况下运行气泡排序,以查看实际损失了多少时间。

一种加快乌龟图形处理速度的方法(您应该谨慎对待)是使用tracer()

screen = turtle.Screen()
# ...
screen.tracer(False)  # turn off graphic updates
# ...
# Whenever you make a change you want the user to see:
screen.update()  # make screen current
# ...
# When you're completely finished:
screen.tracer(True)  # turn graphics updates back on
# ...
screen.mainloop()

在这种情况下,您不需要speed(0)(又名speed('fastest')),尽管离开它不会有任何伤害。某些图形操作将强制screen.update()使其独立于您的调用,不要感到惊讶。确保最后tracer(True),以便正确地隐藏乌龟之类的东西。

最后,在上面的问题中添加一个最小的代码示例,以进行适当的审查。