之前有说如果使用Qt的PropertyAnimation做Material曲线动画。
传送门:http://blog.youkuaiyun.com/wsj18808050/article/details/72869043
PropertyAnimation是Qt提供的属性动画,用的非常广泛。可以适用于很多场合,比如说X的移动,甚至自定义属性的修改。他还有很多派生类,比如说NumberAnimation、ColorAnimation,这里不一一展开。
但是Animation有一个遗憾,就是它运行在GUI线程。
为什么说这是一个遗憾,因为按照我们一般的开发情况,并不能充分利用异步API,或者某些操作就是卡顿(比如说QML代码编译),这些都会导致GUI线程无法正常刷新界面。这样我们的60FPS就没了。
比如一个操作,需要200MS,按照60FPS的16MS间隔,这样就掉了12帧,已经肉眼可以明显分辨了。如果这个动画是从左移动到右边这种动画,那么这个动画看上去会非常不舒服。
既然QML是一个专门做界面的语言,那么这种问题,Qt自然已经考虑了,并且对此提供了一个解决方案,就是Animator。介绍如下:
Animator types are different from normal Animation types. When using an A