如何编写与设备刷新率同步的应用程序?
Posted
技术标签:
【中文标题】如何编写与设备刷新率同步的应用程序?【英文标题】:How to write apps that syncs to device's refresh rate? 【发布时间】:2013-06-19 06:18:56 【问题描述】:iPad 的一个应用程序网站说:“要充分利用 iPad 的图形处理来创造流畅的、每秒 60 帧的体验。”哇!此外,谷歌浏览器的动画速率与显示刷新频率相匹配,比如 60Hz。
我的问题:对于移动平台,如何编写能够同步设备屏幕刷新率并提供流畅动画的应用程序?
【问题讨论】:
【参考方案1】:您应该使用动画 API。例如参见 ValueAnimator 的文档:
http://developer.android.com/reference/android/animation/ValueAnimator.html#setFrameDelay%28long%29
本文档说:“当动画系统使用外部计时源(例如显示刷新率 (vsync))来管理动画时,可能会忽略帧延迟。”我不知道是否所有设备都使用 vsync(很想测试一下),但这听起来很像是获得动画平滑度的正确方法。
有关属性动画,请参阅开发者指南: http://developer.android.com/guide/topics/graphics/prop-animation.html
此外,还有一个 API 可以为您提供刷新率: http://developer.android.com/reference/android/view/Display.html#getRefreshRate%28%29
((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRefreshRate();
【讨论】:
以上是关于如何编写与设备刷新率同步的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中将 Core Data 与 Cloudkit 和许多设备同步