চিত্রক যখন পটভূমিতে থাকে তখন 2% গতিতে কেন থ্রোল্ট হয়?


8

আমি নিয়মিত অ্যাডোব ইলাস্ট্রেটে একটি .jsx স্ক্রিপ্ট চালনা করি যা একটি নির্দিষ্ট ফর্ম্যাটে অনেকগুলি ফাইল সংরক্ষণ করে।

  • ইলাস্ট্রেটর সক্রিয় অ্যাপ্লিকেশন থাকা অবস্থায় 5 ফাইলে স্ক্রিপ্ট চালাতে 23 সেকেন্ড সময় লাগে

  • যখন ইলাস্ট্রেটর সর্বাধিক অ্যাপ নয়, 5 ফাইলে স্ক্রিপ্ট চালাতে 5 মিনিটের বেশি সময় লাগে

  • ক্রিয়াকলাপ মনিটরের মতে , ইলাস্ট্রেটর প্রায় 75% সিপিইউ ব্যবহার করছেন যখন পূর্বভূমিতে থাকে তবে পটভূমিতে থাকাকালীন 2% এরও কমতে থ্রোটলড হয় ।

  • ক্রিয়াকলাপ মনিটরের মতে, অ্যাপ ন্যাপ ব্যবহার হচ্ছে না

কেন এটি হচ্ছে, এবং এটি পরিবর্তন করার কোনও উপায় আছে?

আমি ইলাস্ট্রেটারের জন্য অপেক্ষা করার সময় অন্যান্য কাজগুলি করতে সক্ষম হতে চাই। যেমনটি দাঁড়িয়েছে, আমি ইলাস্ট্রেটরটিকে অগ্রভাগে রাখতে বাধ্য।

কিছু জিনিস আমি চেষ্টা করেছি : আমি তা জানতাম

sudo sysctl debug.lowpri_throttle_enabled=0

টাইম মেশিন ব্যাকআপগুলি ত্বরান্বিত করতে কাজ করেছিল, তাই আমি যদিও এটি এই ক্ষেত্রে সহায়তা করতে পারে। এর কোনও প্রভাব ছিল না

আমি অ্যাপ ন্যাপটি অক্ষম করার চেষ্টা করেছি:

defaults write NSGlobalDomain NSAppSleepDisabled -bool YES

এর কোনও প্রভাব ছিল না

আমি টিঙ্কারটুল চেষ্টা করেছিলাম , তবে আমি বিশ্বাস করি যে লোপপ্রাই_থ্রোটল_নক্ষেত্র সেটিংস পরিবর্তন করার জন্য এটি কেবলমাত্র একটি জিইউআই । এর কোনও প্রভাব ছিল না

উত্তর:


6

এটি অ্যাডোব সমস্যা বলে মনে হচ্ছে; বিশেষত, এআই এর কোড-বেস বহু-থ্রেডড নয়।

আমি অ্যাডোব ফোরামে এমন একটি আলোচনার সন্ধান করতে সক্ষম হয়েছি যা আপনার সঠিক সমস্যার সমাধান করে - সিপিইউতে চিত্রককে বহু থ্রেডযুক্ত করুন

ইলাস্ট্রেটারের পারফরম্যান্সটি ভয়াবহ, এটির ধীরে ধীরে এবং সবচেয়ে মৌলিক ক্রিয়াকলাপ ব্যতীত l এটি কেবলমাত্র একক সিপিই থ্রেডের জন্য আবদ্ধ, এটি এখন বহু হাস্যকর এবং মাল্টি কোর এবং মাল্টি থ্রেড সিপিইউর যুগে এবং এটি বহু বছর ধরে এইভাবেই ছিল। এটি ব্যাকগ্রাউন্ডের কাজগুলি পরিচালনা করতে পারে না এবং ফটোশপ এবং ইনডিজাইনের মতো অন্যান্য অ্যাডোব সফ্টওয়্যারগুলির সাথে ফাংশন এবং পারফরম্যান্সে সম্পূর্ণ সমতার বাইরে।

জোর আমার

দুর্ভাগ্যক্রমে, কোডটি ব্যাকগ্রাউন্ডের সিপিইউ অপারেশনগুলিকে সমর্থন করতে না পারলে, আপনার ম্যাকের দৃষ্টিভঙ্গি থেকে জিনিসগুলি গতি বাড়ানোর জন্য আপনি কিছুই করতে পারবেন না। ফোরামের ব্যবহারকারীরা সবাই (মিনতি করে) স্বীকার করে নিলে একমাত্র সমাধান হ'ল অ্যাডোব থেকে আপডেটের জন্য অপেক্ষা করা।

কেন এমন হয়

সাধারণভাবে বলতে গেলে, পটভূমিতে অ্যাপ্লিকেশনগুলি "বিরতি" দেওয়া হয় - প্রযুক্তিগতভাবে, তাদের কম অগ্রাধিকার দেওয়া হয় । এর অর্থ হ'ল সিপিইউতে আরও কিছু কমান্ড কার্যকর করার সুযোগ না পাওয়া পর্যন্ত কার্যকর করা বন্ধ হয়ে যায়; সাধারণত আইও আনার অপারেশনের সময়। এই প্রক্রিয়া পরিচালনার জন্য "সিপিইউ শিডিউলিং" বলা হয় এবং এটি আপনার জন্য হার্ডওয়্যার দ্বারা পরিচালিত হ'ল - অ্যাপ্লিকেশনটিকে কেবল এটির অনুমতি দিতে হবে (নিয়ন্ত্রণ ত্যাগ করুন)।

মাল্টি-থ্রেডিংয়ের একটি সাধারণ ভুল ধারণা হ'ল জিনিসগুলি দ্রুত সম্পাদন করে। এটি কেস নয়, এটি সিপিইউ সংস্থানগুলির আরও ভাল ব্যবহার করে একই সাথে আরও কিছু ঘটে । এটি বিমানবন্দর এবং একটি কনফারেন্স সেন্টারের মধ্যে চারটি বনাম শটলিংয়ের মাধ্যমে একক ট্যাক্সি (লোক ক্যারিয়ার) রাখার লোকদের মতো। তারা সবাই একই গতিতে চলেছে, এখন আপনি আরও বেশি চালাচ্ছেন।

"মাল্টি-থ্রেড সক্ষম" হওয়ায় অ্যাপ্লিকেশনটি হার্ডওয়্যারকে সিপিইউ সময় পরিচালনা এবং সময়সূচী করার অনুমতি দেয় এবং আরও বেশি সিপিইউ বরাদ্দ দেওয়া যায়, ব্যাকগ্রাউন্ডের কাজগুলি কাজটি করার জন্য আরও সংস্থান পায়।


1
আপনি সংক্ষেপে ব্যাখ্যা করতে পারেন কেন একটি নন-মাল্টি-থ্রেড অ্যাপ্লিকেশন পটভূমিতে ধীর হবে? আমার কল্পনা প্রস্তাব দেয়: এক সময় সেখানে এন থ্রেড চলছে এবং ম্যাক স্বয়ংক্রিয়ভাবে এর 85% সংস্থান "প্রধান" ব্যবহারকারী-মুখ থ্রেডে ব্যবহার করে এবং 15% অন্যান্য সমস্ত থ্রেডের জন্য বিভক্ত হয়ে যায়। আমি এই সম্পর্কে কিছুই জানি না, আমি কেবল এটি তৈরি করছি।
অ্যান্ড্রু সুইফট

1
সাধারণত বললে, একক থ্রেডেড অ্যাপ্লিকেশনগুলিকে পটভূমিতে "বিরতি" দেওয়া হয় এবং অগ্রভাগে "রান" করা হয়। পটভূমিতে থাকাকালীন কোনও অ্যাপকে বাঁচিয়ে রাখতে, এটি সিপিইউকে মুহুর্তে "পোল" দেবে এবং কিছু করার জন্য কিছু ফাংশন কল করবে (উদাহরণস্বরূপ আপনার ফাইল সংরক্ষণ)। এটি প্রতি সেচ "সিপিইউ বরাদ্দ" সম্পর্কে নয়। ফোরামগুলি পড়া থেকে, 8 এবং 16 টি কোর ম্যাক প্রো সহ লোকেরা এআই চালানোর সময় কেবলমাত্র একটিমাত্র কোর ব্যবহার করা হচ্ছে যার অর্থ এটি কেবল সম্পূর্ণ সংস্থানগুলির সুবিধা গ্রহণ করছে না।
অ্যালান

1
আপনি যদি এই বিবরণ দিয়ে আপনার উত্তর আপডেট করতে চান তবে আমি সঠিক হিসাবে এটি চয়ন করে খুশি হব।
অ্যান্ড্রু সুইফট

1
@ অ্যালান বাহ! আমি কখনই অনুমান করতে পারি না যে অ্যাডোব ইলাস্ট্রেটর মাল্টি থ্রেডিং সমর্থন করে না! আমার কাছে এটি মাল্টি থ্রেডিংয়ের সম্ভাব্য প্রার্থী বলে মনে হচ্ছে। তারপরে আবার, মাইক্রোসফ্টকে এক্সেল (অন্য প্রকৃত প্রার্থী) এর সাথে মাল্টি-থ্রেডিং সমর্থন করতে অনেক সময় লেগেছে, এবং এখনও এটির প্রয়োগ খুব ভাল হয় না। সন্দেহ নেই যে সময়ের সাথে সাথে আরও বেশি অ্যাপ্লিকেশনগুলি এটি সমর্থন করবে।
Monomeeth

1
@ মনমিথ - আমি সম্মত আমি বিশ্বাস করতে পারি না যে এআই দেব বক্ররেখার এত পিছনে ছিল। ফোরামে আমি একটি জিনিস পড়েছি ব্যবহারকারীরা হাহাকার করে বলেছিলেন যে সিসি মূলত অ্যাডোবকে রাজস্ব আদায় করতে এবং পণ্যটি ঠিক করার অনুমতি দেবে না। অ্যাপল তাদের নিজস্ব সিপিইউতে স্থানান্তরিত করে এবং 32 বিট অ্যাপ্লিকেশনগুলির জন্য সমর্থন হত্যার সাথে, অ্যাডোব জিনিসগুলি ঠিক করতে বাধ্য হতে পারে।
অ্যালান

0

এই উত্তরটি থেকে Mordy গোল্ডিং , প্রডাক্ট ম্যানেজার অ্যাডোবি ইলাস্ট্রেটর জন্য (2001-2004) এ কুয়োরা :

ভেক্টর গ্রাফিক্স তাদের সুবিধা এবং অসুবিধা আছে। দুর্ভাগ্যক্রমে, এটি হতাশার অন্যতম। এটি কারণ ভেক্টর গ্রাফিক্স একটি লিনিয়ার স্ট্যাকিং ক্রমে আঁকা হয়।

একটি সাধারণ উদাহরণ নিন - একটি একক আয়তক্ষেত্র সহ একটি স্তর নিন। সেই স্তরটি 100 বার নকল করুন। যদিও কেবল শীর্ষ স্তরটি দৃশ্যমান, চিত্রকরা নীচের বেশিরভাগ স্তর থেকে শীর্ষে প্রতিটি আয়তক্ষেত্র আঁকেন। পূর্ববর্তী 49 কাজ শেষ না হওয়া পর্যন্ত চিত্রক 50 স্তরটি আঁকতে পারবেন না। এটি ফটোশপের বিপরীতে যা কেবলমাত্র পিক্সেলগুলি চূড়ান্তভাবে দৃশ্যমান concerned

ধারণাটি আরও প্রসারিত করা। বলুন আপনার চারটি কোর ছিল। আপনি একটি ফটোশপ ফাইল নিতে এবং এটিকে 4 টি অঞ্চলের গ্রিডে বিভক্ত করতে এবং প্রতিটি কোরকে 1 টি অঞ্চল আঁকতে বলতে পারেন - সব একই সময়ে at এটি কারণ একটি গ্রিডের পিক্সেলটির অন্য গ্রিডের অঞ্চলে পিক্সেলগুলিতে কোনও প্রভাব নেই। যেহেতু আপনি কোনও ফটোকে একাধিক স্বতন্ত্র অঞ্চলে ভাগ করতে পারেন, তাই প্রতিটি অঞ্চল একসাথে রেন্ডার করতে আপনি একাধিক কোর বরাদ্দ করতে পারেন।

তবে চিত্রকগুলিতে প্রতিটি বস্তুটি স্ট্যাকিং ক্রমে প্রদর্শিত ক্রম হিসাবে অঙ্কিত হয়। সুতরাং আমি যদি কোনও চিত্রকে চারটি গ্রিডে বিভক্ত করি তবে গ্রিডটি যাই হোক না কেন অবজেক্টের দ্বারা আমাকে সমস্ত শিল্প বস্তু তৈরি করতে হবে Meaning মানে সমস্ত 4 টি কোরের এখনও রেন্ডারিংয়ের আগে সমস্ত বস্তু আঁকানো পর্যন্ত অপেক্ষা করতে হবে।

এর অর্থ হ'ল কেবল কিছু ধরণের ফাংশন ইলাস্ট্রেটারে মাল্টি-কোর কার্যকারিতা সমর্থন করে। উদাহরণস্বরূপ, আপনি যদি একটি বড় ফাইল মুদ্রণ করেন তবে চিত্রক প্রিন্টটি স্পুলিংটিকে অন্য কোনও কোরকে ছেড়ে দেবে এবং অবিলম্বে কাজ চালিয়ে যাওয়ার জন্য আপনাকে আবার আপনার নথিতে ফিরিয়ে দেবে। তবে দুঃখের বিষয়, অঙ্কন / রেন্ডারিং আর্টের মতো রৈখিক কাজগুলিকে গতি বাড়ানোর পক্ষে এটি সম্ভব নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.