Roku:如何从快速设备中检测慢速设备
Roku: How to detect a slow device from a fast one
我有一个频道,如果 运行 在 Roku Express 等较慢的设备上播放动画,而让它们在 Roku Premiere 等较快的设备上播放,我想停止播放动画。除了我不确定最好的方法是什么。
我想按可用 ram 的数量进行过滤,但我找不到 api 可以为我的系统提供可用的 ram,我可以在我的代码中 运行。
我可以按型号名称过滤,但我需要保留型号名称的更新列表,我不想这样做。
任何help/insight赞赏。
我在动画方面遇到了类似的问题。不幸的是,您必须按型号名称进行过滤。我没有找到其他方法。
您可以将设备列表存储在数据库中,以便于您维护。
关于图形功能,请尝试 roDeviceInfo.getGraphicsPlatform() - 如果它 returns opengl
,可以进行任意旋转的高性能引擎与 directfb
受到限制。
关于 CPU,您可以 运行 在您的程序开始时进行小型基准测试,例如
ti = createObject("roTimeSpan"): s=""
for i = 1 to 1000: s = s + right((i^3).toStr(),2): end for
time = ti.totalMilliSeconds()
您是否考虑过使用 Animation.optional=true?
它不会阻止它们在 Roku Express 上发生(因为它是 Littlefield),但它会 "skip animations on lower performing Roku devices (Paolo, Giga, Jackson, Tyler, and Sugarland)"。
Animation 还包含一个名为 "willBeSkipped" 的未记录字段,当 "optional" 设置为 true 时,它将在较慢的设备上为 true。
您可以将动画节点上的可选字段设置为真。这应该是为了解决这个问题。我之前把这个字段设置为true,好像没有效果。我相信他们最终会解决问题的。
动画的效率还取决于您拥有多少个动画节点。您应该只需要 1 个动画节点来处理特定组件的所有动画。为您想要出现的每种动画类型添加一个插值器(即缩放、旋转、变色、平移)。
我有一个频道,如果 运行 在 Roku Express 等较慢的设备上播放动画,而让它们在 Roku Premiere 等较快的设备上播放,我想停止播放动画。除了我不确定最好的方法是什么。
我想按可用 ram 的数量进行过滤,但我找不到 api 可以为我的系统提供可用的 ram,我可以在我的代码中 运行。
我可以按型号名称过滤,但我需要保留型号名称的更新列表,我不想这样做。
任何help/insight赞赏。
我在动画方面遇到了类似的问题。不幸的是,您必须按型号名称进行过滤。我没有找到其他方法。 您可以将设备列表存储在数据库中,以便于您维护。
关于图形功能,请尝试 roDeviceInfo.getGraphicsPlatform() - 如果它 returns opengl
,可以进行任意旋转的高性能引擎与 directfb
受到限制。
关于 CPU,您可以 运行 在您的程序开始时进行小型基准测试,例如
ti = createObject("roTimeSpan"): s=""
for i = 1 to 1000: s = s + right((i^3).toStr(),2): end for
time = ti.totalMilliSeconds()
您是否考虑过使用 Animation.optional=true?
它不会阻止它们在 Roku Express 上发生(因为它是 Littlefield),但它会 "skip animations on lower performing Roku devices (Paolo, Giga, Jackson, Tyler, and Sugarland)"。
Animation 还包含一个名为 "willBeSkipped" 的未记录字段,当 "optional" 设置为 true 时,它将在较慢的设备上为 true。
您可以将动画节点上的可选字段设置为真。这应该是为了解决这个问题。我之前把这个字段设置为true,好像没有效果。我相信他们最终会解决问题的。
动画的效率还取决于您拥有多少个动画节点。您应该只需要 1 个动画节点来处理特定组件的所有动画。为您想要出现的每种动画类型添加一个插值器(即缩放、旋转、变色、平移)。