CADisplayLink翻译

CADisplayLink对象是一个时间相关的对象,它允许你的应用将它的渲染同步到显示的刷新速率上?(不太通顺)

Overview

1.你的应用程序初始化一个新的display link,提供一个target对象和一个selector,selector将在屏幕更新时调用。为了同步你的显示循环,你的应用将它添加到一个run loop中(通过 add(to:forMode:) 方法)。

2.一旦这个display link 与一个run loop关联,这个target上的selector将在屏幕的内容需要更新时被调用。target可以通过读取display link’s timestamp属性来恢复上一帧显示的时间。例如,一个应用播放movies可能使用这个timestamp来计算下一次播放哪个video frame。一个应用程序如果自己处理动画,它可能使用这个timestamp来决定在哪以及怎样显示还未到来的frame。duration属性提供了在frames之间的时间间隔。你可以使用这个value值来计算显示的frame的速率,下一帧大概显示的时间,和调整渲染的行为,以使下一帧及时显示。

3.你的应用可以通过将isPaused属性设置为true来禁止通知。并且,如果你的应用不能在规定的时间提供frames,你可能想选择一个慢一点的帧率。一个有较慢但恒定的帧率的应用比一个跳帧的应用显得更加平滑。你可以通过设置preferredFramesPerSecond 属性来设置帧率。

4.当你的应用使用完了一个display link,你应该调用invalidate() 来将它从run loops 中删除和将它与target解除关系。

Listing 1 shows how you can create a display link and add it to the current run loop. The display link invokes the step function, which simply prints the current timestamp, with each screen update.

Listing 1
Creating a display link

func createDisplayLink() {
    let displaylink = CADisplayLink(target: self,
                                    selector: #selector(step))

    displaylink.add(to: .current,
                    forMode: .defaultRunLoopMode)
}

func step(displaylink: CADisplayLink) {
    print(displaylink.timestamp)
}
内容概要:本文详细介绍了基于Simulink平台构建的锂电池供电与双向DCDC变换器智能切换工作的仿真模型。该模型能够根据锂离子电池的状态荷电(SOC)自动或手动切换两种工作模式:一是由锂离子电池通过双向DCDC变换器向负载供电;二是由直流可控电压源为负载供电并同时通过双向DCDC变换器为锂离子电池充电。文中不仅提供了模式切换的具体逻辑实现,还深入探讨了变换器内部的电压电流双环控制机制以及电池热管理模型的关键参数设定方法。此外,针对模型使用过程中可能遇到的问题给出了具体的调试建议。 适用人群:从事电力电子、新能源汽车、储能系统等领域研究和技术开发的专业人士,尤其是那些希望深入了解锂电池管理系统及其与电源转换设备交互机制的研究者和工程师。 使用场景及目标:适用于需要评估和优化锂电池供电系统的性能,特别是涉及双向DCDC变换器的应用场合。通过学习本文提供的理论知识和实践经验,可以帮助使用者更好地理解和掌握相关技术细节,从而提高实际项目的设计效率和可靠性。 其他说明:为了确保仿真的准确性,在使用该模型时需要注意一些特定条件,如仿真步长限制、电池初始SOC范围以及变换器电感参数的选择等。同时,对于可能出现的震荡发散现象,文中也提供了一种有效的解决办法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值