發(fā)布時間:2024-01-04 09:38:32 瀏覽量:181次
隨著當(dāng)今的設(shè)備及其各自的用戶接口(UI)變得更加先進(jìn),創(chuàng)建和產(chǎn)生這些UI也變得更具挑戰(zhàn)性,特別是為現(xiàn)代復(fù)雜設(shè)備建置UI通常更燒腦。無論如何,當(dāng)你想要為特定的自定義嵌入式設(shè)備制作UI時,它可能是一項完全不同的挑戰(zhàn)性任務(wù)。
我們經(jīng)常看到開發(fā)人員受限于各式各樣的問題,跌入常見的錯誤陷阱。本文將深入探討這些問題,并揭示開發(fā)人員在開發(fā)跨平臺UI時最常犯的6個與應(yīng)用和解決方案架構(gòu)有關(guān)的錯誤。
錯誤#1:誤解內(nèi)存消耗和內(nèi)存利用
當(dāng)開發(fā)人員將影像加載圖像內(nèi)存時,需要考慮的一些事項包括:需要快取的項目、加載元素的順序,以及如何建構(gòu)整體用戶體驗(UX)。性能問題(通常發(fā)生在較小的設(shè)備中)區(qū)分為實際和感知性能,例如,對于花費(fèi)大量時間(實際性能)的操作,開發(fā)人員可以在屏幕上彈出預(yù)載的影像,讓用戶認(rèn)為事情發(fā)生得更快(感知性能)。然而,解決這些問題需要到位的技術(shù)能力和工具。
以嵌入式Linux堆棧為例。現(xiàn)成可用的底層操作系統(tǒng)(OS)可能得花超過10秒的時間啟動,而其上的普通Qt大約需要1秒鐘(圖1)。考慮到在這兩者之上的應(yīng)用本身,總啟動時間總計約15秒。透過適當(dāng)?shù)募记?、工具和?yōu)化,啟動應(yīng)該只需要1~2秒鐘。

圖1 啟動序列的持續(xù)時間在未優(yōu)化和優(yōu)化的軟件堆棧之間差異很大。
在優(yōu)化時,開發(fā)人員必須減少性能遲滯,并了解真正的瓶頸和時間花費(fèi)所在。這需要充份地理解內(nèi)存的使用方式、順序,以及如何優(yōu)化并具備相應(yīng)能力。如果方案需要花費(fèi)大量啟動時間,顯示優(yōu)化尚未到位,亦說明企業(yè)不重視績效,但我猜最終會如愿以償,因為客戶畢竟花了錢,對嗎?
錯誤#2:在部署到目標(biāo)硬件之前于PC上進(jìn)行開發(fā)
這是嵌入式開發(fā)最常見的原罪。設(shè)計師和工程團(tuán)隊光是在PC上就花費(fèi)太長時間開發(fā)嵌入式方案,然后,他們在項目周期中又太晚部署到目標(biāo)硬件上。由于目標(biāo)硬件通常是新的,而且在項目的早期階段團(tuán)隊也還用不到,因此該問題通常會進(jìn)一步惡化。
在項目實施過程中,設(shè)計缺陷、性能瓶頸、錯誤或問題的發(fā)現(xiàn)時間越晚,其修復(fù)成本就越高。將PC與嵌入式設(shè)備進(jìn)行比較發(fā)現(xiàn),PC幾乎可以不限量地「揮霍」資源、內(nèi)存和功耗,以及其他基礎(chǔ)要素。如果項目在PC上運(yùn)作良好,可能無法實現(xiàn)添加提升性能的特性,這會導(dǎo)致重新進(jìn)行架構(gòu)設(shè)計和重新編寫大量軟件的主要問題。在PC桌面上完美運(yùn)作的東西到了嵌入式設(shè)備上,并不一定就能正常運(yùn)作或管理,忽略了這一點(diǎn)會影響產(chǎn)品上市時間、提高擁有成本,以及工程和維護(hù)成本。
那么有靈丹妙藥嗎?是的,從第一天開始就在目標(biāo)設(shè)備上部署。投資在使這一切成為可能的工具,以確保整個團(tuán)隊(包括設(shè)計師)都可以存取目標(biāo)硬件,如果沒有可用的目標(biāo)設(shè)備,請選擇接近該設(shè)備的產(chǎn)品,并從第一天開始部署。當(dāng)今,有很多的現(xiàn)成參考硬件選擇,可讓你足夠接近目標(biāo)設(shè)備,如果必須只在PC上進(jìn)行開發(fā),那就在PC上開發(fā),但要做好重新編寫和延遲的心理準(zhǔn)備。
錯誤#3:將完全渲染的設(shè)計壓縮到嵌入式設(shè)備中
為了在屏幕上顯示酷炫的三維(3D)元素,需要來自設(shè)計師的3D設(shè)計。設(shè)計師經(jīng)常會創(chuàng)造完全渲染的影像,相當(dāng)于無數(shù)的多邊形("嘿!它可是在設(shè)計師的PC上運(yùn)作得很好呢!")。這必須要由開發(fā)人員試圖將巨大的3D對象擠進(jìn)小型設(shè)備中(圖2),它要不是使一切都變得非常緩慢,不然就是要求開發(fā)人員付出額外時間,或者兩弊兼具。

圖2 設(shè)計師提供完全渲染的影像,導(dǎo)致對于開發(fā)人員來說是過于復(fù)雜的元素。
此外,在2D UI上,開發(fā)人員和設(shè)計師有時會在UI上使用過于復(fù)雜的元素。挑戰(zhàn)是如何優(yōu)化不堪(down)、斑駁(shaving)和單調(diào)(slimming)的影像、元素和多邊形以適應(yīng)小屏幕,同時保持相同的用戶體驗。在此過程中,通常都以性能和/或上市時間為代價。
錯誤#4:使用一種編碼語言,以一蓋全
客戶經(jīng)常用HTML5、Javascript和/或QML編寫過多的應(yīng)用邏輯。上述都是聲明性的腳本技術(shù),它們將使用與原生(native)C++不同的CPU資源,這通常會導(dǎo)致性能和維護(hù)問題。
從一開始就設(shè)計軟件架構(gòu)十分重要。先放上UI層,然后加上C++和更低分層(二進(jìn)制執(zhí)行、原生二進(jìn)制執(zhí)行,在這些分層上可能使用的GPU和CPU功率)。在設(shè)計軟件架構(gòu)時,選擇正確的組件非常重要。
性能良好的Qt應(yīng)用有兩個主要部份:應(yīng)用邏輯和大量數(shù)據(jù)以C++編寫;UI和使用者互動則使用更高級語言編寫,如QML。
錯誤#5:將更新和安全性視為特性
假設(shè)你正在研發(fā)一項項目,而且完成了大約三分之二的工作量,然后,客戶希望添加無線軟件更新和安全特性,這要求是錯誤的。更新和安全性并不是特性,它們是設(shè)計思維模式(mindset)和整體軟件架構(gòu)的核心部份。
客戶往往會將更新和安全性視為某段時間中已在其他特性實現(xiàn)的東西,但其實不然。開發(fā)人員必須提前計劃和思考,有什么樣的安全要求?軟件的哪些部份需要定期更新?怎么實施這項方案?如何驗證?它需要具有從第一天就開始的思維模式。例如,如果開發(fā)人員在對UI至關(guān)重要的韌體層上編寫內(nèi)容,則可能無法使用可用于更新應(yīng)用層和UI的相同機(jī)制更新韌體。
錯誤#6:忽略優(yōu)化操作系統(tǒng)中的“工作空間”
本文已在前面部分討論過啟動性能的優(yōu)化(錯誤#1),但還有更多值得注意之處。
軟件工程的參考影像通常支持許多工具和功能特性,它們專為開發(fā)人員設(shè)計,以便輕松開始實施項目。這些工具都同時運(yùn)作,但可決定使用或不使用它們,且應(yīng)著手剝離不需要的東西,以達(dá)優(yōu)化。如果不這樣做,系統(tǒng)會在嵌入式設(shè)備上使用其有限的資源,在后臺執(zhí)行無用的進(jìn)程,千萬不要受累于此。
許多嵌入式項目都使用Yocto配方創(chuàng)建的Yocto影像??上У氖?,由于檔案層級各不相同,這些配方也很難用(圖3)。目前在市場上有許多供貨商,因此還需要密切地了解硬件驅(qū)動器、核心和系統(tǒng)其他部份的工作原理,這部份花在專業(yè)咨詢服務(wù)上的投資通常會在上市時間和性能提升方面得到投資報酬。

圖3 許多嵌入式項目使用基于Yocto的影像,它們是由復(fù)雜的Yocto配方創(chuàng)建,但并不容易使用。
熱門資訊
1. 10個免費(fèi)學(xué)習(xí)UI設(shè)計的網(wǎng)站 提升你的設(shè)計能力
怎樣可以提升你的UI設(shè)計能力!第一個:站酷站酷想必是設(shè)計師都知道的一個網(wǎng)站,里面不止有UI設(shè)計的資源,還有其他設(shè)計的,不如:平面設(shè)計、網(wǎng)頁設(shè)計、字體...
2. iPhone6的UI設(shè)計尺寸規(guī)范,原來如此重要!
想要了解iPhone6界面設(shè)計的尺寸規(guī)范嗎?這里為您詳細(xì)介紹iPhone6的UI設(shè)計尺寸規(guī)范,包括界面尺寸、圖標(biāo)尺寸、可點(diǎn)擊高度規(guī)范、搜索欄高度規(guī)范以及界面元素之間的距離規(guī)范。
3. 移動端UI設(shè)計中常見的5種APP界面類型,你get到了嗎?
通過介紹移動端UI設(shè)計中的閃屏頁、引導(dǎo)頁、浮層引導(dǎo)頁、空白頁和首頁等5種APP界面類型,幫助大家更好地了解UI設(shè)計的基本知識
4. 12個絕佳的UI設(shè)計網(wǎng)站,助力你的創(chuàng)作之旅!
將為大家介紹12個絕佳的UI設(shè)計網(wǎng)站,這些網(wǎng)站不僅可以為你提供靈感,還可以幫助你學(xué)習(xí)新的技巧,助力你的創(chuàng)意之旅!dribbbleDribbble 是一個面向設(shè)計師的...
5. 移動端列表頁和表單頁設(shè)計秘訣:讓你的APP點(diǎn)擊率翻倍
在移動端設(shè)計中,列表頁和表單頁是不可或缺的部分。一個好的列表頁和表單頁設(shè)計能夠讓用戶輕松地獲取信息并產(chǎn)生點(diǎn)擊欲望,從而提高點(diǎn)擊率。本文將為你...
6. 史上最全,平面設(shè)計UI設(shè)計必備的77個國內(nèi)外素材、設(shè)計資源網(wǎng)站
ui設(shè)計社區(qū),大神太多了。3、behance: https://www.behance.net/ ,著名設(shè)計... 對于品牌設(shè)計師來說,除了圖案素材收集之外,還有一個很重要的,就是設(shè)計故...
7. 推薦10本適合UI設(shè)計師看的書籍,輕松掌握技能!
對于想要提高自己的設(shè)計能力和創(chuàng)造力的小白和UI設(shè)計師來說,這本書是一個很好的選擇。4.《設(shè)計的覺醒》(IKKO TANAKA)推薦理由: 這本書是日本現(xiàn)代平面...
8. 設(shè)計中的色彩心理學(xué):淺析中西方色彩的歷史演變與設(shè)計應(yīng)用
摘要:本文探討了色彩的歷史演變和設(shè)計應(yīng)用。通過對色彩在早期文明社會中的實用運(yùn)用、不同文化背景下色彩觀念的差異、色彩在設(shè)計中的重要性以及新興技...
9. 武漢UI設(shè)計培訓(xùn)班費(fèi)用怎么樣?想學(xué)UI設(shè)計要多少錢?
想了解武漢UI設(shè)計培訓(xùn)班的費(fèi)用是多少嗎?不知道學(xué)UI設(shè)計要花多少錢?不妨看看這篇文章,了解UI設(shè)計培訓(xùn)班的學(xué)費(fèi)價格以及學(xué)習(xí)內(nèi)容。
10. 零基礎(chǔ)學(xué)UI設(shè)計要多久?培訓(xùn)完能拿多少工資?
探索零基礎(chǔ)UI設(shè)計培訓(xùn)的時長與薪資前景。了解數(shù)字藝術(shù)教育領(lǐng)域的專業(yè)課程,以及培訓(xùn)后的職業(yè)發(fā)展機(jī)會。
最新文章
同學(xué)您好!