سؤال

في سياق تطبيق Java Rubik's Cube ، أحاول تحريك إجراءات المكعب التي يؤديها المستخدم النهائي.

للقيام بذلك ، أنا فقط أستخدم التناوب والعديد من عمليات إعادة الرسم على النحو التالي:

GL11.glRotatef(zRotate, 0.0f, 0.0f, 1.0f);

يتم محاكاة متغير Zrotate من 0 إلى 90 وأنا أقوم بإعادة رسم كل 20 ميلي ثانية.

إنه يعمل بشكل مثالي ولكني أرى الخفقان على الشاشة .. كيف يمكنني تجنب ذلك؟

هل كانت مفيدة؟

المحلول 2

كان الحل هو إضافة نمط SWT.No_background في إنشاء قماش OpenGL.

نصائح أخرى

وفق هذا الموضوع, ، يمكنك الاتصال Display.setVSyncEnabled(true); أثناء التهيئة.

استخدام التخزين المؤقت المزدوج.

http://en.wikipedia.org/wiki/double_buffer#double_buffering_in_computer_graphics

ليس لدي أي خبرة مع LWJGL ، ولكن التقنية الشائعة هي الرسم إلى صورة نقطية وإعادة رسم الشاشة/النافذة باستخدام صورة نقطية في خطوة واحدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top