আপনি যদি সত্যিকারের পারফরম্যান্স-সমালোচনামূলক ক্ষেত্রগুলিতে কাজ করছেন, তবে আপনি দক্ষতা পরবর্তী চিন্তা হিসাবে বন্ধ করতে পারবেন না। সেই ক্ষেত্রে শুরুর দিকে ডিজাইন করার সময় এবং শেষের ফলাফলের রক্ষণাবেক্ষণের সাথে সম্পর্কিত এমন উপায়গুলির বিষয়ে চিন্তা করা সবচেয়ে গুরুত্বপূর্ণ বিষয়।
আপনি একটি বৃহত-স্কেল সার্ভার ডিজাইন এবং বাস্তবায়ন করতে পারবেন না এবং কেবল সহজ, ভাল-ডকুমেন্টেড কোড লেখা শুরু করতে পারবেন যা কোনও গ্লোবাল থ্রেড লক দিয়ে প্রতিটি কিছুর জন্য কেবল ব্লকিং ফাংশন ব্যবহার করে যা প্রতিটি সিস্টেমের ক্লায়েন্টের অনুরোধটি প্রক্রিয়া করার জন্য পুরো সিস্টেমকে লক করে রাখে এবং কোনও কিছু না রেখে। ভাগ করা অবস্থা, থ্রেডের বিতর্ক এবং অ্যাসিঙ্ক্রোনসিটিতে যা কিছু ভাবা হয়েছিল। এটি হ'ল বিপর্যয়ের একটি রেসিপি এবং আপনি লিখেছেন এমন সুন্দরভাবে নথিভুক্ত কোডের বেশিরভাগ অংশকে নতুন করে ডিজাইন ও পুনর্লিখনের প্রয়োজন যা চেষ্টা করার ফলে জাতিগত পরিস্থিতি এবং অচলাবস্থায় জর্জরিত সবচেয়ে কঠিন-বজায় রাখা কোডবেসকে কল্পনা করতে পারে কেবল দক্ষ, সাধারণ, কার্যকরী নকশাগুলি সামনের দিকে চিন্তা করার বিপরীতে, পূর্ববর্তী স্থানে প্রয়োজনীয় দক্ষতা অর্জন করতে।
একটি গেম ডেভেলপমেন্ট টিম একটি ইঞ্জিনের সাথে 8 মাস উত্পাদন করে যা 32 মিনিটের সাথে তাদের বীফেষ্ট হার্ডওয়ারে প্রতি সেকেন্ডে 2 ফ্রেমে যায় যখন পর্দা ব্যস্ত হয় প্রতি 15 সেকেন্ডের জন্য স্টল রাখার প্রবণতা কেবল তাত্ক্ষণিকভাবে ব্যবহারযোগ্য পণ্য পাওয়ার সম্ভাবনা কম একটি স্থানীয় স্থানীয় হটস্পট ঠিক করা। সম্ভাবনা হ'ল তাদের নকশাটি এমনভাবে ফুবার যা ড্রেইং বোর্ডের একটি মহাকাব্য পুনর্বিবেচনার ওয়ারেন্ট দেয় এবং কোডবেসের প্রতিটি কোণে ক্যাসকেড করতে পারে এমন ডিজাইনের পরিবর্তনের জন্য।
জন কারম্যাকের সাথে তিনি একবার কথা বলেছেন যে কোনও প্রযুক্তির ডেমো কীভাবে প্রযোজনায় সংহত করার জন্য প্রতি সেকেন্ডে ন্যূনতম শত থেকে হাজার হাজার ফ্রেম চালাতে হয়। এটি দক্ষতার সাথে অস্বাস্থ্যকর আবেশ নয়। তিনি সামনের দিকে জানেন যে গেমগুলি গ্রাহকদের গ্রহণযোগ্যতা পেতে এটির জন্য পুরোপুরি 30+ এফপিএসে চালানো দরকার। ফলস্বরূপ একটি নরম ছায়া সিস্টেমের মতো একটি সামান্য দিকটি 30 এফপিএসে চলতে পারে না, অন্যথায় সামগ্রিকভাবে গেমটি সম্ভবত প্রয়োজনীয় রিয়েলটাইম প্রতিক্রিয়া সরবরাহ করার জন্য যথেষ্ট দ্রুততর হতে পারে না। এটি প্রয়োজনীয় দক্ষতা অর্জন না করা অব্যবহার্য । এই জাতীয় পারফরম্যান্স-সমালোচনামূলক ক্ষেত্রগুলিতে যেখানে দক্ষতার জন্য মৌলিক প্রয়োজনীয়তা রয়েছে, পর্যাপ্ত গতি অর্জনে ব্যর্থ হওয়া একটি সমাধান আসলে কার্যকরভাবে কার্যকর হয় না তার চেয়ে ভাল আর কিছু নয়, যেহেতু উভয়ই সম্পূর্ণ। এবং আপনি একটি দক্ষ সফট শ্যাডো সিস্টেম ডিজাইন করতে পারবেন না যা রিয়েলটাইম গেম ইঞ্জিনের জন্য প্রয়োজনীয় হিসাবে প্রতি সেকেন্ডে কয়েক হাজার থেকে হাজার হাজার ফ্রেমে চলে যদি না আপনি তার কার্যক্ষমতা সম্পর্কে অগ্রাধিকারের চিন্তাভাবনা না রাখেন। প্রকৃতপক্ষে, এই জাতীয় ক্ষেত্রে 90% কাজ দক্ষতার দিকে লক্ষ্য করে যেহেতু নরম ছায়া ব্যবস্থা নিয়ে আসা তুচ্ছ, যা পথ ট্রেসিং ব্যবহার করে ফ্রেমে প্রতি 2 ঘন্টা ঠিকঠাক কাজ করে তবে আপনি এটি টিউন করতে পারবেন না সম্পূর্ণ ভিন্ন পরিবর্তনের পদ্ধতির ছাড়াই প্রতি সেকেন্ডে কয়েক শ ফ্রেমে দৌড়াতে।
দক্ষতা যখন কোনও অ্যাপ্লিকেশন ডিজাইনের একটি মৌলিক অঙ্গ হয়, আপনি এড়াতে নাটকীয়ভাবে সাশ্রয়ের চেয়ে বেশি সময় না হারাতে আপনি পর্দার দৃষ্টিতে দক্ষতা অর্জনের আশা করতে পারবেন না, যেহেতু আপনি পূর্ববর্তী ক্ষেত্রে কোনও কাজের নকশা অর্জনের আশা করতে পারেন না। কেউ বলছেন না, " পরে অবধি ডিজাইনের বিষয়ে চিন্তাভাবনা করা ঠিক নয় Just আপনার কোডটি ভালভাবে নথিভুক্ত করুন এবং পরে আপনি একটি উপযুক্ত নকশা নিয়ে আসতে পারেন ।" তবে পারফরম্যান্স-সমালোচনামূলক আর্কিটেকচারগুলিতে, আপনি যদি দক্ষতার নকশাগুলি সামনে রেখে খুব যত্ন এবং চিন্তাভাবনা না করেন তবে আপনি কার্যকরভাবে তা করছেন।
এখন এর অর্থ এই নয় যে আপনাকে ব্যাট হাতে সরাসরি প্রয়োগগুলি মাইক্রো-টিউন করতে হবে। বাস্তবায়নের বিশদগুলির জন্য, পরিমাপের পরে দ্রুত সমাধানগুলির দিকে পুনরাবৃত্তি করার প্রচুর জায়গা রয়েছে তবে শর্ত থাকে যে ডিজাইনের কোনও পরিবর্তন প্রয়োজন হবে না, এবং প্রায়শই এটির সর্বাধিক উত্পাদনশীল উপায়। তবে ডিজাইনের স্তরে, এর অর্থ এই নয় যে আপনাকে নকশা এবং আর্কিটেকচারটি শুরু থেকেই দক্ষতার সাথে কীভাবে সম্পর্কিত হবে এ বিষয়ে পর্যাপ্ত চিন্তাভাবনা রাখতে হবে।
এখানে মূল পার্থক্য হ'ল নকশা। নকশাগুলি নির্ভরতা জমে থাকায় পর্দার নকশায় বড় পরিবর্তন করা সহজ নয় এবং নকশার পরিবর্তন হলে নির্ভরতাগুলি ভেঙে যায়। এবং যদি কোনও ডিজাইনের যুক্তিসঙ্গত দক্ষ হওয়ার প্রয়োজন হয় বা কিছু ক্ষেত্রে, এর গুণমানটি তার দক্ষতার দ্বারা অনেকাংশে পরিমাপ করা হয়, তবে আপনার প্রত্যাশা করা উচিত নয় যে কোনও উত্তরোত্তর হিসাবে সঠিক নকশা অর্জন করতে সক্ষম হবেন। যে কোনও প্রতিযোগিতামূলক পণ্য যেখানে দক্ষতা মানের একটি বিশাল দিক যেখানে এটি অপারেটিং সিস্টেমগুলি বা সংকলকগুলি বা ভিডিও প্রসেসরগুলি বা রেট্রেসরগুলি বা গেম ইঞ্জিনগুলি বা পদার্থবিজ্ঞানের ইঞ্জিনগুলিই হোক না কেন, দক্ষতা এবং ডেটা উপস্থাপন সম্পর্কে চিন্তাভাবনা প্রথম থেকেই সূক্ষ্মভাবে চিন্তা করা হয়েছিল। এবং এই ক্ষেত্রে দক্ষতার সামনে এত চিন্তাভাবনা করা অকালীন অপ্টিমাইজেশন নয়। এটি করার জন্য সবচেয়ে উত্পাদনশীল সময়ে ঠিক এই জাতীয় চিন্তাভাবনা রেখেছিল,