- 浏览: 137970 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
Ken艹小哲:
太赞了 哥们 加扣
猜数字问题的最少步数算法. -
chenyuan122912:
...
解决AS3 Socket编程中最令人头疼的问题 -
hyx0914:
有源代码打包下载的吗?
Flex地图分块加载的实现 -
tianhai110:
非常有价值的 测试总结
时间效率,Timer和EnterFrame在FP 10.1之后测试和建议 -
763675117:
你好,fengxiangpiao,看了你的文档,我的需求和你差 ...
解决MovieClip打印问题 转
关于Timer还是EnterFrame的选择,一直是很多AS3开发者讨论的话题, 随着10.1即将普及,我这次对10.1的Timer和EnterFrame进行了一次较详细的测试,给大家在他们的选择和使用上做些参考。
注,flashplayer10.1新增了一个当前窗口在非激活状态下会自动降低fps到2fps来节省cpu消耗,这将直接影响靠fps驱动的enterframe的效率和准确性。
测试环境主要以网页下的flash执行效率为主, 分为空运算和重运算,同时运行和分别运行。
FPS为25(大多数应用的默认值), 即40ms间隔,发布统一选择以10.1发布。
为了避免因为频繁trace或频繁写入场景txt受到影响,我设定了间断式的输出结果来保证结果的纯洁。
写了这些实验,对Timer和EnterFrame的使用上有一些建议:
1,EnterFrame是恒定的,稳定的,比较适合用来更新渲染画面,如Tween。 但不适合做异步计算和处理, 如果能保证cpu每帧的计算效率在40ms以内,可以把计算放到enterframe时序中,这样可以稳定25fps,当然,这不包括渲染损耗。
2,Timer在100ms的倍数是很稳定的,pc和mac都能稳定,非100的倍数的值会有两个相差不大的值交替出现。
3,EnterFrame在12、20、30fps都比25fps更稳定,25fps会有两个相差不到大的数值交替出现。
4,EnterFrame在计算时优于Timer。
5,Timer更适合使用异步的长周期来改变数据的状态,并不适合短时间持续更新数据,或是渲染画面。
6,EnterFrame和Timer同样受到非活动创口的fps自动降低的影响。
7,当受到影响时,无法通过判断frameRate==2,使用一个延迟时间,判断出正好500ms的延迟(2fps),并在相应的enterframe中做切换特殊处理,在2fps中要完成原正常fps的渲染结果才能避免渲染的延迟影响。
package { import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.text.TextField; import flash.utils.getTimer; import flash.utils.Timer; /** * ... * @author Demon.S */ public class Main extends Sprite { private var timerDelay:Number; private var enterDelay:Number; private var txt:TextField; private var log:String; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); //init txt = new TextField(); txt.width = 500; txt.height = 500; addChild(txt); log = ""; //test suit // testTimer(); testEnterFrame(); } private function testEnterFrame():void { stage.frameRate = 25; this.addEventListener(Event.ENTER_FRAME, enterFrameHandler) enterDelay = getTimer(); } private function enterFrameHandler(e:Event):void { //heavyTest(); var t:int = getTimer() - enterDelay; _trace("enter " +t ) if (t == 500) _trace("fp10.1 hidden mode") enterDelay = getTimer(); } private function timerUpdate(e:TimerEvent):void { // heavyTest(); var t:int = getTimer() - timerDelay; _trace("timer " + t) if (t == 500) _trace("fp10.1 hidden mode") timerDelay = getTimer(); } private function testTimer():void { var timer:Timer = new Timer(40); timer.addEventListener(TimerEvent.TIMER, timerUpdate) timerDelay = getTimer(); timer.start(); } private function _trace(...arguments):void { //trace.apply(this, arguments); log += arguments.join() + "\n"; if (log.length > 100) { txt.appendText(log); txt.scrollV = txt.maxScrollV; log = ""; } } private function heavyTest():void { for (var i:int = 0; i < 1000000 ; i++ ) var a:Array = []; } } } |
发表评论
-
最全的Flex网站
2011-10-15 23:18 735一、国外站点 1.资源 类Adobe Flex 2 ... -
时间效率,Timer和EnterFrame在FP 10.1之后测试和建议
2011-04-23 22:19 1062关于Timer还是EnterFrame的选择,一直是很 ... -
Socket粘包问题
2011-04-22 23:21 1033这些天做类似QQ空间的 ... -
关于Flash Socket通信的安全策略问题的一点心得
2011-04-22 22:36 702昨天做测试的时候遇到 ... -
FLEX入门实例--------FLEX全屏功能实现及右键菜单
2011-03-26 11:58 817FLEX的全屏功能的实现,光写AS还不够,还需要对JS部分做一 ... -
flex中的Text属性
2010-12-08 12:31 874不同于Lable只显示单行文本,Text可以显示多行文本, ... -
Flex跨域问题
2010-11-08 17:55 791From ESRI: The client brow ... -
Flex屏蔽并自定义鼠标右键菜单(转载)
2010-11-08 17:53 884最近手头有个项目需要屏蔽Flex鼠标右键菜单并自定义新的fle ... -
使用 IBM Rational Functional Tester 7.0.1 测试 Flex 应用程序
2010-11-05 21:45 845关于这篇文章必要的信息 这篇文章假定您已经对使用 IBM® ... -
在 Ajax 应用程序中实现实时数据推送
2010-11-05 21:40 671简介 Ajax 技术已经存在了一段时间,开发的动力已经真正开 ... -
使用 Flex 和 Dojo 开发交互式Web应用程序
2010-11-05 21:38 996引言 以用户体验为核 ... -
Flex 应用内存泄露的分析与诊断
2010-11-05 21:36 807引言 Flex 采用 ActionScrip ... -
flex SystemManger
2010-11-05 16:35 692软件编程牛人网 Framework Fundamentals ... -
Flex 不同 application 之间传参数
2010-11-05 16:33 488软件编程牛人网 通过主影片来获得所有子影片的systemma ... -
如何在flash保留小数位
2010-11-04 20:07 826在家上网赚钱更容易 fl ... -
实例讲解Flex3的SharedObject对象用法
2010-11-04 16:01 760在家上网赚钱更容易 Flex中的SharedObj ... -
Flex中12个最基本、最简单但却最有用的函数
2010-11-04 15:54 692在家上网赚钱更容易 No.1 复制内容到剪贴板 S ... -
谈谈Flex中ArrayCollection的复制(克隆)
2010-11-04 15:51 728在家上网赚钱更容易 在Flex的开发过程中,常常会遇到复 ... -
flex中的拖放操作(一)
2010-11-04 15:47 938在家上网赚钱更容易 可视化的开发环境最大的特点是允许你在 ... -
flex中的拖放操作(二)
2010-11-04 15:46 775在家上网赚钱更容易 手动添加 drag-and-drop ...
相关推荐
一种改进的自适应短时傅里叶变方法-基于梯度下降 算法运行环境为Jupyter Notebook,执行一种改进的自适应短时傅里叶变方法-基于梯度下降,附带参考。 算法可迁移至金融时间序列,地震 微震信号,机械振动信号,声发射信号,电压 电流信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等信号。 sr = 1e4 t = torch.arange(0, 2.5, 1 sr) f = torch.sin(2*pi*t) * 1e2 + 1e2 * torch.ones_like(t) + 5e1 * t x = (torch.sin(torch.cumsum(f, dim=0) 2e2) + 0.1 *torch.randn(t.shape))[None, :] x += torch.sin(torch.cumsum(1e2*5 * torch.ones_like(t), dim=0) 2e2) x = x.to(device) print(x.shape) plt.plot(f)
源码 一个Java GUI 图书借阅系统源码. 一个Java GUI 图书借阅系统源码.
螺旋藻过滤机sw21可编辑全套技术资料100%好用.zip
【java】基于java+SSM-考试系统
【python设计模式】大话设计模式python实现
内容概要:本文详细介绍了太原理工大学围绕JavaEE技术栈展开的一系列实践项目。首先介绍了校内课程实践项目,比如学生信息管理系统和校园在线选课系统,旨在让学生熟悉分层架构开发模式及其各层次的具体技术应用(如Servlet、Spring、MyBatis),从而掌握前后端交互的基本流程及数据存取方式。其次针对更高阶的学习目标提到学科竞赛类项目如 ACM 国际大学生程序设计竞赛项目和中国大学生计算机设计大赛项目,鼓励学生挑战算法实现与优化,同时培养他们的创新能力和服务意识。最后着眼于提升学生的就业竞争力阐述了校企合作项目的具体内容,强调在真实的工作环境中积累经验的重要性,包括参与企业级Web应用程序开发以及大数据分析和可视化的平台建设等方面。 适合人群:面向高等院校计算机专业的大三及以上年级的学生或是有兴趣深入了解JavaEE并在实践中成长的学习者。 使用场景及目标:①通过具体案例让读者深刻体会从理论学习转向实际动手制作的过程;②为参加编程赛事提供灵感和支持;③加强学校与行业的对接,使在校生能提前适应职场的要求。 其他说明:以上实践项目的设置反映了当前互联网行业的最新动态和技术趋势,既有利于学生个人发展也为社会输送更多优秀的IT人才做出了贡献。
【课程设计】TensorRT部署DETR项目工程python源码.zip
【vue】基于vue开发的pad考试系统
【课程设计】基于百度飞桨paddle实现语音情感识别源码+项目说明.zip
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
模型预测控制,燃料电池混动能量管理 编程平台matlab,.m文件 基于MPC的燃料电池混合动力系统能量管理策略,该程序是本人自己编写,程序没有任何问题,备注书写详细,可根据你的实际情况更你对应的工况便可以使用。 注意:1.本程序选择的目标函数考虑了动力系统的性能衰 ,可作为创新点 2.该程序预测部分框架可以改变,通过更精确的预测进行能量管理可作为另一个创新点 3.本程序以bp预测,另有lstm工具箱预测,可更 4.可以调节soc始末一致 6.可更任意工况运行
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
【毕业设计】基于SpringBoot开发的酒店管理系统源码.zip
Matlab实现Attention-GRU多变量时间序列预测 1.Matlab实现Attention-GRU多变量时间序列预测(注意力机制融合门控循环单元,也可称呼TPA-GRU,时间注意力机制结合门控循环单元) 2.运行环境为Matlab2020b: 3.data为数据集,MainAttGRUNM.m为主程序,运行即可;其余m文件为子函数,无需运行,所有文件放在一个文件夹,赠送俩个Attention-GRU学习的文献: 4.运行需要GPU支持运算
【课程设计】基于python+html实现爬虫+neo4j+D3实现的苏州旅游知识图谱源码+数据.zip
Enterprise Architect (简称EA) 是我们做软件设计及开发要使用的工具,它的功能非常多,有很多功能大家都不熟悉。在这里总结了一些比较高级的使用方法分享给大家。(比较基础的UML画图方法,在别的地方有很多介绍,本课程中不再详述)。本课程内容如下: EA可以做什么? 用EA编写和管理“需求” EA的Project Browser操作 EA项目的基本设计原则 元素的Name和Alias自动编号 创建测试用例的规范描述 建立和查看Traceability EA中增加一个Tag (Tagged Value) EA的Diagram操作 EA中创建Object对象的方法 EA中设置连线或元素的Stereotype
单线程爬虫-上线资源包
乐鑫ESP32-S3红外重复码值发送参考代码。虽然不是整个工程,但红外这一部分是全的,已经调通,能够正常发送红外重复码值。 乐鑫官方在红外发送重复码这一块存在空白,本代码填补了这一空白。给需要使用ESP32系列芯片的人直接提供了代码,无需再自行摸索,甚至无从下手。
台达DVP-20PM的追剪程序,同步运动,是用在卷纸管机上的 这份资料包括: 1、电气图纸一份 2、DVP-20PM的程序(有注释) 3、台达伺服的参数设置源文件(从台达B2伺服中导出) 4、说明书一份 该款卷纸切管机机械结构设计合理,使用钢结构机架和方通为主体,以2500P R高分辨率编码器检查送纸速度与送纸长度;采用一台台达高性能变频器驱动三台电机作为原材料上胶、三层纸的合理重叠卷纸,具有同步性能好、同步精度高等优势;采用三台台达B2系列16bit编码器分辨率伺服电机控制卷纸内芯轴装置、外辊轴装置、追剪装置,精度高、稳定性好、同步精度高等优势;并配备台达BOP-BO7S411触摸屏、台达DVP-20PM00M PLC ,等一系列台达产品,达到通讯建议,匹配度高,稳定性能好等效果。