ठीक है, इसलिए मेरे आवेदन में, WinAPI का एक गुच्छा और कुछ कस्टम नियंत्रण हैं। हाँ ...डबल बफरिंग winAPI
अब, सामान्य रूप से, वे चुपचाप एनिमेशन, राज्य बदलने, ect .... के लिए चुपचाप फिर से तैयार करेंगे .... और यह सब ठीक काम करता है।
लेकिन मेरे पास फिक्स() नामक क्लास विंडो की एक विधि है। जब भी पूरी विंडो को अद्यतन करने की आवश्यकता होती है तो इसे तब कहा जाता है। यह नियंत्रण का आकार बदलता है और खिड़की को अमान्य करता है।
जब ऐसा होता है, तो पृष्ठभूमि खींची जाती है, फिर टैब नियंत्रण होता है, फिर अन्य सभी शीर्ष पर। यह बहुत परेशान झुर्रियों का कारण बनता है, खासकर जब खिड़की का आकार बदलता है (ठीक करने के लिए निरंतर कॉल की वजह से)।
मैं क्या कोशिश की है:
- WS_EX_COMPOSITED। यह व्यक्तिगत नियंत्रण केवल डबल-बफर करता है। यह एक सुधार है, लेकिन झटके अनिवार्य रूप से बनी हुई है।
- पृष्ठभूमि ड्राइंग को बंद करना। मुश्किल से समस्या हल करता है, और वास्तव में मामलों को और भी खराब बनाता है।
तो: मुझे एक तकनीक/विधि/जो भी खिड़की को पूरी तरह से डबल-बफर करने की अनुमति देने की आवश्यकता है। मुझे लगा कि WM_PAINT संदेश को स्वयं से संभालना एक समाधान हो सकता है, लेकिन मुझे नहीं पता कि कहां से शुरू करना है। मुझे एक भयानक भावना है कि यह भी संभव नहीं है ...
कृपया मदद करें, यह एक महत्वपूर्ण मुद्दा है। जब यह बेवकूफ छोटी समस्या तय हो जाती है तो मुझे बहुत राहत मिल जाएगी।
शायद इस पृष्ठ को चेक करें? http://www.gamedev.net/community/forums/topic.asp?topic_id=411559 –