ትርፍ፡
- በመጀመሪያ ፕሮፋይል ወስዶ እውነተኛውን ማነቆ በመለካት፣ ከመገመት ይልቅ በመረጃ ላይ የተመሰረተ ማመቻቸት እና የመገለጫው ውጤት በአርቴፊሻል ኢንተለጀንስ እንዲተረጎም በማድረግ።
- በጅማሬ ጊዜ ፣ ቅልጥፍና ፣ ማህደረ ትውስታ እና ባትሪ ውስጥ በጣም ውድ የሆነውን ኦፕሬሽን ማነጣጠር እና ከባድ ስራን ከዋናው ክር የማስወገድ ችሎታ።
- እንደ የመሣሪያ ላይ ሞዴል እና የደመና ጥሪን በናሙና እና ባች ሂደት ያሉ የ AI ችሎታዎች የባትሪ እና ፕሮሰሰር ወጪን የማስተዳደር ችሎታ።
የሞባይል ተጠቃሚዎች ትዕግስት የላቸውም። አፕ በዝግታ ከተከፈተ፣ በማሸብለል ላይ እያለ ከተሰቀለ ወይም ባትሪውን በፍጥነት ካሟጠጠ ተጠቃሚው ይሰርዘዋል እና በመደብሩ ውስጥ የኮከብ ደረጃ ይሰጠዋል። የአፈጻጸም እና የባትሪ ቅልጥፍና የሞባይል መተግበሪያ የመትረፍ ጉዳይ ነው። በቀጥታ ሁለቱንም የተጠቃሚ እርካታ እና የመደብር ደረጃን ይነካል። AI የአፈጻጸም ማነቆዎችን (ጠርሙሶችን) ለመለየት፣ የመለኪያ ውጤቶችን ለመተርጎም እና ማመቻቸትን ለመምከር ኃይለኛ ረዳት ነው። ነገር ግን ወርቃማው ህግ ይቀራል: መጀመሪያ ይለኩ, በኋላ ያሻሽሉ. በዚህ ክፍል ውስጥ የአፈጻጸም እና የባትሪ ችግሮችን በመረጃ ላይ በተመሰረተ መልኩ ከ AI ጋር መፍታት እንማራለን። በጣም አስፈላጊው ጉዳይ በባትሪ እና በቀደሙት ክፍሎች (በመሣሪያ ላይ ሞዴል ፣ የደመና ጥሪ) ላይ ያከልናቸው የ AI ችሎታዎች አፈፃፀም ላይ ያለውን ተፅእኖ ማስተዳደር ነው።
ሳይለካ ማመቻቸት
ልምድ የሌለው ገንቢ ትልቁ ስህተት መተንበይ ማመቻቸት ነው፡ "ይህ ቀርፋፋ መሆን አለበት" በማለት ጊዜ ማባከን ነው። ትክክለኛው ማነቆ ሁልጊዜ ማለት ይቻላል ባልተጠበቀ ቦታ ላይ ነው። ስለዚህ በመጀመሪያ መገለጫው ይወሰዳል (መገለጫ - የመተግበሪያው ክፍል ምን ያህል ጊዜ / ማህደረ ትውስታ / ባትሪ እንደሚፈጅ መለካት)። አንድሮይድ ስቱዲዮ ፕሮፋይለር እና Xcode Instruments ለዚህ ስራ ናቸው። የመለኪያ መረጃን ለ AI መስጠት ትርጓሜን ያፋጥናል; ነገር ግን ያለ መለኪያ AI "መተግበሪያዬ ቀርፋፋ ነው, ያፋጥነዋል" ማለት በጭፍን ትንበያ መስጠት ማለት ነው.
አራት ዋና ዋና የአፈፃፀም ዘንጎች ናቸው-
ዘንግ
ምልክት
የተለመደ ምክንያት
የመነሻ ጊዜ
ትግበራ ዘግይቶ ይከፈታል
በዋና ክር ላይ ከባድ ስራ
ቅልጥፍና (ጃንክ)
ማሸብለል ተጣብቋል
ረጅም ሂደት፣ በUI ክር ውስጥ አላስፈላጊ ዳግም መሳል
ትውስታ
እብጠት, መውደቅ
መፍሰስ፣ ትልቅ ምስል፣ መሸጎጫ ከቁጥጥር ውጭ ነው።
ባትሪ / ሙቀት
ፈጣን ፈሳሽ መፍሰስ
ቀጣይነት ያለው ቦታ፣ አውታረ መረብ፣ ዳሳሽ፣ የበስተጀርባ ስራ
ጠቃሚ ምክር: ስለ አፈጻጸም ጉዳይ AIን ሲጠይቁ, የመገለጫውን ውጤት ይስጡ (የትኛው ተግባር ለምን ያህል ጊዜ እንደሚወስድ, የማስታወሻ ግራፍ). እንደ "ይህ ተግባር በአንድ ክፈፍ 30ms ይወስዳል" ያለ ደረቅ ውሂብ AI በእውነተኛው ማነቆ ላይ እንዲያተኩር ያስችለዋል. እንደ “ቀርፋፋ” ያለ ተጨባጭ ሀረግ አጠቃላይ እና የማይጠቅም መልስ ያስገኛል።
የ AI ችሎታዎች የባትሪ ዋጋ
በዚህ ሞጁል ውስጥ ያከልናቸው የ AI ባህሪያት ኃይለኛ ናቸው, ግን ነፃ አይደሉም. በመሳሪያ ላይ ሞዴል ማውጣት ፕሮሰሰሩን እና ባትሪውን ያጨናንቃል; በቋሚነት የሚሰራ የምስል ማወቂያ (ለምሳሌ እያንዳንዱን ፍሬም ካሜራ በማስኬድ) ስልኩን ያሞቀዋል እና ባትሪውን በደቂቃዎች ውስጥ ያስወጣዋል። በሌላ በኩል የ Cloud AI ጥሪዎች የኔትወርክ ሬድዮውን (መረጃን የሚልክ እና የሚቀበል አንቴና) ሁልጊዜ በማቆየት ባትሪውን ይበላሉ። መፍትሄዎች፡ በመሣሪያ ላይ ያለውን ሞዴል ሲያስፈልግ ብቻ ያሂዱ፣ ከእያንዳንዱ ፍሬም ይልቅ ካሜራውን በሰከንድ ጥቂት ጊዜ ናሙና ያድርጉ፣ ባች የደመና ጥያቄዎችን ይላኩ፣ መሳሪያው እየሞላ ወይም ስራ ፈት እያለ ከባድ ማንሳትን ያድርጉ።
ጥንቃቄ፡ ያለማቋረጥ የሚያሄድ AI ባህሪ (የቀጥታ ትርጉም፣ ቀጣይነት ያለው የነገር ለይቶ ማወቂያ) ባትሪውን በፍጥነት ሊያፈስሰው፣ መሳሪያውን ሊያሞቀው እና በስርዓቱ ሊገታ ይችላል። ተጠቃሚው ይህ ወጪ እንደተሰረዘ እንዲሰማው የሚያደርግ ባህሪ። እኔ ሁልጊዜ AI እጠይቃለሁ "ይህን ባህሪ ለባትሪ ተስማሚ ማድረግ የምችለው እንዴት ነው?" እንዲሁም ጥያቄውን ይጠይቁ.
የማመቻቸት ደረጃዎች
- ለካ። ከመገለጫ ጋር ትክክለኛውን ማነቆ ይፈልጉ; አትገምቱ።
- ትልቁን ችግር ይምረጡ። 1% መሻሻልን አያሳድዱ; በጣም ውድ ከሆነው ግብይት ግብይት ያድርጉ።
- AI በመረጃ ይጠይቁ። የማመቻቸት ጥቆማን ከመገለጫ ውፅዓት + ተዛማጅ ኮድ ጋር ይጠይቁ።
- ያመልክቱ እና እንደገና ይለኩ. ማሻሻያው እውነት ነው? ቁጥሩ ወድቋል?
- የመመለሻ መቆጣጠሪያ. ማመቻቸት የሰበረ ነገር አለ? የእይታ እና የተግባር ሙከራን ድገም።
ሶስት ጥቃቅን ጉዳዮች
ጉዳይ 1 - በተሳሳተ ቦታ መፈለግ. አንድ ቡድን ዝርዝሮቹ እንደተጣበቁ በማሰብ የማሸብለል ኮዱን ለሳምንታት ምንም ጥቅም አላገኙም። ፕሮፋይለሩን ወስደው መረጃውን ወደ AI ሲመግቡት እውነተኛው ማነቆ ምስሎች በእያንዳንዱ ረድፍ በአውታረ መረቡ ላይ እንደገና ሲጫኑ ነበር። ምስላዊው መሸጎጫ ሲታከል ቅልጥፍናው ከ42 FPS ወደ 60 FPS ጨምሯል። ትምህርት፡ መለካት የሳምንታት ከንቱ ጥረትን ያስወግዳል።
ጉዳይ 2 - የባትሪ ጭራቅ ባህሪ። የትርጉም መተግበሪያ ከካሜራ ጋር የቀጥታ ጽሑፍ ትርጉም አክሏል; ተጠቃሚዎች "ስልኩ በ15 ደቂቃ ውስጥ ሞቀ እና 30% ባትሪው ጠፍቷል" ሲሉ ቅሬታቸውን ገለጹ። AI ሲጠየቅ ካሜራው በሰከንድ 30 ፍሬሞችን ሲያስተናግድ ተገኘ። ይህ ወደ 5 ክፈፎች ሲቀንስ እና ውጤቱ በጥቂት ክፈፎች ልዩነት ሲዘምን የባትሪ ፍጆታ ወደ አንድ ሶስተኛ ቀንሷል፣ እና ጥራቱ የሚታይ አልነበረም። ትምህርት: ሁልጊዜ AI ን በባትሪ አይን ያዘጋጁ።
ጉዳይ 3 - ቀስ በቀስ ጅምር. አንድ መተግበሪያ በ 4.5 ሰከንዶች ውስጥ ይከፈታል; 20% ተጠቃሚዎች በሚነሳበት ጊዜ ይወጣሉ። መገለጫው ሁሉም የመጀመሪያ ስራዎች (ትንታኔዎች, የውሂብ ጭነት, ሞዴል ዝግጅት) በዋናው ክር ላይ በቅደም ተከተል ተከናውነዋል. በ AI ፕሮፖዛል ፣ እነዚህ ለሌላ ጊዜ ተላልፈዋል እና በጀርባ ማቃጠያ ላይ ተቀምጠዋል ። የመክፈቻው ጊዜ ወደ 1.3 ሰከንድ ቀንሷል, እና የመተው መጠን በግማሽ ቀንሷል. ትምህርት፡ መጀመሪያ ላይ አስፈላጊ ስራ ብቻ ስሩ።
ደካማ ጥያቄ / ጠንካራ ጥያቄ
ደካማ ጥያቄ፡ "የእኔ መተግበሪያ ቀርፋፋ ነው፣ ያፋጥኑት።"
ኃይለኛ ጥያቄ፡ "የዝርዝር ማሸብለል በእኔ አንድሮይድ አፕሊኬሽን ውስጥ ተጣብቆ ይቆያል። የመገለጫ ዳታ፡ bindImageView በእያንዳንዱ ፍሬም ላይ 28ms ይወስዳል፣ ምስሎች በእያንዳንዱ ጊዜ ከአውታረ መረብ ላይ ይጫናሉ፣ ምንም መሸጎጫ የለም። ተዛማጅ ኮድ፡ [RecyclerView adapter code]። በተጽዕኖው ቅደም ተከተል 3 በጣም ውጤታማ ማትባቶችን ምከሩ። የሚጠበቀውን ጥቅም እና ለእያንዳንዱ ሰው የጥራት መፍትሄዎችን እንዳይቀንስ ያድርጉ።"
ሊገለበጡ የሚችሉ አብነቶች
የ Bottleneck ትንተና አብነት: "የሚከተለውን የመገለጫ ውሂብ መተርጎም እና 3 በጣም ውድ የሆኑትን ኦፕሬሽኖች ያግኙ: [የመገለጫ ውፅዓት. ለእያንዳንዱ ሊሆን የሚችል ምክንያት እና ተጨባጭ ማመቻቸት ይጠቁሙ. መጀመሪያ ከፍተኛውን ተፅእኖ ይስጡ."
የባትሪ ማመቻቸት አብነት፡"ይህ ባህሪ ባትሪውን በፍጥነት ያጠፋል፡ [ባህሪ፣ ለምሳሌ ቋሚ ቦታ]። ለባትሪ ተስማሚ ያድርጉት፡- የናሙና ድግግሞሹን ይቀንሱ - ከበስተጀርባ ያለው ገደብ - ባች ማቀናበሪያ - አስፈላጊ ሲሆን ብቻ ያሂዱ የተጠቃሚ ልምድን ሳያበላሹ መፍትሄዎችን ደርድር። [ኮድ]"
የማስጀመሪያ ማፋጠን አብነት፡ "የመተግበሪያ ጅምርን ያፋጥኑ። ጅምር ላይ በአሁኑ ጊዜ እየተከናወኑ ያሉ ነገሮች፡ [ዝርዝር]። የትኛው ለሌላ ጊዜ ማስተላለፍ፣ ከበስተጀርባ ወይም ሰነፍ ሊጫን ይችላል? አስፈላጊ የሆኑትን ይለዩ። [ኮድ]"
የ AI ባህሪ ወጪ አብነት፡ "የጨመርኩትን [በመሣሪያ ላይ ሞዴል/የዳመና ጥሪ] ባህሪ አፈጻጸምን እና የባትሪ ወጪን ይገምግሙ። ልለካቸው የሚገቡ መለኪያዎችን እና ወጪን ለመቀነስ ስልቶችን ይዘርዝሩ። [ኮድ]"
የተለመዱ ስህተቶች
- ሳይለካ ማመቻቸት። ትክክለኛው ማነቆ ብዙውን ጊዜ ከተተነበየው በተለየ ቦታ ላይ ነው.
- አነስተኛ ትርፍ ማሳደድ. ከ 1% ማሻሻያ ይልቅ በጣም ውድ የሆነ እርምጃን አስቡ።
- የ AI ባህሪያት የባትሪ ወጪን ችላ ማለት. ሞዴል/ካሜራ/ኔትዎርክ ያለማቋረጥ እየሰራ ባትሪውን ይበላል።
- ዋናውን ክር እየደከመ. የመነሻ እና የማሸብለል ከባድ ማንሳት በUI ክር ላይ መሆን የለበትም።
- ከማመቻቸት በኋላ እንደገና አለመለካት። ማሻሻያው እውነት መሆኑን እና ምንም ነገር እንደማይሰብር ያረጋግጡ።
- በ emulator ውስጥ አፈጻጸምን መለካት. ትክክለኛው የመሳሪያ ፍጥነት፣ ሙቀት እና ባትሪ ሙሉ ለሙሉ የተለያዩ ናቸው።
በማጠቃለያው
አፈጻጸም እና ባትሪ የሞባይል መተግበሪያ የህልውና ጉዳይ ናቸው። ወርቃማው ህግ፡ መጀመሪያ ይለኩ፣ በኋላ ያመቻቹ። የመገለጫ መረጃን ለ AI መስጠት ትርጓሜን ያፋጥናል ፤ "የማፋጠን" የማይለካው ፍላጎት ወደ ጭፍን ግምቶች ይመራል. በጣም ውድ ከሆነው ግብይት ላይ ግብ ያድርጉ ፣ አነስተኛ ትርፍ አያሳድዱ። በዚህ ሞጁል ውስጥ የተጨመሩት የ AI ችሎታዎች ኃይለኛ ናቸው ነገር ግን የባትሪ እና የማቀነባበሪያ ወጪዎችን ይይዛሉ; የናሙና ድግግሞሽን በመቀነስ፣ በመመደብ እና በሚያስፈልግ ጊዜ ብቻ በመሮጥ ይህንን ወጪ ያስተዳድሩ። ከእያንዳንዱ ማመቻቸት በኋላ በእውነተኛው መሣሪያ ላይ እንደገና ይለኩ።
የመተግበሪያ ተግባር
በመተግበሪያ ውስጥ መገለጫ (የራስህ ፕሮጀክት ወይም ምሳሌ) አስመጣ ወይም የናሙና የመገለጫ ውፅዓት ፍጠር እና በ AI በ"Bottleneck Analysis አብነት" ተተርጉሟል። ከፍተኛውን ተጽዕኖ ማመቻቸት ይተግብሩ እና እንደገና ይለኩ፡ ቁጥሩ በእርግጥ ወድቋል? እንዲሁም በዚህ ሞጁል (በመሣሪያ ላይ ሞዴል ወይም የደመና ጥሪ) ላይ ያከሉትን የ AI ባህሪ ከባትሪ አንፃር ከ "AI ባህሪ ወጪ አብነት" ጋር ይገምግሙ እና ቢያንስ አንድ ለባትሪ ተስማሚ መቼት ይወስኑ።
የማረጋገጫ ዝርዝር
- [ ] ከማመቻቸት በፊት ፕሮፋይል አግኝቻለሁ፣ አላሰብኩም ነበር።
- [ ] በጣም ውድ ለሆነው ንግድ ዓላማዬ ነበር፣ በትንሽ ትርፍ አልበተንኩም
- [] የ AI መገለጫ መረጃን በተጨባጭ ቁጥሮች ሰጥቻለሁ
- [] የ AI ባህሪያትን የባትሪ/ፕሮሰሰር ዋጋ ገምግሜአለሁ።
- [] ከባድ ማንሳትን ከዋናው ክር ላይ አውጥቻለሁ
- [] ከተመቻቸ በኋላ፣ በእውነተኛው መሣሪያ ላይ እንደገና ለካሁ እና መመለሻውን አረጋገጥኩ።