我正在构建一个Apple WatchOS 2应用程序,该应用程序会使用生成的图像不断进行动画处理。
由于这些不能与应用程序捆绑在一起,因此它们是在InterfaceController中生成的,然后设置为在手表上显示,如下所示:
self.imageGroup?.setBackgroundImage(self.image)
在此之前,我一直以每秒1张图像的速度生成这些图像,这听起来相当安全,但是显然给出了非常低的1fps帧速率。现在我想知道这可以改善多少?
我测量了UIImage本身的生成速度,这是一个相当低的.017秒。这些图像的大小也相当一致,大约为10000字节。如果没有进一步的延迟,那将为我提供大约58fps的可接受的性能。
我的问题是-蓝牙与手机通信的典型速度是否可以与该图像大小进行比较以确定现实的帧频?
或者-我认为setBackgroundImage
在发生这种情况时,调用不会阻塞主线程。有什么办法可以让我确定实际需要多长时间?
苹果没有记录该速度,因为速度很大程度上取决于连接强度。而且,由于用户无需将手表和电话彼此紧挨着,因此用户越远(或电话和手表之间的对象类型),它传输的速度就越慢。
您的图像为10 KB,并且您想每秒发送58张图像,以便每秒580 KB或.58 MB?数据量听起来并非不切实际(尽管这会消耗大量电池)。但是,两个设备之间的每个网络调用都会有一些开销。这些图像是否需要实时发送?如果不是这样,如果最初可以延迟1-2秒,然后将58张图像批处理在一起,然后将它们在手表上进行动画处理,则可能会获得更好的性能。每秒只有1个网络呼叫,比每秒58个呼叫对设备更易于管理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句