سؤال
في سياق تطبيق 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 ، ولكن التقنية الشائعة هي الرسم إلى صورة نقطية وإعادة رسم الشاشة/النافذة باستخدام صورة نقطية في خطوة واحدة.
لا تنتمي إلى StackOverflow