এক্সএনএ কি এক্সবক্স 360 এর জন্য পেশাদার বিকাশের জন্য ভাল?


16

আমি আমার এক্সবক্স 360 এর জন্য বিকাশ শুরু করতে চাই এবং আমি এক্সএনএ ফ্রেমওয়ার্কটি শুনেছি যা পিসি এবং এক্সবক্স উভয়কেই লক্ষ্য করতে পারে। এটিকে আকর্ষণীয় বিকল্প বলে মনে হচ্ছে যেহেতু আমার ক্লায়েন্টরা সাধারণ কম্পিউটারগুলিতেও গেম / অ্যাপ ব্যবহার করতে পারে।

তবে আমি এক্সবক্স দৃশ্যে খুব নতুন। এক্সএনএ কি কেবল শখের বিকাশের জন্য, এবং এটি অর্ধ-পেশাদার বা কর্পোরেট অ্যাপ্লিকেশন বিকাশের জন্য প্রস্তাবিত নয়? এক্সএনএ-এর কি কোনও সি ++ বিকাশযুক্ত সমাধানের সক্ষমতা নেই, বা এটি এক্সবক্সে চলমান কোনও গেম / অ্যাপ্লিকেশনটির কার্যকারিতা হ্রাস করে?

সি # ব্যবহার করে এবং এক্সএনএ ছাড়াই কি এক্সবক্সটি লক্ষ্যবস্তু করা সম্ভব? সুবিধা কি?

নিম্ন-স্তরের প্রোগ্রামিং সি ++ এ সরাসরি ডাইরেক্টএক্সের সাথে কাজ করবে। সুবিধা কি?

উত্তর:


15

সংক্ষিপ্ত উত্তর: হ্যাঁ

এক্সএনএ কেবল একটি সরঞ্জাম। এটি সর্বাধিক প্রসেসরের- এবং গ্রাফিকালি-নিবিড় গেমগুলির জন্য উপযুক্ত। আপনি যদি কোনও এক্সবক্স ৩ for০ গেমের জন্য এক্সএনএ বিবেচনা করে থাকেন তবে এখানে আপনি কীটি মিস করবেন তা এখানে:

  • সত্যই, সত্যই দ্রুত সিপিইউ ভাসমান পয়েন্ট গণিত করার জন্য সিমডি / ভেক্টর ইউনিটে অ্যাক্সেস
  • স্থানীয় ভাষার কোড ব্যবহারের ক্ষমতা যা সম্ভবত সি # এর চেয়ে কিছুটা দ্রুত হবে
  • আপনি কীভাবে মেমরি বরাদ্দ করেন তার সাথে সামান্য অলস হওয়ার ক্ষমতা
  • এক্সবিএলআইজি গেমসের 6 টি কোরের মধ্যে কেবল 4 টিতে অ্যাক্সেস রয়েছে (তবে আমরা এখনও সমস্ত 3 সিপিইউ পাই, এবং সেগুলিও পুরো কোর নয়, তাই আমরা খুব একটা হাতছাড়া করব না) - নিশ্চিত নন যে এটি এক্স-বিবিএলজি এক্সএনএ-তে প্রযোজ্য কিনা? গেম
  • সত্যই অস্পষ্ট গ্রাফিকাল ট্র্যাকারি করার জন্য সম্পূর্ণ ডাইরেক্টএক্স অ্যাক্সেস

আরও কিছু হতে পারে - এটি আমার মাথার উপরের অংশটি।

(জল্পনা): আপনি যদি একজন পেশাদার বিকাশকারী হন (যেমন: একটি ডেভকিট রয়েছে) তবে আমি মনে করি আপনি উইন্ডোজে পি / ইনভোকের মতো নেটিভ কোড সহ এক্সএনএ ব্যবহার করতে পারেন both উভয় পৃথিবীর সেরা You আপনাকে মাইক্রোসফ্টকে জিজ্ঞাসা করতে হবে। এক্সডিকেও দেখুন ))

মূল কথাটি হ'ল একটি এক্সএনএ গেমটি নেটিভ গেমের মতো প্রায় দ্রুত এবং প্রায় যতটা স্টাফ করতে পারে । আমি আপনাকে এটি ব্যবহার করার পরামর্শ দিচ্ছি যদি না আপনি যদি কোনও বাধ্যতামূলক কারণ না পান তবে।

360 এর জন্য কোনও প্রকার পরিচালিত ডাইরেক্টএক্স আছে কিনা তা আমি জানি না Perhaps সম্ভবত স্লিমডিএক্স শুরু করার জন্য একটি ভাল জায়গা।


1
"এক্সবিএলআইজি" কী?
রিকিট

2
এক্সবক্স লাইভ ইন্ডি গেম
ডটমিনিক

এখানে কেবলমাত্র 3 টি কোর রয়েছে এবং সেগুলির সবগুলিতে আমাদের অ্যাক্সেস রয়েছে। আপনি 2 টি থ্রেডে অ্যাক্সেস পাবেন না। এই থ্রেডগুলির একটি হ'ল এক্সএনএর জন্য, অন্যটি একটি থ্রেড যা গেমস তৈরি করার সময় কেউ অ্যাক্সেস পায় না কারণ এটি এক্সবক্স ওএসের জন্য।
ওলহভস্কি

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

12

আপনি যদি XBOX বা প্লেস্টেশন ডেভিটটির জন্য 10,000 ডলার দিতে ইচ্ছুক না হন তবে আপনি কেবলমাত্র কনসোলটি বিকাশ করতে পারবেন তা হ'ল এক্সবিএক্স 360, এবং এটি করার একমাত্র উপায় হ'ল এক্সএনএ দিয়ে।

পেশাদার বিকাশের জন্য, যদি না আপনি সত্যিই XBOX এর প্রসেসিং পাওয়ারের 100% পাওয়ার প্রয়োজন (যা বেশিরভাগ গেমস, বিশেষত 2 ডি গেমগুলির প্রয়োজন হয় না), তবে আমার মতে এক্সএনএ আসলে উন্নয়নের পক্ষে অনেক ভাল।

অন্যান্য উত্তরদাতারা কিছু ভুল করেছেন:

এক্সবক্সের রয়েছে মাত্র 3 টি কোর। আপনি এক্সএনএ দিয়ে তাদের সকলের অ্যাক্সেস পান।

প্রতিটি কোর হাইপারথ্রেডিং এবং 2 হাইপারথ্রেডগুলির জন্য সমর্থন করে। আপনি কেবল 4/6 থ্রেডে অ্যাক্সেস পান। এই থ্রেডগুলির মধ্যে একটি এক্সএনএর জন্য for অন্যটি এমন একটি থ্রেড যা কোনও গেম ডেভেলপাররা এতে অ্যাক্সেস পায় না, কারণ এটি এক্সবক্স ওএস ব্যবহার করে।

XBOX- এ সি # উইন্ডোজ-এর সি # এর চেয়ে অনেক ধীর। XBOX .NET কমপ্যাক্ট সিএলআর ব্যবহার করে, যা খুব লাইটওয়েট এবং ডেস্কটপ সিএলআর এর অনেকগুলি অপ্টিমাইজেশনের অভাব রয়েছে। XBOX সুরক্ষা বৈশিষ্ট্যগুলি প্রোগ্রামগুলি তাদের নিজস্ব উত্স কোড পরিবর্তন করতে বাধা দেয়। এটি .NET কোডটি চালানোর অনুমতি দেওয়া খুব কঠিন করে তোলে, দ্রুত চালানো খুব কম less । সি ++ নেটিভ কোডের সাথে পারফরম্যান্সে ম্যানেজড কোডকে কি প্রতিযোগিতামূলক করে তোলে তার একটি অংশ হ'ল সিএলআর ক্যাশে সংহতিকে অনুকূল করতে নিজের কোডটি সংশোধন করতে পারে। এক্সএনএক্স দেব টিমকে কিছুটা বড় আকারের হুপের মধ্য দিয়ে ঝাঁপিয়ে পড়তে হবে কেবলমাত্র # # কে XBOX এ চালানোর জন্য, এবং এই হুপগুলির সাথে সম্পর্কিত কোনও পারফরম্যান্স ব্যয় রয়েছে।

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

এটি বলেছিল যে ডাইরেক্টএক্স এপিআই (যা এক্সএনএ হয়) ছাড়াই সি ++ এর বিকাশের তুলনায় সি # / এক্সএনএ-তে বিকাশ এখনও বহুগুণ দ্রুত এবং সহজ।

4 সপ্তাহের কাজের পরে আমি এক্সএনএ-তে তৈরি করা একটি গেমের স্থিতি এখানে:

উন্নয়নের 4 সপ্তাহ পরে গেমের স্ক্রিনশট।

এটি আপনাকে একটি ধারণা দেয় যে এক্সএনএ লাইব্রেরি / এপিআইয়ের সাথে সি # এর সাথে কতটা অবিশ্বাস্যভাবে দ্রুত বিকাশ ঘটে।

এই স্ক্রিনশটটি প্রায় 65FPS এ XBOX দ্বারা রেন্ডার করা হয়েছে।

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


1
এক্সএনএ ডেভ সম্পর্কে আমার স্পষ্ট উত্তরগুলির মধ্যে একটি। ধন্যবাদ.
কীল

4

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

আপনি কেবলমাত্র সি # / এক্সএনএ বা সি ++ / ডাইরেক্টএক্সের মাধ্যমে আপনার এক্সবক্সে স্থাপন করতে পারেন, তবে দ্বিতীয় বিকল্পটির জন্য এক্সবিএলএ লাইসেন্সের জন্য যোগ্যতা অর্জন করা এবং দেবকিটের জন্য অর্থ প্রদান করা প্রয়োজন, যা খুব ব্যয়বহুল (~ 10000 $) হতে পারে।

এবং মনে রাখবেন যে এক্সবক্সটি একটি বদ্ধ সিস্টেম। যে কোনও সরাসরি টিসিপি / আইপি ইন্টারঅ্যাকশন ভুলে যান, আপনি কেবল এক্সবক্স লাইভে উপস্থিত অন্যান্য কনসোলগুলির সাথে যোগাযোগ করতে পারেন! নেটওয়ার্ক, এবং আপনি কাঁচা HTTP সংযোগ করতে পারবেন না।

সুতরাং, আপনি যদি কোনও গেমের কথা ভাবছেন, এক্সএনএকে একবার চেষ্টা করুন এবং আপনার আরও কাঁচা বিদ্যুতের প্রয়োজন হলে (এবং আপনার কাছে টাকা আছে) কোনও দেবকিতের কাছে যান। আপনি যদি কোনও অ্যাপ্লিকেশনটির কথা ভাবছেন ... কেবল অন্য প্ল্যাটফর্মের জন্য লক্ষ্য করুন।


আমি ভাবছি বিভিন্ন XNA এবং devkit হয় ...
স্পুকস

এক্সএনএ একটি উচ্চ-স্তরের, সি # এপিআই। একটি ডেভকিট হ'ল একটি বিশেষ কনসোল যেখানে আপনি সি ++ এবং ডাইরেক্টএক্স সহ রচিত গেমগুলি স্থাপন করতে পারেন, এইভাবে একটি নিম্ন স্তরের অ্যাক্সেস এবং সামগ্রিকভাবে আরও ভাল পারফরম্যান্স রয়েছে।
r2d2rigo

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