আমি কীভাবে বলতে পারি যে আমি কত ভিডিও কার্ড মেমরি ব্যবহার করছি?


15

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

আমি জানি যে এখানে এমন অনেকগুলি ইউটিলিটি রয়েছে যা আমার প্রোগ্রামটি চলমান থাকায় আমাকে মেমরির ব্যবহার দেখাবে, তবে আমি আমার কোড থেকে সেই তথ্যটি জিজ্ঞাসা করতে সক্ষম হতে চাই।


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

আমি স্ট্যাকওভারফ্লোতেও রয়েছি, তবে আমি এখানে কীসের জন্য বৈধ তা প্রশ্নগুলির মিশ্রণটি শিখছি।
হিতেশ

3
এই প্রশ্নটি এখানে পুরোপুরি ঠিক আছে। সর্বোপরি, তিনি সম্ভবত তাঁর যে আবশ্যক আবশ্যক সেটি পেয়েছিলেন। : এই দেখুন meta.gamedev.stackexchange.com/questions/3/...
Tetrad

উত্তর:


14

আপনি ব্যবহার করে একটি এনভিডিয়া কার্ডের ভিডিও মেমোরি জানতে পারেন NVX_gpu_memory_info এক্সটেনশন , অথবা একটি এটিআই কার্ড ব্যবহার ATI_meminfo । আমি খুঁজে পেয়েছি কোডের একটি স্নিপেট এখানে যা আপনাকে শুরু করতে পারে।


তবে, ফ্লিপকোডে পল নেটলেট বিস্মিত হয়েছিলেন যে কেউ কেন উপলব্ধ ভিডিও মেমোরিটি খুঁজতে চাইবে :

ভিডিও মেমরির পরিমাণ নির্ধারণ করা যেহেতু কঠিন (এবং কখনও কখনও অসম্ভব) কারণ ওপেনজিএল আপনাকে ফ্রেম বাফারটি লক করতে এবং এটি সরাসরি অ্যাক্সেস করতে দেয় না তার কারণগুলির সাথে খুব মিল।

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


কিছু দুর্দান্ত সংস্থান। আমার কয়েকদিনের মধ্যে চেষ্টা করার সুযোগ পাওয়া উচিত।
হিটেশ

+1, স্নিপেটগুলি দুর্দান্ত। যাইহোক, আমি কোনও অর্থ না বোঝার বিষয়ে পুরোপুরি একমত নই - আপনার প্রোগ্রামের দর্শনীয় স্থানটিকে ব্যর্থ হওয়ার চেয়ে মেমরির পরিমাণটি যাচাই করা সর্বদা ভাল।
কর্নেল কিসিলিউইচ

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

1
ব্যক্তিগতভাবে আমি এটিকে ফাঁসগুলি ট্র্যাক করার এবং আমার হার্ডওয়্যার সামঞ্জস্যতা দেখার জন্য একটি সহজ গাইডলাইন হিসাবে ব্যবহার করার পরিকল্পনা করছি। "20mb" ব্যবহার করছেন? হ্যাঁ, এটি সম্ভবত বাজারে যে কোনও কিছুতে চলবে। অর্ধ ডজন গতিশীল-বরাদ্দকৃত টেক্সচার সহ প্রচুর মন্থর সহ একটি সাধারণ খেলায় "500mb" ব্যবহার করছেন? ওহো কিছু আমার বর্জ্য সংগ্রহের সাথে সম্ভবত ভুল হয়ে গেছে।
জোর্বাথুত

1
দুর্ভাগ্যক্রমে জিএল স্পেক বলছে যে ড্রাইভার যখন GL_OUT_OF_MEMORY ফিরিয়ে দেয় তখন এটি এখন অনির্ধারিত অবস্থায় থাকে তাই আপনি যখন স্মৃতি থেকে বের হয়ে আসেন আপনি মূলত SOL গেমের জন্য যা এতটা খারাপ নয় তবে ফটোশপ বলার মতো অ্যাপ্লিকেশনটির জন্য এটি গ্রহণযোগ্য নয়।
gman
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.