繁体   English   中英

Thread.Sleep在Windows 8下无法与Silverlight 5一起使用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM