কলিং glFlush()
এবং এর মধ্যে ব্যবহারিক পার্থক্যটি আলাদা করতে আমার সমস্যা হচ্ছে glFinish()
।
দস্তাবেজগুলি এটি বলে glFlush()
এবং glFinish()
সমস্ত বাফার অপারেশনগুলিকে ওপেনজিএলে চাপ দেবে যাতে একজনকে নিশ্চিত করা যায় যে তাদের সকলের মৃত্যুদণ্ড কার্যকর করা হবে, glFlush()
তফাতটি তত্ক্ষণাত্ ফিরে আসে যেখানে glFinish()
সমস্ত অপারেশন সম্পূর্ণ হওয়া অবধি অবরুদ্ধ হয়ে যায় as
সংজ্ঞাগুলি পড়ে, আমি বুঝতে পেরেছিলাম যে আমি যদি এটি ব্যবহার glFlush()
করতে পারি তবে আমি সম্ভবত ওপেনজিএল সম্পাদন করার চেয়ে আরও বেশি অপারেশন জমা দেওয়ার সমস্যায় পড়তে চাই। সুতরাং, কেবল চেষ্টা করার জন্য, আমি আমার এবং একবারের glFinish()
জন্য নিজেকে সরিয়ে ফেললাম glFlush()
এবং দেখুন, আমার প্রোগ্রামটি চলছে (ঠিক যতদূর আমি বলতে পারি), ঠিক একই; ফ্রেম রেট, রিসোর্সের ব্যবহার, সবকিছু একই ছিল।
তাই আমি ভাবছি যে দুটি কলের মধ্যে অনেক পার্থক্য রয়েছে, বা আমার কোড যদি তাদের আলাদা করে না। অথবা যেখানে অন্যটি বনাম ব্যবহার করা উচিত। আমি আরও বুঝতে পেরেছিলাম যে ওপেনগিএলের কিছু কল glIsDone()
হবে যা যাচাইয়ের জন্য সমস্ত বাফার কমান্ড glFlush()
সম্পূর্ণ হয়েছে কিনা তা পরীক্ষা করে দেখতে হবে (যাতে কেউ ওপেনজিএলকে কার্যকর করার চেয়ে দ্রুত অপারেশন প্রেরণ করে না) তবে আমি এরকম কোনও কার্যকারিতা খুঁজে পাইনি could ।
আমার কোডটি সাধারণত গেম লুপ:
while (running) {
process_stuff();
render_stuff();
}