线程.在Windows 8下使用Silverlight 5不能睡觉

本文关键字:不能 Silverlight Windows 8下 线程 | 更新日期: 2023-09-27 18:10:38

背景:在车辆动力学方面有一个发展,为了增加真实的行为,计算结果以1:1的比例实时执行,即现实生活中的1秒=计算结果中的1秒。

问题:在Windows XP/Vista/7甚至MacOS下,一切都像预期的那样工作,然而在Windows 8中,应用程序运行(似乎是)慢了2倍。

细节:延迟由

执行
System.Threading.Thread.Sleep((Int32)time_delta)

为time_delta,根据需要计算以匹配1:1的时间比。

在Windows 8下,在现实生活中需要1秒的东西需要2秒,我可以使用time_delta/2.0f,但这似乎是一个肮脏的伎俩。

问题:是否有适当的方法来解决这个问题?

引用:我搜索并发现,似乎是报告的问题:Metro风格的应用程序缺少。net特性?

这个链接说http://msdn.microsoft.com/en-us/library/d00bd51t.aspx那个线程。Windows 8支持睡眠

提前感谢。


更新:我错了,Windows 8的延迟并不是慢了2倍,Sleep()的分辨率似乎发生了巨大的变化,(至少在我的测试中)是非常可变的,所以我最终使用实时调整每次我检测到偏移,有点CPU密集,但现在正在工作。

线程.在Windows 8下使用Silverlight 5不能睡觉

您是否尝试使用TimeSpan(例如TimeSpan. fromseconds (time_delta))而不是Int32?