使用watchOS 2,我可以多快在iPhone和Apple Watch之间发送UIImage?

时间:2015-09-11 15:47:50

标签: ios swift bluetooth apple-watch watch-os-2

我正在构建Apple WatchOS 2应用程序,该应用程序通过生成的图像不断进行动画处理。

因为这些不能与应用捆绑在一起,所以它们会在InterfaceController中生成,然后设置为在手表上显示如下:

self.imageGroup?.setBackgroundImage(self.image)

在此之前,我已经以每秒1张图像的速度生成这些,这感觉相当安全,但显然提供了1fps的非常低的帧率。现在我想知道这可以改善多少?

我测量了UIImages本身的生成速度,这是一个相当低的.017秒。这些图像的大小也相当一致,大约10000字节。如果没有进一步的延迟,这将给我一个更接受的性能,大约58fps。

我的问题是 - 是否有蓝牙与手机通信的典型速度,我可以将其与该图像尺寸进行比较以确定真实的帧速率?

或者 - 我假设在发生这种情况时调用setBackgroundImage并不会阻止主线程。有没有办法可以找出实际设置需要多长时间?

1 个答案:

答案 0 :(得分:1)

Apple没有记录此速度,因为它的大部分取决于连接强度。而且由于用户不需要将手表和手机放在彼此旁边,因此用户传输的距离越远(或手机和手表之间的物体类型)。

您的图像是10 KB,并且您希望每秒发送58张图像,因此每秒580 KB或.58 MB?数据量听起来并不现实(尽管它会耗尽电量)。但是,两个设备之间的每次网络呼叫都会产生一些开销。这些图像是否需要实时发送?如果没有,你可能会获得更好的性能,如果你最初可以延迟1-2秒,然后批量组合58个图像,你可以在手表上设置动画。您每秒只能进行一次网络呼叫,这对于设备来说比每秒58次呼叫更易于管理。