ওএসএক্সের চেয়ে উইন্ডোজে গেমগুলি এত বেশি ভাল কেন চালায়?


11

উদাহরণস্বরূপ, বুটক্যাম্প সহ আমার ম্যাক মিনিতে, টিম ফোর্ট্রেস 2 ওএসএক্স এবং উইন্ডোজে 80fps এ প্রায় 20fps এ চালায়। এটি একটি সাধারণ ঘটনা বলে মনে হচ্ছে। কেন?


এটি একই মেশিনটি দ্বৈত বুকে বুকে অপারেটিং সিস্টেমের মধ্যে অন্তর্ভুক্ত।
Sans

"ভার্চুয়াল মেশিন নয়" হিসাবে দ্বৈত বুট হয়েছে কি?
হোরাটিও

1
হ্যাঁ, সরাসরি কোনও ওএসে বুট করা।
স্যান

1
আমি সবসময় এই প্রশ্নগুলিকে আকর্ষণীয় মনে করি - যতক্ষণ না তারা মূর্খতাপূর্ণ rantsণ / জ্বলন্ত রূপান্তরিত করে না - কারণ ম্যাক ব্যবহারকারী হিসাবে (10 মাসের), উইন্ডোজ ব্যবহারকারীদের ভুল ধারণাটি দেখতে পাচ্ছি।
রিকিট

উত্তর:


15

উইন্ডোজে ডাইরেক্ট 3 ডি ড্রাইভারগুলি হাস্যকরভাবে অনুকূলিত হয়, কখনও কখনও নির্দিষ্ট গেমগুলির জন্য এবং ব্যক্তিগত হার্ডওয়্যার বিক্রেতাদের দ্বারা বিকাশিত হয়।

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

মূলত, একটি অনেক A থেকে সম্পদের অনেক উৎস, দ্রুত Windows এ DirectX তৈরীর মধ্যে চলে গেছে যখন অনেক কম সম্পদ Mac এ একই কাজ পাওয়া যায়।


আমি আরও স্পষ্টভাবে ড্রাইভারের শ্যাডার সংকলকটির দিকে ঝুঁকিয়েছি পার্থক্যের একটি অংশ হিসাবে। altdevblogaday.com/2011/07/20/… বলেছেন যে জনপ্রিয় গেমগুলির জন্য এনভি / এএমডি এমনকি তাদের হার্ডওয়্যারটির জন্য শেডারকে অনুকূলিত করবে।
আদম

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

সুতরাং টিম ফোর্ট্রেস 2 ওপেনজিএলে ওএসএক্স-এ কিন্তু উইন্ডোজে ডি 3 ডি তে রেন্ডার করা হয়েছে?
Sans

সানস, হ্যাঁ, ডাইরেক্ট 3 ডি উইন্ডোজ-কেবল, তাই অন্য কোনও প্ল্যাটফর্মের যে কোনও গেম ওপেনজিএল (বা সফটওয়্যার ..) ব্যবহার করে রেন্ডার করা হয়। উইন্ডোজ ওপেনজিএলকেও সমর্থন করে; তবে গেমগুলির বেশিরভাগ উইন্ডোজ সংস্করণগুলি ডিরেক্ট 3 ডি ব্যবহার করবে কারণ উল্লিখিত হিসাবে, উইন্ডোজের ড্রাইভাররা সাধারণত ডি 3 ডি এর জন্য অনেক বেশি অনুকূলিত হন optim
রিকিট

13

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


এখানে একটি নন-কোডারটির কৌতূহল: আপনি মাল্টিপ্লাটফর্মের জন্য ডিজাইন করলে পারফরম্যান্সের কী হবে? উদাহরণস্বরূপ, আপনার মাল্টিপ্ল্যাটফর্ম গেমটি উইন্ডোজে যেমন উইন্ডোজ-কেন্দ্রিক সংস্করণটি তত দ্রুত চলবে?
জেসন পাইনো

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

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

7

সহকর্মী ম্যাক ব্যবহারকারী হিসাবে আমি একটি অতিরিক্ত ফ্যাক্টর সরবরাহ করতে চাই: ওএস এক্স-এর সিপিইউ শিডিয়ুলার উইন্ডোজের চেয়ে বেশি "ফর্সা"।

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

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

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

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

সুতরাং, টেকওয়ে পয়েন্টটি হ'ল: উইন্ডোজে একটি পূর্ণ-স্ক্রিন গেমটি সিপিইউতে উচ্চ অগ্রাধিকার পেতে চলেছে এবং ব্যাকগ্রাউন্ডে চলমান যে কোনও কিছুই অপেক্ষা করতে হবে। ওএস এক্সে, এটির ক্ষেত্রে তেমনটি কম।

সময়সূচী সম্পর্কে কিছু প্রযুক্তিগত তথ্য এখানে দেওয়া হয়েছে ; এই উত্তরটির বাকি অংশটি আমার কম্পিউটার বিজ্ঞান শিক্ষা এবং 10 বছরেরও বেশি সময় ধরে উইন্ডোজ ব্যবহার করার পরে (এবং মাঝে মাঝে লিনাক্স) আমার ওএস এক্সের ব্যবহার থেকে। আমি কখনও কখনও আরও সুষ্ঠু শিডিয়ুলার দ্বারা হতাশ, কিন্তু অন্যান্য সময় আমি এর সুবিধার প্রশংসা করি।

লিনাক্স, যাইহোক, আরও সুষ্ঠু শিডিয়ুলার বাস্তবায়ন করেছে; এটি এটিকেই দুর্দান্ত সার্ভার বানায় তবে আমার মতে ব্যবহারকারীর অভিজ্ঞতা হ্রাস পায়। উদাহরণস্বরূপ, আপনার কম্পিউটার যখন কার্যগুলিতে ঝাঁপিয়ে পড়ে তখন আপনার কার্সারটি সাবলীলভাবে প্রতিক্রিয়া দেওয়া বন্ধ করে দেবে কারণ এটিকে অন্য সমস্ত কিছুর মতোই অগ্রাধিকার দেওয়া হয়। এটি মূলত উইন্ডোজ বা ওএস এক্সে কখনই ঘটে না।


-2

কিছু গেম যা ম্যাকওএসএক্সের "পোর্ট" করা হয়েছে তা আসলে একটি এমুলেটরের মধ্যে চলমান উইন্ডোজ গেমস। আমার কাছে উদাহরণগুলির সম্পূর্ণ তালিকা না থাকলেও মনে হয় কমপক্ষে স্পোর রয়েছে যা এর মতো ছিল:

স্পোর কখনই আনুষ্ঠানিকভাবে জিএনইউ / লিনাক্সে প্রকাশিত হয়নি, এবং ম্যাক সংস্করণটি বেশ খারাপ। ম্যাক পোর্টটি আসলে সিডারের সাথে প্যাকেজযুক্ত উইন্ডোজ রিলিজ, যা গেমসের চারপাশে WINE এর একটি (বর্তমানে পুরানো) সংস্করণ মোড়ানো একটি অবজ্ঞাত প্রযুক্তি। ( উত্স )

একটি এমুলেটর এর মধ্যে একটি সফ্টওয়্যার চালানো সংজ্ঞা দ্বারা এটি স্থানীয়ভাবে চালনার চেয়ে ধীর হয়।

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