[英]Thread.Sleep Not Working with Silverlight 5 under Windows 8
背景技术:车辆动力学的发展是一种尝试,它增加了真实的行为,计算结果以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支持Thread.Sleep。
提前致谢。
更新:我错了,Windows 8的延迟并不慢2倍,Sleep()的分辨率似乎发生了巨大变化,并且(至少在我的测试中)变化很大,所以我最终使用了实时调整每个我检测到偏移时,CPU占用了一点时间,但现在可以正常工作。
您是否尝试使用TimeSpan(例如TimeSpan.FromSeconds(time_delta))代替Int32?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.