【问题标题】:Best lightweight, responsive GUI framework Linux最佳轻量级响应式 GUI 框架 Linux
【发布时间】:2014-07-31 02:01:06
【问题描述】:

我买了一个 Raspberry Pi,它配备 300 Mhz CPU,但它的 GPU 确实不错。它甚至可以运行 XBMC。我想为它编写一个 GUI,它需要响应迅速且美观,同时充分利用可用的硬件(不幸的是,这不太好......)。 Raspberry Pi 运行 Debian 最低限度,我已经在上面安装了 X Windowing System,其余的由我来编写。

深入研究的最佳方法是什么?我已经研究过 HTML5 和 jQuery(通过 Python 和 PyWebkit),但它们似乎过于占用 CPU(除非有人知道如何让 (Py)WebKit 使用 GPU,而不是 CPU)。

为避免混淆,该系统将连接到电视等设备上,主要用于家庭娱乐。我不希望这是一个桌面或类似桌面的系统,我只是想知道你们认为什么可以在 Raspberry Pi 盒子上顺利运行,以便我可以在该框架上编写我的 UI。

【问题讨论】:

  • 当你说“轻量级”和“X11”时,我第一次绊倒了。这两种相互矛盾:-)
  • X11 API、GTK、QT/Qtopia、WxWidgets?另请参阅 — linuxjournal.com/article/9403
  • 我确实研究过 Qt,但我对所有这些(动画、高分辨率图像等)都不太了解。谢谢你的链接。 Aaron,你推荐什么来代替 X11?我总是在改进:)

标签: linux user-interface x11


【解决方案1】:

在动力不足的硬件 (litl.com) 上完成了一个自定义的非桌面 UI 并在 GTK 和 Clutter 上进行了相当多的黑客攻击,我会稍微重新定义这个问题。

主要问题是您必须使用 GPU 而不是“轻量级” - 通常当有人说它是轻量级时,这只是意味着它没有很多功能或其他东西。一个词太模糊了。关键是 GPU。

使用 GPU 的难点在于驱动程序是否正常工作。我不知道树莓派的人们在这里关注什么。一般来说,对于 ARM 来说,获得工作驱动程序最可靠的方法可能是使用 Android。也许不是普通的 Android UI,而是他们的驱动程序和基本框架,然后替换 UI。

X11 驱动程序(如果存在)在 ARM 上经常被破坏。这是 X 的真正问题,而不是轻量级与重量级。坏了,我的意思是驱动程序可能有点启动并运行桌面,但在重要情况下它很慢或缺少硬件视频解码之类的东西。

简答:使用具有最佳 3D 驱动程序的框架(和窗口系统),支持您所需的功能,例如视频解码。同样,我没有看过树莓派,但我敢打赌只有一两个选择符合这个标准。

【讨论】:

  • 感谢您的建议。这正是我需要的答案:)
【解决方案2】:

如果您自己编写 GUI,那么“好看”仅取决于您的设计技巧。没有您的帮助,任何 UI 框架都无法创建“好看”的 UI。

而且我真的无法在一顶帽子下获得“X11”和“轻量级”。如果你真的需要一些完全不会妨碍你的东西,看看像SDL这样的游戏框架。

如果您希望为您完成大部分工作,那么您需要付出代价,而代价就是表现形式。在这种情况下,我建议 X11 + Qt。 Qt 并不是目前最轻量级的 UI 框架,但它是大多数人工作效率最高的框架,并且它确实努力对硬件友好。

【讨论】:

  • 我本来打算自己设计一切的,这是一个爱好项目,所以我有足够的时间:)我去看看SDL,问题基本上是有很多的 GUI 系统和框架,所以我认为你们可以帮助我了解哪些最适合用于此目的:-) 再次感谢
【解决方案3】:

取决于您实际需要 ui 的用途。

如果你想插入显示器并拥有丰富的 UI - X11+LXDE 可能是最轻的组合(或稍重的 Xfce) - 并且你有标准桌面

如果您想远程访问它以执行特定任务 - 可能 apache/php 网站会为您工作。

如果您想创建 ya-window-manager 但没有 X - SDL 可能会这样做。但由于非标准 wm,它只会运行您的 UI 应用程序。

【讨论】:

  • 我不希望它像您所建议的那样成为类似桌面的系统。我想从头开始做 GUI,但我需要一个框架来构建。该系统(和 GUI)将用于客厅、电视等。它需要轻量级才能在 Raspberry Pi 上顺畅运行。
  • 所以您打算在设备外使用视频?那么可能带有帧缓冲输出的 SDL 和所有自定义应用程序都是您的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-22
  • 2010-10-06
  • 1970-01-01
  • 1970-01-01
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多