मैं (एक OpenGLwidget में) एक QPainter में 60fps पर वीडियोQPainter प्रदर्शन उच्च फ्रेम दर
मैं एक मुद्दा है कि कभी कभी ड्राइंग बहुत लंबा और अगले रीपेंट घटना होता है, जबकि QPainter में है लेता हो रहा है दिखाने के लिए कोशिश कर रहा हूँ उपयोग - जो एक चेतावनी और यादृच्छिक दुर्घटना उत्पन्न करता है।
सवालों की एक जोड़ी:
वहाँ एक 'क्यूटी रास्ता' कुशलतापूर्वक गूंथ के लिए फिर से रंगना करने के लिए कॉल है, के बाद से शायद QPainter जानता है कि यह किया जा रहा है - या मैं बस अपना प्लेटफार्मों म्युटेक्स समर्थन प्रयोग करते हैं?
क्या केवल एक टाइमर कॉलिंग repaint() की तुलना में उच्च फ्रेम दर (जिसे निश्चित रूप से VSync पर लॉक करने की आवश्यकता है) पर आकर्षित करने का एक बेहतर तरीका है?
टाइमर आग लगने पर आप क्या निर्देश देते हैं? या, यदि आप स्वयं को कुछ भी नहीं कहते हैं, तो आप 60fps को कैसे लागू करते हैं? –
repaint(), तो मैं अपने छवि डेटा प्राप्त करने के लिए paintEvent() को अधिभारित करता हूं और इसे QImage में प्रस्तुत करता हूं जो –
प्रदान करता है ठीक है आप QImages को एक अलग थ्रेड में बना सकते हैं, इसलिए पेंटिंग थ्रेड को प्रत्येक पेंटएवेंट पर कम समय की आवश्यकता होगी। – smerlin