为具有硬件限制的设备设计高质量的图形用户界面 (GUI) 可能很困难。 但是这篇文章展示了一些方法来最大限度地提高设计效率,使其更容易。 更高效的 GUI 在处理移动部件和动画时使用更少的内存、CPU 和 GPU 功率,并让设计人员有更多的空间来进行设计,而不必担心硬件限制。

具有共同元素的设计

下面的示例显示了一个简单的菜单屏幕,其中包含一些常见元素:

  • 每个 ICON_X 都是一个按钮,可以将 GUI 更改为不同颜色的屏幕。
  • HOME 按钮将 GUI 返回到主屏幕。
  • HOURS:MINUTES:SECONDS 元素保留在所有屏幕的右上角。
  • 无论选择了哪个 ICON_X 按钮,ICON_X 按钮和 HOME 按钮都保持在同一位置。

开发者博客系列_1

如果 GUI 开发人员要通过复制和粘贴此 GUI 中每个屏幕的“TimeAndIconBanner”元素(顶部栏显示 HOURS:MINUTES:SECONDS,底部栏显示图标按钮)来设计菜单布局,则结果是 GUI 模型中的几个重复对象。 在下图中,构成“IconScreens”的 Deck 对象中的每张卡片都包含相同的 TimeAndIconBanner 元素。

TimeAndIconBanner 元素是 IconScreens 下每个单独屏幕的一部分,TimeAndIconBanner 的多个实例需要在每次屏幕更改时重绘该元素,从而导致不必要的 RAM 和 CPU 使用。

为了优化这个设计和其他类似的设计,设计人员应该隔离公共元素,在这种情况下是 TimeAndIconBanner,并将它们移动到上一层的单个实例,如下所示。

现在只有一个 TimeAndIconBanner 元素与 IconScreens 处于同一级别。 此层次结构说明了设计组件的最有效排列,导致 Altia Design 中这些组的 z 顺序发生相应变化,这意味着最高级别的 TimeAndIconBanner 组显示在显示屏上较低的 IconScreens 组上方。

带有移动部件的设计

考虑一个动画速度计。 如果 GUI 被设计成重新绘制整个屏幕,而不仅仅是针,则此 GUI 将需要更多内存。 保持静态背景图像并仅动画顶部的针创建最有效和节省内存的设计。 挤出一些额外性能的另一个地方可能是降低你的 fps。 某些动画可能不需要硬件的最大帧速率来获得令人满意的平滑度,并且使用 Altia Design 可以轻松进行实验并找到适合您设计的较低 fps。

简单的速度计

如果您想了解有关 Altia 如何帮助您优化 GUI 以使用最少的内存和功耗提供最佳性能的更多信息,我们邀请您 安排演示 今天与我们专家 GUI 团队的成员一起。