Riba:
- Ta hanyar fara ɗaukar bayanan martaba da auna ainihin ƙugiya, yin haɓakawa bisa bayanai maimakon zato da samun fassarar bayanan martaba ta hanyar hankali na wucin gadi.
- Ability don ƙaddamar da aiki mafi tsada dangane da lokacin farawa, iyawa, ƙwaƙwalwa da baturi da cire babban aiki daga babban zaren.
- Ikon sarrafa baturi da farashin processor na damar AI kamar samfurin kan-na'ura da kiran girgije ta hanyar samfuri da sarrafa tsari
Masu amfani da wayar hannu ba su da haƙuri. Idan app ɗin yana buɗewa a hankali, yana rataye yayin gungurawa, ko ya cire baturin cikin sauri, mai amfani yana goge shi kuma ya ba shi ƙimar tauraro a cikin shagon. Aiki da ingancin baturi al'amari ne na rayuwar app ta hannu; Yana rinjayar duka gamsuwar mai amfani da martabar kantin kai tsaye. AI taimako ne mai ƙarfi wajen gano ƙwanƙolin aiki (kwalba), fassara sakamakon aunawa, da ba da shawarar ingantawa. Amma mulkin zinariya ya rage: auna farko, inganta daga baya. A cikin wannan rukunin, za mu koyi magance matsalolin aiki da baturi ta hanyar tushen bayanai tare da AI. Wani muhimmin al'amari na musamman shine sarrafa tasiri akan baturi da aikin ƙarfin AI da muka ƙara a cikin raka'a da suka gabata (samfurin kan na'urar, kiran girgije).
Ingantawa ba tare da aunawa ba
The biggest mistake of an inexperienced developer is predictive optimization: wasting time saying "this one must be slow". Ainihin ƙugiya kusan koyaushe yana cikin wurin da ba a zata ba. Don haka da farko an ɗauki bayanin martaba (profiling — aunawa wane ɓangaren aikace-aikacen ke cinye nawa lokaci/memory/baturi). Android Studio Profiler da Xcode Instruments ne na wannan aikin. Ba da bayanan ma'auni ga AI yana hanzarta fassarar; Amma ba tare da aunawa ba, gaya AI "aiki na yana jinkirin, hanzarta shi" yana nufin yin tsinkaya a makance.
Manyan gatura guda huɗu na aikin su ne:
axis
alama
na al'ada dalilin
Lokacin farawa
Aikace-aikacen yana buɗewa a makare
Aiki mai nauyi a kan babban zaren
Fassara (jank)
Gungura ya makale
Dogon aiki, sake gyara da ba dole ba a cikin zaren UI
ƙwaƙwalwar ajiya
kumburi, rushewa
Leak, large image, cache uncontrolled
baturi / zafi
saurin fitar maniyyi
Ci gaba da wuri, cibiyar sadarwa, firikwensin, aikin bango
Tukwici: Lokacin tambayar AI game da batun aiki, ba da fitarwar bayanin martaba (wanne aiki ya ɗauki tsawon lokaci, jadawali na ƙwaƙwalwa). Bayanai masu wuya kamar "Wannan aikin yana ɗaukar 30ms a kowace firam" yana ba AI damar mayar da hankali kan ainihin ƙugiya; Jumla ta zahiri kamar "jinkirin" tana samar da cikakkiyar amsa mara amfani.
Farashin baturi na iyawar AI
Siffofin AI da muka ƙara a cikin wannan rukunin suna da ƙarfi, amma ba su da kyauta. Ciro samfurin kan na'urar yana damun mai sarrafawa da baturi; Gano hoton da ke gudana akai-akai (misali sarrafa kyamara kowane firam) zai zafafa wayar kuma ya zubar da baturin cikin mintuna. Kiran Cloud AI, a gefe guda, yana cinye baturin ta hanyar adana rediyon cibiyar sadarwa (eriyar da ke aikawa da karɓar bayanai) koyaushe. Magani: gudanar da samfurin kan na'urar kawai lokacin da ake buƙata, samfurin kamara ƴan lokuta a sakan daya maimakon kowane firam, batch aika buƙatun girgije, yin ɗagawa mai nauyi yayin da na'urar ke caji ko aiki.
Tsanaki: Siffar AI mai gudana koyaushe (fassara kai tsaye, ci gaba da gano abu) na iya zubar da baturin cikin sauri, zafi na'urar, kuma tsarin na iya murƙushe shi. Siffar da ke sa mai amfani ya ji an share wannan farashi. A koyaushe ina tambayar AI "ta yaya zan sa wannan fasalin ya zama abokin baturi?" Yi tambaya kuma.
Matakan ingantawa
- Auna. Nemo ainihin ƙugiya tare da Profiler; kar a yi tsammani.
- Zabi babbar matsala. Kada ku bi 1% ingantawa; Nufin ciniki mafi tsada.
- Tambayi AI tare da bayanai. Nemi shawarar ingantawa tare da fitarwar bayanin martaba + lambar da ta dace.
- Aiwatar da auna kuma. Shin cigaban gaskiya ne? Shin lambar ta ragu?
- Gudanar da koma baya. Shin ingantawa ya karya wani abu? Maimaita gwajin gani da aiki.
uku mini lokuta
Case 1 - Bincike a wurin da bai dace ba. Wata ƙungiya ta yi tunanin jerin sun makale kuma sun sake yin amfani da lambar gungurawa na tsawon makonni ba tare da wani fa'ida ba. Lokacin da suka ɗauki bayanin martaba kuma suka ciyar da bayanan zuwa AI, ya nuna cewa ainihin ƙwanƙwasa shine hotunan da aka sake ɗorawa akan hanyar sadarwa tare da kowane jere. Lokacin da aka ƙara cache na gani, ƙwarewar ya ƙaru daga 42 FPS zuwa 60 FPS. Darasi: aunawa yana guje wa makonni na ƙoƙarin banza.
Case 2 - fasalin dodo na baturi. Aikace-aikacen fassarar ta ƙara fassarar rubutu kai tsaye tare da kyamara; Masu amfani sun koka da cewa "wayar ta yi zafi a cikin mintuna 15 kuma kashi 30% na baturin ya ɓace." Lokacin da aka tuntubi AI, an gano kyamarar tana sarrafa firam 30 a sakan daya; Lokacin da aka rage wannan zuwa firam 5 kuma an sabunta sakamakon ƴan firam baya, yawan baturi ya ragu zuwa kashi ɗaya bisa uku, kuma ba a ga ingancinsa ba. Darasi: Koyaushe saita AI tare da idon baturi.
Case 3 - Sannu a hankali farawa. An buɗe app a cikin daƙiƙa 4.5; 20% na masu amfani suna fita a farawa. Bayanan martaba ya nuna cewa duk aikin farko (nazari, bayanan bayanai, shirye-shiryen samfurin) an yi su ne a jere a kan babban zaren. Tare da shawarar AI, an jinkirta waɗannan kuma an sanya su a kan mai ƙona baya; An rage lokacin buɗewa zuwa daƙiƙa 1.3, kuma an rage yawan watsi da rabi. Darasi: Yi aiki mai mahimmanci kawai a farkon.
Rauni mai ƙarfi / Ƙarfi mai ƙarfi
Rarraunan faɗakarwa: "Aikina yana jinkirin, hanzarta shi."
Ƙarfi mai ƙarfi: "Lissafi na gungurawa yana makale (jank) a cikin aikace-aikacen Android na. Bayanan bayanan martaba: bindImageView yana ɗaukar 28ms akan kowane firam, ana ɗora hotuna daga hanyar sadarwa kowane lokaci, babu cache. Lambobi masu dangantaka: [RecyclerView adaftar code]. Ba da shawarar ingantawa 3 mafi inganci cikin tsari na tasiri. Bayyana fa'idar da ake sa ran da kuma yiwuwar rage tasirin hoto ga kowane.
Samfura masu kwafi
Samfurin bincike na Bottleneck: "Fassara bayanan bayanan martaba masu zuwa kuma nemo ayyukan 3 mafi tsada: [fitarwa na bayanan].
Samfurin inganta baturi: "Wannan fasalin yana zubar da baturi da sauri: [fasalin, misali, wurin dindindin] Ka sa ya zama abokantaka na baturi:- Rage mitar samfur- Ƙuntatawa a bango- sarrafa tsari- Gudu kawai lokacin da ya cancanta A ware mafita ba tare da rushe kwarewar mai amfani ba. [lamba]"
Samfurin saurin farawa na farawa: "Haɓaka ƙaddamar da aikace-aikacen. Abubuwan da ake yi a halin yanzu a farawa: [jeri]. Wanne za a iya jinkirtawa, baya baya, ko ɗorawa-ƙasa?
Samfuran farashin AI: "Yi kimanta aikin da farashin baturi na fasalin [kan-na'urar / kiran girgije] na ƙara. Yi lissafin ma'auni da ya kamata in auna da dabarun rage farashin. [lambar]"
Kuskuren gama gari
- Ingantawa ba tare da aunawa ba. Ainihin ƙugiya sau da yawa yana cikin wani wuri daban fiye da yadda aka annabta.
- Neman ƙananan riba. Nufin aikin da ya fi tsada maimakon haɓakar kashi 1%.
- Yin watsi da farashin baturi na fasalin AI. Samfuri/kamara/masu aiki koyaushe yana cinye baturin.
- Tiring up babban zaren. Ƙaunar farawa da gungurawa bai kamata su kasance akan zaren UI ba.
- Ba a sake aunawa ba bayan ingantawa. Tabbatar cewa haɓakawa na gaske ne kuma baya karya komai.
- Aunawa aiki a cikin emulator. Ainihin gudun na'urar, zafin jiki da baturi sun bambanta.
A takaice
Ayyuka da baturi al'amari ne na rayuwa ta aikace-aikacen hannu. Dokar zinariya: auna farko, inganta daga baya. Ba da bayanan martaba ga AI yana haɓaka fassarar; Ƙaunar da ba za ta iya misalta ba ta “gudu” tana kaiwa ga zato makaho. Nufin ma'amala mafi tsada, kar ku bi ƙananan riba. Ƙarfin AI da aka ƙara a cikin wannan ƙirar yana da ƙarfi amma yana ɗaukar baturi da farashin sarrafawa; Sarrafa wannan farashi ta hanyar rage mitar samfur, batching, da gudana kawai lokacin da ake buƙata. Auna sake a kan ainihin na'urar bayan kowace ingantawa.
Aikin aikace-aikace
Shigo bayanin martaba a cikin aikace-aikace (aikin ku ko misalin ku) ko ƙirƙirar fitarwar samfurin samfurin kuma ku fassara shi ta AI tare da "samfurin bincike na Bottleneck". Aiwatar da mafi girman tasirin ingantawa kuma sake aunawa: shin da gaske adadin ya faɗi? Hakanan, kimanta fasalin AI da kuka ƙara a cikin wannan ƙirar (samfurin kan na'urar ko kiran gajimare) dangane da baturi tare da "samfurin ƙimar fasalin AI" kuma ƙayyade aƙalla saitin abokantaka na baturi.
jerin abubuwan dubawa
- [ ] Na sami bayanin martaba kafin ingantawa, ban yi tsammani ba
- [ ] Na yi nufin kasuwanci mafi tsada, ban watsar da ƙananan riba ba
- [ ] Na ba da bayanan bayanan AI a cikin lambobi masu mahimmanci
- [ ] Na kimanta farashin baturi/mai sarrafawa na fasalin AI
- [ ] Na cire nauyi daga babban zaren
- [ ] Bayan ingantawa, na sake aunawa akan ainihin na'urar kuma na duba koma baya