我在桌面应用程序用户界面中有一个进度条(用JavaFX编写)。通常,是否有理想的更新间隔(以毫秒为单位)用于更新进度条以及不断变化的进度(例如在文件复制或下载的情况下)?现在,我以20ms的更新间隔获得了良好的结果。也就是说,我有一个计时器线程,每20ms更新一次进度条。我使用这个值的原因是20ms高于30 FPS,这应该是人眼停止看到单个帧的地方。有没有理由避免使用较低的间隔,例如1ms?这是什么最好的做法?
答案 0 :(得分:2)
使用Task进行操作,并根据需要随时拨打updateProgress任务。将ProgressBar的progress property绑定到任务的progress property。 JavaFX系统将合并任何多余的更新,以便每pulse更新一次progress属性。默认情况下,JavaFX系统将每秒处理60次脉冲。