Ios 如何协调动画贴纸包应用程序中不可预测的播放速度?

Ios 如何协调动画贴纸包应用程序中不可预测的播放速度?,ios,swift,xcode,animation,optimization,Ios,Swift,Xcode,Animation,Optimization,编辑:我运行了更多测试,结果很有趣,更新如下表所示 似乎如果我将APNG的帧数和帧速率设置为16、32、48或64,则贴纸包应用程序将以预期速度在消息中播放动画,一切看起来都正常 但确切的原因是什么?我似乎无法解释 这可能是由于64位处理造成的吗?iOS或消息中的秘密怪癖?还是别的什么 问题 动画贴纸播放在这里发生了什么 我已经通读了开发者网站上的详细信息,但是没有 似乎没有任何可靠的技术细节可供选择 贴纸包装应用和帧率限制 为什么动画贴纸不能以预期的速度在设备上的信息中播放 为什么30帧、4

编辑:我运行了更多测试,结果很有趣,更新如下表所示

似乎如果我将APNG的帧数帧速率设置为16324864,则贴纸包应用程序将以预期速度在消息中播放动画,一切看起来都正常

但确切的原因是什么?我似乎无法解释

这可能是由于64位处理造成的吗?iOS或消息中的秘密怪癖?还是别的什么

问题

动画贴纸播放在这里发生了什么

我已经通读了开发者网站上的详细信息,但是没有 似乎没有任何可靠的技术细节可供选择 贴纸包装应用和帧率限制

  • 为什么动画贴纸不能以预期的速度在设备上的信息中播放
  • 为什么30帧、45帧和60帧的贴纸播放速度较慢
  • 如何确保邮件始终以预定的正确速度播放标签包
  • 贴纸包装应用的帧速率限制是什么

背景

我正在Xcode中试验一个贴纸包应用程序,创建一个动画贴纸包。但是,创建的贴纸包会导致不可预测的动画播放速度,具体取决于使用的帧数

iOS模拟器上的消息无法很好地显示动画贴纸包,Mac上的消息也会给出不可预测的播放结果,因此我正在运行iOS 10.2.1的iPad mini(A7处理器,M7运动协处理器)设备上进行测试

(显然,其目的是使用最少的帧数来减少系统负载并保留电池。但是,有些动画需要较高的帧速率才能实现流畅的播放,例如,具有高对比度和大量视觉运动的帧图像的动画。)


测试

我使用了动画PNG(APNG)文件。我有四个APNG文件变体,包括每秒15、30、45和60帧(FPS)。每个文件的完整动画周期的持续时间为1秒。动画将永远重复

(最初,我尝试了单个图像序列,并让Xcode编译它们,但这些图像序列更不可预测,创建了更大的文件大小,在设备上加载多个标签的速度较慢,并且随着项目中标签数量的增加,导致Xcode挂起。)


结果

在下表中,帧速率为30和45的动画播放速度慢1.5倍,而帧速率为60的动画播放速度慢2倍。我本以为所有动画都会播放相同的持续时间

(在Xcode而不是APNG中加载单个图像序列时,60帧动画可以正确播放,但由于Xcode编译的文件太大,标签在使用时会崩溃。)


表格。APNG测试,15、30、45和60帧速率。更新:APNG 16、32、48和64帧速率


我假设您使用的是
MSStickerView
作为唯一的子视图。是这样吗?这是一个贴纸包应用程序,它不是类似但不同的iMessage应用程序。希望这有助于澄清。我明白了。谢谢。我假设您正在使用
MSStickerView
作为唯一的子视图。是这样吗?这是一个贴纸包应用程序,它不是类似但不同的iMessage应用程序。希望这有助于澄清。我明白了。谢谢