സൗജന്യ Chrome വിപുലീകരണം — ഉപകരണത്തിൽത്തന്നെ കട്ടൗട്ടുകൾ

വെബ് വർക്കർ ഇമേജ് പ്രോസസ്സിംഗ് അടിസ്ഥാനങ്ങൾ

ഒരു വെബ് വർക്കർ എന്നത് ഒരു പ്രത്യേക JavaScript നിർവ്വഹണ സന്ദർഭമാണ്, അത് എഡിറ്ററുടെ പ്രധാന ത്രെഡ് എല്ലാ ജോലികളും ചെയ്യാതെ തന്നെ ചെലവേറിയ കണക്കുകൂട്ടലുകൾ നടത്താൻ കഴിയും. ബ്രൗസർ ഇമേജ് പ്രോസസ്സിംഗിനായി, ബട്ടണുകൾ, പ്രോഗ്രസ് സന്ദേശങ്ങൾ, ബ്രഷ് ഇൻപുട്ട്, സ്‌ക്രീൻ അപ്‌ഡേറ്റുകൾ എന്നിവയ്‌ക്ക് ഉത്തരവാദികളായ ത്രെഡിൽ നിന്ന് മോഡൽ സജ്ജീകരണവും അനുമാനവും ഓടിപ്പോകും.

ഫലം “സൗജന്യ പശ്ചാത്തല പ്രോസസ്സിംഗ്” അല്ല. അതേ ഉപകരണം ഇപ്പോഴും കണക്കുകൂട്ടൽ നടത്തുകയും മെമ്മറി ഉപയോഗിക്കുകയും ചെയ്യുന്നു. വാസ്തുവിദ്യാ പ്രയോജനം വേർതിരിവാണ്: ഒരു കനത്ത മോഡൽ പ്രവർത്തനം പ്രവർത്തിക്കുമ്പോൾ എല്ലാ ഇൻ്റർഫേസ് പ്രതികരണത്തെയും തടയാനുള്ള സാധ്യത കുറവാണ്.

പ്രധാന ത്രെഡിന് ഒരു ഉപയോക്തൃ-ഇൻ്റർഫേസ് ജോലിയുണ്ട്

ഒരു ബ്രൗസർ പേജ് സാധാരണയായി ഒരു പ്രധാന ത്രെഡിൽ JavaScript പ്രവർത്തിപ്പിക്കുന്നു. ആ ത്രെഡ് ലേഔട്ട്, പെയിൻ്റിംഗ്, ഇൻപുട്ട് എന്നിവയും ഏകോപിപ്പിക്കുന്നു. ഒരു നീണ്ട കണക്കുകൂട്ടൽ അത് ഉൾക്കൊള്ളുന്നുവെങ്കിൽ, ക്ലിക്കുകൾക്ക് കാലതാമസം അനുഭവപ്പെടാം, ആനിമേഷൻ നിർത്താം, കൂടാതെ പേജ് പ്രതികരിക്കുന്നില്ലെന്ന് ബ്രൗസർ മുന്നറിയിപ്പ് നൽകിയേക്കാം.

അനുമാനം ആരംഭിക്കുന്നതിന് മുമ്പ് ഒരു ഇമേജ് എഡിറ്ററിന് ധാരാളം പ്രധാന-ത്രെഡ് ഉത്തരവാദിത്തങ്ങളുണ്ട്:

ഒരേ ത്രെഡിൽ ഒരു സെഗ്മെൻ്റേഷൻ മോഡലിൻ്റെ സംഖ്യാപരമായ വർക്ക് ഇടുന്നത് ആ ടാസ്ക്കുകളെ നേരിട്ട് മത്സരിപ്പിക്കും. ഒരു തൊഴിലാളി വ്യക്തമായ അതിർത്തി സൃഷ്ടിക്കുന്നു.

സന്ദേശത്തെ അടിസ്ഥാനമാക്കിയുള്ള അതിർത്തി

എഡിറ്ററും വർക്കറും സാധാരണ വേരിയബിളുകൾ പങ്കിടുന്നില്ല. സന്ദേശങ്ങൾ അയച്ചാണ് അവർ ആശയവിനിമയം നടത്തുന്നത്. ഒരു ലളിതമായ ഒഴുക്ക് ഇതുപോലെ കാണപ്പെടുന്നു:

  1. എഡിറ്റർ ഒരു തൊഴിലാളിയെ സൃഷ്ടിക്കുകയോ വീണ്ടും ഉപയോഗിക്കുകയോ ചെയ്യുന്നു.
  2. അനുമാന പ്രവർത്തന സമയവും മോഡലും ആരംഭിക്കാൻ ഇത് തൊഴിലാളിയോട് ആവശ്യപ്പെടുന്നു.
  3. ഇത് ഇമേജ് ഡാറ്റ തയ്യാറാക്കുകയും ഒരു അനുമാന അഭ്യർത്ഥന അയയ്ക്കുകയും ചെയ്യുന്നു.
  4. തൊഴിലാളി ഡാറ്റയെ മോഡലിൻ്റെ പ്രതീക്ഷിക്കുന്ന ഇൻപുട്ടിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു.
  5. തൊഴിലാളി മോഡൽ പ്രവർത്തിപ്പിക്കുകയും മാസ്ക് മൂല്യങ്ങൾ നിർമ്മിക്കുകയും ചെയ്യുന്നു.
  6. ഇത് മാസ്ക് അല്ലെങ്കിൽ ഫല ഡാറ്റ തിരികെ അയയ്ക്കുന്നു.
  7. എഡിറ്റർ പ്രിവ്യൂ സംയോജിപ്പിച്ച് പരിഷ്കരണമോ കയറ്റുമതിയോ പ്രാപ്തമാക്കുന്നു.

ശരിയായ അഭ്യർത്ഥനയുടെ പ്രതികരണവുമായി പൊരുത്തപ്പെടുത്തുന്നതിന് മതിയായ സന്ദർഭം സന്ദേശങ്ങളിൽ ഉൾപ്പെടുത്തണം. മുമ്പത്തെ ജോലി പൂർത്തിയാകുന്നതിന് മുമ്പ് ഒരു ഉപയോക്താവ് മറ്റൊരു ചിത്രം തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ ഇത് പ്രധാനമാണ്. ഒരു പുതിയ ഉറവിടത്തിൽ പഴയ ഫലം പ്രദർശിപ്പിക്കുന്നത് ഇൻ്റർഫേസ് ഒഴിവാക്കണം.

ഇമേജ് ഡാറ്റ പകർത്തുകയും കൈമാറുകയും ചെയ്യുന്നു

ഒരു ചെറിയ വാചക സന്ദേശം അയക്കുന്നത് വിലകുറഞ്ഞതാണ്. ബ്രൗസറിന് മുഴുവൻ ബഫറും പകർത്തണമെങ്കിൽ ദശലക്ഷക്കണക്കിന് പിക്സൽ മൂല്യങ്ങൾ അയയ്ക്കുന്നത് ചെലവേറിയതായിരിക്കും. പകരം ചില ബൈനറി ബഫറുകളുടെ ഉടമസ്ഥത കൈമാറാൻ വെബ് API-കൾക്ക് കഴിയും. അയച്ചയാളുടെ ഭാഗത്ത് ഉപയോഗയോഗ്യമായ ഒരു ഡ്യൂപ്ലിക്കേറ്റ് നിലനിർത്താതെ തന്നെ ട്രാൻസ്ഫർ ചെയ്ത ബഫർ റിസീവറിന് ലഭ്യമാകും.

ആ ഒപ്റ്റിമൈസേഷൻ ഒരു ഡിസൈൻ പരിമിതിയോടെയാണ് വരുന്നത്: ട്രാൻസ്ഫർ ചെയ്തതിന് ശേഷം, അയച്ചയാൾക്ക് ഡാറ്റയുടെ ഉടമസ്ഥതയിലുള്ള അതേ ബഫർ ഉപയോഗിക്കുന്നത് തുടരാനാവില്ല. ഒരു എഡിറ്റർ ഒരു പ്രത്യേക ഡിസ്പ്ലേ പ്രാതിനിധ്യം നിലനിർത്താം, ഒരു സമർപ്പിത അനുമാന ബഫർ സൃഷ്‌ടിക്കാം, അല്ലെങ്കിൽ പിന്നീട് ആവശ്യമുള്ളത് പുനർനിർമ്മിക്കാം.

എല്ലാ നടപ്പാക്കലും കൃത്യമായി ഒരേ സ്ഥലങ്ങളിൽ ട്രാൻസ്ഫർ ഉപയോഗിക്കുന്നില്ല. ത്രെഡ് വേർതിരിക്കൽ ഡാറ്റ ചലനത്തെ അപ്രത്യക്ഷമാക്കുന്നില്ല എന്നതാണ് പൊതുവായ പാഠം. ചിത്രത്തിൻ്റെ അളവുകൾ, ബഫർ വലുപ്പം, പരിവർത്തനങ്ങളുടെ എണ്ണം എന്നിവ ഇപ്പോഴും ലേറ്റൻസിയെയും മെമ്മറിയെയും ബാധിക്കുന്നു.

എന്താണ് Easy Background Remover തൊഴിലാളിയിൽ ഇടുന്നത്

ഉപകരണത്തിലെ സെഗ്മെൻ്റേഷനായി ബ്രൗസർ അനുമാന റൺടൈം ഉള്ള ഒരു വെബ് വർക്കർ Easy Background Remover ഉപയോഗിക്കുന്നു. കനത്ത ഓട്ടോമാറ്റിക് കട്ടൗട്ട് സ്റ്റെപ്പ് ഒരു മാസ്ക് നിർമ്മിക്കുന്നു. എഡിറ്റർ പിന്നീട് സംയോജിത ഫലം പ്രദർശിപ്പിക്കുകയും CPU-കാൻവാസ് ബ്രഷ് പരിഷ്കരണത്തെ പിന്തുണയ്ക്കുകയും ചെയ്യുന്നു.

ഈ വേർതിരിവ് പരാജയങ്ങൾക്ക് കൂടുതൽ ഉപയോഗപ്രദമായ അതിർത്തി നൽകുന്നു. അനുമാന സമയത്ത് തൊഴിലാളിക്ക് ആരംഭിക്കാനോ ക്രാഷ് ചെയ്യാനോ കഴിയുന്നില്ലെങ്കിൽ, സ്ഥിരമായി ഫ്രീസുചെയ്‌ത ടാബിനെ ഏക സിഗ്നലായി ആശ്രയിക്കുന്നതിനുപകരം ഇൻ്റർഫേസിന് തൊഴിലാളിയുമായി ബന്ധപ്പെട്ട പിശക് റിപ്പോർട്ട് ചെയ്യാൻ കഴിയും.

ഇത് പ്രാദേശിക-പ്രോസസ്സിംഗ് ക്ലെയിം മനസ്സിലാക്കാവുന്നതേയുള്ളൂ. ഒരു വിപുലീകരണ പേജിൽ നിന്ന് സ്വന്തം തൊഴിലാളിക്ക് പിക്സലുകൾ അയയ്ക്കുന്നത് ബ്രൗസർ പരിതസ്ഥിതിക്കുള്ളിലെ ആശയവിനിമയമാണ്, വിദൂര കട്ട്ഔട്ട് API-യിലേക്കുള്ള അപ്‌ലോഡ് അല്ല. ആദ്യ സെഷനിൽ പുനരുപയോഗിക്കാവുന്ന മോഡൽ അസറ്റ് പ്രത്യേകം ഡൗൺലോഡ് ചെയ്യാം; എന്തുകൊണ്ടാണ് ആദ്യം ഒരു മോഡൽ ഡൗൺലോഡ് ചെയ്യുന്നത് കാണുക.

ഒരു തൊഴിലാളി തൽക്ഷണം കണക്കുകൂട്ടൽ നടത്തുന്നില്ല

തൊഴിലാളികൾ പ്രതികരണശേഷി മെച്ചപ്പെടുത്തുന്നു, അസംസ്‌കൃത ഉപകരണ ശേഷിയല്ല. ബ്രൗസറിന് നൽകാൻ കഴിയുന്നത് അനുസരിച്ച് മോഡൽ ഇപ്പോഴും CPU, GPU അല്ലെങ്കിൽ മറ്റ് റൺടൈം ഉറവിടങ്ങൾ ഉപയോഗിക്കുന്നു. ഒരു വലിയ ഇൻപുട്ടിന് ഇപ്പോഴും കൂടുതൽ സമയമെടുക്കും കൂടാതെ ചെറിയ ഒന്നിനെക്കാൾ കൂടുതൽ മെമ്മറി ആവശ്യമാണ്.

നിരവധി പരിധികൾ അവശേഷിക്കുന്നു:

അഞ്ച് ചിത്രങ്ങൾക്കായി അഞ്ച് അനുമാന തൊഴിലാളികൾ ആരംഭിക്കുന്നത് സ്വയമേവ അഞ്ചിരട്ടി വേഗതയുള്ളതല്ല. തൊഴിലാളികൾ ഒരേ യന്ത്രം പങ്കിടുന്നു. സമാന്തര ജോലികൾക്ക് മെമ്മറി ബാൻഡ്‌വിഡ്‌ത്തിനും എക്‌സിക്യൂഷൻ ഉറവിടങ്ങൾക്കും മത്സരിക്കാം, അതേസമയം ഓരോ മോഡലിനും അതിൻ്റേതായ മെമ്മറി ചെലവ് വഹിക്കാനാകും.

പുരോഗതി റിപ്പോർട്ടിംഗ് സഹകരണമാണ്

ഒരു തൊഴിലാളിക്ക് സ്റ്റാറ്റസ് സന്ദേശങ്ങൾ അയയ്‌ക്കാൻ കഴിയും, എന്നാൽ പുരോഗതിയുടെ ശതമാനം കൃത്യമായി അനുഭവപ്പെടുമെന്ന് അതിന് സ്വയമേവ അറിയില്ല. മോഡൽ ഡൗൺലോഡ്, റൺടൈം ഇനീഷ്യലൈസേഷൻ, ഇൻപുട്ട് തയ്യാറാക്കൽ, അനുമാനം, മാസ്ക് പരിവർത്തനം, പ്രിവ്യൂ റെൻഡറിംഗ് എന്നിവ വ്യത്യസ്ത സമയങ്ങളുള്ള പ്രത്യേക ഘട്ടങ്ങളാണ്.

ചില ഘട്ടങ്ങൾക്ക് അളക്കാവുന്ന ബൈറ്റ് കൗണ്ടുകൾ ഉണ്ട്. ഒരൊറ്റ മോഡൽ എക്സിക്യൂഷൻ “ആരംഭിച്ചതും” “പൂർത്തിയായതും” മാത്രമേ വെളിപ്പെടുത്തൂ. ഏകതാനമായി മുന്നേറുന്ന സുഗമമായ ശതമാനം അതിനാൽ കൃത്യമായ അളവെടുക്കുന്നതിനുപകരം സൗന്ദര്യവർദ്ധകവസ്തുവായിരിക്കും.

ഉപയോഗപ്രദമായ പുരോഗതി യുഐ സാധ്യമാകുമ്പോൾ ഘട്ടത്തിന് പേരിടുന്നു: മോഡൽ തയ്യാറാക്കൽ, ഇമേജ് പ്രോസസ്സിംഗ് അല്ലെങ്കിൽ നിർമ്മാണ ഫലം. ഒരു സ്പിന്നറെ വിശദീകരണമില്ലാതെ വിടുന്നതിനുപകരം ഇത് പരാജയവും റദ്ദാക്കലും കൈകാര്യം ചെയ്യുന്നു.

ഒരു സ്പിന്നറെ മറയ്ക്കുന്നതിനേക്കാൾ കൂടുതലാണ് റദ്ദാക്കൽ

ഉപയോക്താവ് ഒരു ചിത്രം അടയ്ക്കുകയോ വീണ്ടും ആരംഭിക്കുകയോ ചെയ്താൽ, കാലഹരണപ്പെട്ട അഭ്യർത്ഥനയിൽ നിന്നുള്ള അന്തിമ പ്രതികരണം ഇൻ്റർഫേസിന് അവഗണിക്കാനാകും. അടിസ്ഥാനപരമായ കണക്കുകൂട്ടൽ ഉടനടി നിർത്തുന്നതിന് റൺടൈമിൽ നിന്ന് അധിക പിന്തുണ ആവശ്യമായി വന്നേക്കാം അല്ലെങ്കിൽ തൊഴിലാളിയെ അവസാനിപ്പിക്കുകയും പുനഃസൃഷ്ടിക്കുകയും ചെയ്യാം.

ഒരു തൊഴിലാളിയെ പിരിച്ചുവിടുന്നത് നിർണ്ണായകമാണ്, എന്നാൽ അത് അതിൻ്റെ പ്രാരംഭാവസ്ഥയെ നിരാകരിക്കുന്നു. അടുത്ത ജോലിക്ക് മോഡൽ വീണ്ടും ലോഡുചെയ്ത് സമാരംഭിക്കേണ്ടതുണ്ട്. ഒരു ഹ്രസ്വ പ്രവർത്തനത്തിന്, ഫലം പഴകിയതായി അടയാളപ്പെടുത്തുന്നത് എല്ലാം പൊളിച്ചുകളയുന്നതിനേക്കാൾ വിലകുറഞ്ഞതായിരിക്കും.

ശരിയായ തിരഞ്ഞെടുപ്പ് മെമ്മറി മർദ്ദം, പ്രവർത്തന ദൈർഘ്യം, റൺടൈം കഴിവുകൾ എന്നിവയെ ആശ്രയിച്ചിരിക്കുന്നു. ഉപയോക്താവിൻ്റെ വീക്ഷണകോണിൽ, പഴയ വർക്ക് നിലവിലെ എഡിറ്റ് തിരുത്തിയെഴുതാൻ പാടില്ല എന്നതാണ് പ്രധാന നിയമം.

പിഴവുകളും അതിരുകൾ കടക്കേണ്ടതുണ്ട്

ഒരു തൊഴിലാളിക്കുള്ളിലെ ഒരു അപവാദം ഒരു സാധാരണ മെയിൻ-ത്രെഡ് ഒഴിവാക്കലായി മാറുന്നില്ല. ഉപയോഗയോഗ്യമായ പിശകുകൾ തൊഴിലാളി റിപ്പോർട്ട് ചെയ്യണം, കൂടാതെ തൊഴിലാളി തലത്തിലുള്ള പരാജയങ്ങൾ എഡിറ്റർ ശ്രദ്ധിക്കണം.

നല്ല പിശക് കൈകാര്യം ചെയ്യൽ കുറഞ്ഞത് വേർതിരിക്കുന്നു:

ഇത് പൊതുവായ “എന്തോ തെറ്റ് സംഭവിച്ചു” എന്നതിനേക്കാൾ കൂടുതൽ പ്രവർത്തനക്ഷമമാണ്, പ്രത്യേകിച്ചും ആദ്യ റൺ സജ്ജീകരണത്തിനും സാധാരണ ഇമേജ് പ്രോസസ്സിംഗിനും വ്യത്യസ്ത പരിഹാരങ്ങൾ ഉള്ളപ്പോൾ.

വർക്കർ ഔട്ട്പുട്ട് ഇപ്പോഴും ആദ്യ മുഖംമൂടി മാത്രമാണ്

ത്രെഡ് ആർക്കിടെക്ചർ സ്വയം ഒരു അവ്യക്തമായ എഡ്ജ് മെച്ചപ്പെടുത്തുന്നില്ല. രോമങ്ങൾ, സുതാര്യമായ വസ്തുക്കൾ, ഇടുങ്ങിയ സ്ട്രാപ്പുകൾ അല്ലെങ്കിൽ ആവശ്യമുള്ള നിഴൽ എന്നിവ ഇപ്പോഴും നഷ്ടമാകുന്ന സാങ്കേതികമായി സാധുതയുള്ള മാസ്ക് തൊഴിലാളിക്ക് തിരികെ നൽകാനാകും. അവ സെഗ്മെൻ്റേഷനും ഉദ്ദേശ്യ ചോദ്യങ്ങളുമാണ്.

അനുമാനത്തിന് ശേഷം എഡിറ്ററുടെ ജോലി പുനരാരംഭിക്കുന്നു: വർക്കിംഗ് കോർഡിനേറ്റ് സിസ്റ്റത്തിലേക്ക് മാസ്‌ക് സ്‌കെയിൽ ചെയ്യുക, ഒരു പ്രിവ്യൂ സംയോജിപ്പിക്കുക, ഉപയോക്താവിനെ അത് പരിഷ്‌ക്കരിക്കാനും നിലവിലെ അവസ്ഥ കയറ്റുമതി ചെയ്യാനും അനുവദിക്കുക. മാസ്ക് റെസല്യൂഷൻ vs പ്രിവ്യൂ വലുപ്പം എന്തുകൊണ്ട് ആ കോർഡിനേറ്റ് സിസ്റ്റങ്ങളെ ആശയക്കുഴപ്പത്തിലാക്കരുത് എന്ന് വിശദീകരിക്കുന്നു.

ഒരു സംക്ഷിപ്ത മാനസിക മാതൃക

ഒരു സന്ദേശ ജാലകത്തിന് പിന്നിലെ ഒരു പ്രാദേശിക സ്പെഷ്യലിസ്റ്റായി തൊഴിലാളിയെ കുറിച്ച് ചിന്തിക്കുക:

മോഡലിൻ്റെ പിക്‌സലുകളുടെ കാഴ്‌ചയ്‌ക്കായി, ഒരു ഉപകരണത്തിലെ കട്ട്ഔട്ട് മോഡൽ എന്താണ് കാണുന്നത് എന്നതുമായി തുടരുക. ഒരു എൻഡ്-ടു-എൻഡ് പ്രായോഗിക അവലോകനത്തിനായി, പ്രാദേശിക പശ്ചാത്തലം നീക്കംചെയ്യൽ എങ്ങനെ പ്രവർത്തിക്കുന്നു കാണുക.

കൂടുതൽ അറിയുക

രസകരമായവ