發(fā)布時間:2024-01-04 09:38:32 瀏覽量:163次
隨著當今的設備及其各自的用戶接口(UI)變得更加先進,創(chuàng)建和產(chǎn)生這些UI也變得更具挑戰(zhàn)性,特別是為現(xiàn)代復雜設備建置UI通常更燒腦。無論如何,當你想要為特定的自定義嵌入式設備制作UI時,它可能是一項完全不同的挑戰(zhàn)性任務。
我們經(jīng)??吹介_發(fā)人員受限于各式各樣的問題,跌入常見的錯誤陷阱。本文將深入探討這些問題,并揭示開發(fā)人員在開發(fā)跨平臺UI時最常犯的6個與應用和解決方案架構(gòu)有關的錯誤。
錯誤#1:誤解內(nèi)存消耗和內(nèi)存利用
當開發(fā)人員將影像加載圖像內(nèi)存時,需要考慮的一些事項包括:需要快取的項目、加載元素的順序,以及如何建構(gòu)整體用戶體驗(UX)。性能問題(通常發(fā)生在較小的設備中)區(qū)分為實際和感知性能,例如,對于花費大量時間(實際性能)的操作,開發(fā)人員可以在屏幕上彈出預載的影像,讓用戶認為事情發(fā)生得更快(感知性能)。然而,解決這些問題需要到位的技術能力和工具。
以嵌入式Linux堆棧為例?,F(xiàn)成可用的底層操作系統(tǒng)(OS)可能得花超過10秒的時間啟動,而其上的普通Qt大約需要1秒鐘(圖1)??紤]到在這兩者之上的應用本身,總啟動時間總計約15秒。透過適當?shù)募记?、工具和?yōu)化,啟動應該只需要1~2秒鐘。
圖1 啟動序列的持續(xù)時間在未優(yōu)化和優(yōu)化的軟件堆棧之間差異很大。
在優(yōu)化時,開發(fā)人員必須減少性能遲滯,并了解真正的瓶頸和時間花費所在。這需要充份地理解內(nèi)存的使用方式、順序,以及如何優(yōu)化并具備相應能力。如果方案需要花費大量啟動時間,顯示優(yōu)化尚未到位,亦說明企業(yè)不重視績效,但我猜最終會如愿以償,因為客戶畢竟花了錢,對嗎?
錯誤#2:在部署到目標硬件之前于PC上進行開發(fā)
這是嵌入式開發(fā)最常見的原罪。設計師和工程團隊光是在PC上就花費太長時間開發(fā)嵌入式方案,然后,他們在項目周期中又太晚部署到目標硬件上。由于目標硬件通常是新的,而且在項目的早期階段團隊也還用不到,因此該問題通常會進一步惡化。
在項目實施過程中,設計缺陷、性能瓶頸、錯誤或問題的發(fā)現(xiàn)時間越晚,其修復成本就越高。將PC與嵌入式設備進行比較發(fā)現(xiàn),PC幾乎可以不限量地「揮霍」資源、內(nèi)存和功耗,以及其他基礎要素。如果項目在PC上運作良好,可能無法實現(xiàn)添加提升性能的特性,這會導致重新進行架構(gòu)設計和重新編寫大量軟件的主要問題。在PC桌面上完美運作的東西到了嵌入式設備上,并不一定就能正常運作或管理,忽略了這一點會影響產(chǎn)品上市時間、提高擁有成本,以及工程和維護成本。
那么有靈丹妙藥嗎?是的,從第一天開始就在目標設備上部署。投資在使這一切成為可能的工具,以確保整個團隊(包括設計師)都可以存取目標硬件,如果沒有可用的目標設備,請選擇接近該設備的產(chǎn)品,并從第一天開始部署。當今,有很多的現(xiàn)成參考硬件選擇,可讓你足夠接近目標設備,如果必須只在PC上進行開發(fā),那就在PC上開發(fā),但要做好重新編寫和延遲的心理準備。
錯誤#3:將完全渲染的設計壓縮到嵌入式設備中
為了在屏幕上顯示酷炫的三維(3D)元素,需要來自設計師的3D設計。設計師經(jīng)常會創(chuàng)造完全渲染的影像,相當于無數(shù)的多邊形("嘿!它可是在設計師的PC上運作得很好呢!")。這必須要由開發(fā)人員試圖將巨大的3D對象擠進小型設備中(圖2),它要不是使一切都變得非常緩慢,不然就是要求開發(fā)人員付出額外時間,或者兩弊兼具。
圖2 設計師提供完全渲染的影像,導致對于開發(fā)人員來說是過于復雜的元素。
此外,在2D UI上,開發(fā)人員和設計師有時會在UI上使用過于復雜的元素。挑戰(zhàn)是如何優(yōu)化不堪(down)、斑駁(shaving)和單調(diào)(slimming)的影像、元素和多邊形以適應小屏幕,同時保持相同的用戶體驗。在此過程中,通常都以性能和/或上市時間為代價。
錯誤#4:使用一種編碼語言,以一蓋全
客戶經(jīng)常用HTML5、Javascript和/或QML編寫過多的應用邏輯。上述都是聲明性的腳本技術,它們將使用與原生(native)C++不同的CPU資源,這通常會導致性能和維護問題。
從一開始就設計軟件架構(gòu)十分重要。先放上UI層,然后加上C++和更低分層(二進制執(zhí)行、原生二進制執(zhí)行,在這些分層上可能使用的GPU和CPU功率)。在設計軟件架構(gòu)時,選擇正確的組件非常重要。
性能良好的Qt應用有兩個主要部份:應用邏輯和大量數(shù)據(jù)以C++編寫;UI和使用者互動則使用更高級語言編寫,如QML。
錯誤#5:將更新和安全性視為特性
假設你正在研發(fā)一項項目,而且完成了大約三分之二的工作量,然后,客戶希望添加無線軟件更新和安全特性,這要求是錯誤的。更新和安全性并不是特性,它們是設計思維模式(mindset)和整體軟件架構(gòu)的核心部份。
客戶往往會將更新和安全性視為某段時間中已在其他特性實現(xiàn)的東西,但其實不然。開發(fā)人員必須提前計劃和思考,有什么樣的安全要求?軟件的哪些部份需要定期更新?怎么實施這項方案?如何驗證?它需要具有從第一天就開始的思維模式。例如,如果開發(fā)人員在對UI至關重要的韌體層上編寫內(nèi)容,則可能無法使用可用于更新應用層和UI的相同機制更新韌體。
錯誤#6:忽略優(yōu)化操作系統(tǒng)中的“工作空間”
本文已在前面部分討論過啟動性能的優(yōu)化(錯誤#1),但還有更多值得注意之處。
軟件工程的參考影像通常支持許多工具和功能特性,它們專為開發(fā)人員設計,以便輕松開始實施項目。這些工具都同時運作,但可決定使用或不使用它們,且應著手剝離不需要的東西,以達優(yōu)化。如果不這樣做,系統(tǒng)會在嵌入式設備上使用其有限的資源,在后臺執(zhí)行無用的進程,千萬不要受累于此。
許多嵌入式項目都使用Yocto配方創(chuàng)建的Yocto影像??上У氖牵捎跈n案層級各不相同,這些配方也很難用(圖3)。目前在市場上有許多供貨商,因此還需要密切地了解硬件驅(qū)動器、核心和系統(tǒng)其他部份的工作原理,這部份花在專業(yè)咨詢服務上的投資通常會在上市時間和性能提升方面得到投資報酬。
圖3 許多嵌入式項目使用基于Yocto的影像,它們是由復雜的Yocto配方創(chuàng)建,但并不容易使用。
熱門資訊
1. iPhone6的UI設計尺寸規(guī)范,原來如此重要!
想要了解iPhone6界面設計的尺寸規(guī)范嗎?這里為您詳細介紹iPhone6的UI設計尺寸規(guī)范,包括界面尺寸、圖標尺寸、可點擊高度規(guī)范、搜索欄高度規(guī)范以及界面元素之間的距離規(guī)范。
2. 12個絕佳的UI設計網(wǎng)站,助力你的創(chuàng)作之旅!
將為大家介紹12個絕佳的UI設計網(wǎng)站,這些網(wǎng)站不僅可以為你提供靈感,還可以幫助你學習新的技巧,助力你的創(chuàng)意之旅!dribbbleDribbble 是一個面向設計師的...
3. 移動端UI設計中常見的5種APP界面類型,你get到了嗎?
通過介紹移動端UI設計中的閃屏頁、引導頁、浮層引導頁、空白頁和首頁等5種APP界面類型,幫助大家更好地了解UI設計的基本知識
4. 10個免費學習UI設計的網(wǎng)站 提升你的設計能力
怎樣可以提升你的UI設計能力!第一個:站酷站酷想必是設計師都知道的一個網(wǎng)站,里面不止有UI設計的資源,還有其他設計的,不如:平面設計、網(wǎng)頁設計、字體...
在移動端設計中,列表頁和表單頁是不可或缺的部分。一個好的列表頁和表單頁設計能夠讓用戶輕松地獲取信息并產(chǎn)生點擊欲望,從而提高點擊率。本文將為你...
對于想要提高自己的設計能力和創(chuàng)造力的小白和UI設計師來說,這本書是一個很好的選擇。4.《設計的覺醒》(IKKO TANAKA)推薦理由: 這本書是日本現(xiàn)代平面...
探索零基礎UI設計培訓的時長與薪資前景。了解數(shù)字藝術教育領域的專業(yè)課程,以及培訓后的職業(yè)發(fā)展機會。
8. 物聯(lián)網(wǎng)APP UI設計:創(chuàng)造智能硬件領域的沉浸式體驗
ui設計應該讓用戶一目了然,能夠快速找到所需的信息和功能。在設計過程中,應盡量使用簡潔的圖標、文字和色彩,避免過多的視覺干擾。符合用戶習慣:ui設...
想了解武漢UI設計培訓班的費用是多少嗎?不知道學UI設計要花多少錢?不妨看看這篇文章,了解UI設計培訓班的學費價格以及學習內(nèi)容。
10. 設計中的色彩心理學:淺析中西方色彩的歷史演變與設計應用
摘要:本文探討了色彩的歷史演變和設計應用。通過對色彩在早期文明社會中的實用運用、不同文化背景下色彩觀念的差異、色彩在設計中的重要性以及新興技...
同學您好!