Boot to Qt 技術預覽

jopen 11年前發布 | 22K 次閱讀 QT

        英文原文: Gunnar Sletta – Introducing Boot to Qt – A Technology Preview

        之前的幾個月中,Qt 團隊一直忙于一個新的項目,該項目的內部名稱是 Boot to Qt。近日該團隊發布了該項目的一個技術預覽版本。開發者 Gunnar Sletta 在博客中介紹了該技術,原文內容由 Liang Qi 翻譯如下。 

        Boot to Qt 是一個商業產品,為用戶在嵌入式設備上創建靈巧的用戶界面提供了一個完整的集成解決方案。其中包括: 

  • 基于 Qt 框架的用于嵌入式 Linux 的輕型 UI 軟件棧(software stack)——Boot to Qt 構建于 Android 內核/基礎層之上,為開發優美和高效的嵌入式設備提供了簡潔的方案。
  • 現成的鏡像文件——我們為幾種不同的設備提供了包含 Boot to Qt 軟件棧的鏡像文件,這樣你就可以在第一天直接讓它在你的設備上跑起來,用不了多少工作。
  • 完整的 Qt Creator 集成——一鍵部署并且在硬件上運行,一套特性齊全的開發環境。
  • 模擬器——一個基于 VirtualBox 的模擬器,可以讓你在沒有硬件的情況下進行開發,它甚至還可以模擬硬件輸入,例如 GPS 和網絡連接等。

這次技術預覽主要聚焦在基于 Android 的基礎層之上構建整個軟件棧。同時我們也想為傳統的嵌入式 Linux 提供一個相似的軟件棧,現成的鏡像文件和 IDE 集成,希望這個夏天的某個時候發布的下一個預覽版中可以實現這個愿望。 

        我們期望在今年年底提供正式發布版。 

        現在你可通過這個視頻來了解 Boot to Qt 在我們的參考硬件平臺上的表現。可以通過這個視頻來了解 Boot to Qt SDK 是如何工作的。 

        Boot to Qt 的范圍 

        這個軟件棧包含了 Qt 框架中的絕大部分: 

  • Qt Core、Qt Gui、Qt Network、Qt Widgets、Qt Xml
  • Qt QML 和 Qt Quick
  • Qt Quick Controls
  • Qt Graphical Effects
  • Boot to Qt 特定內容,包括虛擬鍵盤、亮度控制和電源關閉/重啟功能。

在這一次的技術預覽中支持的設備有: 

這不是一個固定組合,只是我們的一個起點。如果你對于設備方面有什么建議的話,請告知我們。這個軟件棧還可以在 x86 的硬件上運行。 

        目前,這個軟件棧是單進程的。啟動器(launcher)是一個 QML 應用程序,它會在同一個進程內啟動其它 QML 應用程序。我們已經開始查看如何使用 Android Gralloc API 進行跨進程共享硬件緩存,我們知道這是可以完成的,但我們將不會在 1.0 包含這個特性。 

        我們還收到了一些關于多媒體和 WebKit 的反饋,我們也希望能夠提供這些內容,但也許不會是在最初的版本中。目前的軟件棧已經很強大了,已經可以為大量不同的用戶案例進行服務了。 

        性能 

        Qt 5 中使用了一個嶄新的基于 OpenGL ES 2.0 的場景圖像(scene graph)來加強 Qt Quick。這使得 Qt Quick 非常適合于運行在嵌入式設備上,甚至于是在一些配置中等的設備上。例如我們在鏡像文件中提供的演示啟動器,在我們所有的硬件設備上都可以很好地跑到 60 FPS。 

        在應用程序啟動器運行在 Nexus 7 上的時候,我們查看了 CPU 的使用情況。在空閑(idle)的情況下,它使用一個著色器(shader)在當前選中的項上添加發光(glow)效果并且在角落上顯示一個有 Qt logo 的小粒子(particle)系統。我們發現當啟動程序正在激活項上顯示發光動畫,并且運行 Qt logo 粒子的時候,CPU 負載大約在 50%。當我們搖動(flick)它的時候,下降到 30%,當手指按下并且按壓來移動一個列表的時候,它會下降到 20%。好像看起來,我們做得越多,CPU 負載就會越小。我們是通過觀察 CPU 頻率調整(frequency scaling)得 知這些情況的。這是一個主頻為 1.2GHz 的 4 核 CPU (具有一個特定的 1.3GHz 單核模式),但是當空閑的時候,它會禁用其它 3 個核并且把剩下的一個核切換到 102MHz。所以我們可以在一個運行在 102MHz 的 CPU 上完成在 1280x800 的屏幕上顯示 60 FPS 的動畫,并且還只用了它的一小半。 

        作為參考,同樣的動畫在i.MX6 和 Beagle 上的 CPU 占用率大約為2% 和 15%,這兩個板子都沒有提供頻率調整功能。 

        同樣,在啟動時間上,我們做得也不錯。下面這個圖表中,對比了 Boot to Qt 和本地的 Android。當然,完成的 Android 中附加了很多東西,但是這也是一個值得注意的部分。絕大多數嵌入式設備不需要那些東西。 

Boot to Qt 技術預覽
 

啟動時間,以秒為單位,從開啟電源到設備可以顯示 B2Qt 啟動器或者 Android 的主屏幕。越小越好

        上述的比較結果不算太糟糕,但是我們相信我們可以做得更好一些,至少是在我們開始探索不同的嵌入式 Linux 配置的時候。這里有一個例子,在 Raspberry Pi 上運行 Qt5項目中可以在 3 秒之后開始渲染。 

        更多信息 

        更多信息請訪問產品頁面。請填寫試用請求,你就可以得到 Boot to Qt。如果你想試用或者對這個軟件感興趣,請使用上述產品頁面中的聯系表格并且我們很高興你能開始試用。請慢慢享用!

來自: www.iteye.com
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!