HTML5 कैनवस गेम पर डबल बफरिंग?


23

मेरा सरल कैनवास गेम मैक / लिनक्स पर क्रोम और एफएफ पर ठीक काम करता है। मुझे अभी तक स्मार्ट फोन या विंडोज वातावरण पर इसका परीक्षण करने का मौका नहीं मिला है। यह डबल बफरिंग का उपयोग नहीं करता है, लेकिन मैंने इसका उपयोग करते हुए कुछ जेएस कैनवस उदाहरण देखे हैं।

डबल बफरिंग के उपयोग की सिफारिश कब की जाती है? क्या यह केवल विशिष्ट ब्राउज़रों के लिए अंतर करता है? क्या कोई महत्वपूर्ण प्रदर्शन हिट है?

धन्यवाद!


2
OT: यह गेम नियम, यह बहुत ही आशाजनक है, अच्छा काम (inc आपको इंटरफ़ेस पर बहुत अधिक काम करना है, कुछ चीजें स्पष्ट नहीं हैं, आदि)
o0 '।

यह वास्तव में बहुत प्यारा है। सिफारिश हालांकि: अंतरिक्ष के अलावा कुछ और करने के लिए नक्शा स्तर स्विच। हर बार मेरी ब्राउज़र विंडो को स्क्रॉल करने पर गुस्सा आना।
michael.bartnett

स्टीयरिंग के लिए तीर कुंजियों का भी उपयोग न करें .. मैं वर्तमान में सुरक्षित मोड में हूं और एक छोटे स्क्रीन पर यह सभी जगह स्क्रॉल करता रहता है ... फी: पी
टोर वालोमा

मुझे लगता है कि कुंजी को पकड़ना संभव है इसलिए ब्राउज़र विंडो उन पर कार्रवाई नहीं करती है।
अटैकिंगहोबो

धन्यवाद! ए, डब्ल्यू, डी और रिटर्न काम के रूप में अच्छी तरह से अब। आगे की टिप्पणियों या विचारों के लिए ट्वीट को गति या ईमेल petteri@momentumracer.com पर भेजें ताकि यह एक चैट बोर्ड न बन जाए :-)।
पेट्री हेटेरविरटा

जवाबों:


15

एक कैनवास आधारित गेम को डबल बफ़र करना निश्चित रूप से एक प्रदर्शन हिट होगा। आप अपने कैनवास के आकार के हर फ्रेम के बराबर पिक्सेल की एक अतिरिक्त राशि खींच रहे होंगे। कैनवास आधारित खेलों में, कैनवास पर ड्राइंग करना अधिकांश मामलों में सबसे बड़ी अड़चन है और आप इसे जितना संभव हो उतना सीमित करना चाहते हैं, खासकर मोबाइल उपकरणों पर।

Chrome में GPU त्वरण (नवीनतम संस्करणों के रूप में) और साथ ही एक दुष्ट तेज़ जावास्क्रिप्ट इंजन (V8) है जिसे आप मोबाइल वातावरण में मिलान नहीं देखेंगे। क्रोम में भी आपको डबल बफरिंग लागू करके मंदी दिखाई देगी।

लंबी कहानी छोटी, डबल बफरिंग ("फाड़" से निपटने) का लाभ प्रदर्शन हिट के लायक नहीं है जो आप सबसे अधिक संभावना लेंगे।


1
हालाँकि, जब आप टिमटिमाते हुए या किसी चीज़ को एक डबल बफर नोटिस करते हैं, तो यह सबसे अधिक संभावना है। आपके प्रश्न का उत्तर देने के लिए: यदि आप सूचना को टिमटिमाते हुए देखते हैं तो मैं एक डबल बफर का उपयोग करने का सुझाव देता हूं। अन्यथा कोई कारण भी नहीं है। ध्यान दें कि एक डबल बफर लागू करने या हटाने के लिए आसान है (यदि आप प्रदर्शन हानि की सूचना टिमटिमाते हैं)।
user8363

6

HTML5 गेम्स को डबल बफर करने की कोई आवश्यकता नहीं है। ब्राउज़र आपकी स्क्रिप्ट चलने के बाद केवल कैनवास ऑब्जेक्ट को अपडेट करके आपके लिए इसे पहले से ही संभालता है। http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19969.html


1

मैंने देखा कि इस तरह से डबल बफरिंग करने से:

  1. एक अदृश्य कैनवास सब कुछ आकर्षित करें
  2. अदृश्य कैनवास को असली कैनवास पर कॉपी करें

वास्तव में इसे कम करने के बजाय प्रतिपादन (कम एफपीएस) को धीमा कर देता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.