如何解决使用动作脚本3来获取时间以纳秒为单位
| 嗨,我正在尝试获取当前时间(包括动作脚本3中的纳秒),以便在flex 4.5中使用。 有人可以帮助我吗?解决方法
ActionScript没有公开精确的计时器。
, Flash Player中可用的最小时间量度是毫秒。
要获取当前时间,只需创建新的
Date
对象:
var currentTime:Date = new Date();
在这里查看Date
类的更多文档。
, 我认为普通计算机不支持更短的时间(以毫秒为单位)
, 我不确定是否有人已经这样做,但是您可以为NTP服务器创建一个Socket接口。
您不需要实现整个协议;你可以做ntpdate
做的事来抓紧时间。自从我直接使用该协议以来已经有很长时间了,但是我认为这个任务并不那么困难。
, 您在Flex中无法获得秒数,实际上没有太多语言可以提供纳秒级的结果作为时间跨度。您能获得的最多是\“ ticks \”,它主要提供给具有本机代码执行功能的语言,但未直接提供给脚本语言。
最好的办法是有几毫秒的差异,然后将结果按比例缩放到基准,例如更长的运行时间(例如增加10甚至100倍的测试),这将使结果更接近预期的结果。
, 当我尝试以微秒为单位进行测量时,我将其循环了1000次,然后减去实际for循环所花费的时间。而且我得到的东西接近微秒。
var startTime:int = new Date().valueOf();
for(var ii = 0;ii<1000;ii++)
{
//do something here
}
var endTime:int = new Date().valueOf();
trace(endTime-startTime);
我猜您可以循环1千万次以获得纳秒级,但是您必须等待一段时间才能完成循环。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。