2009-09-06 8 views
6

क्या कोई प्रोग्रामिंग लचीलापन और रन-टाइम प्रदर्शन के संदर्भ में सिल्वरलाइट में फ्लैश और पिक्सेल शेडर (एचएलएसएल) में पिक्सेल बेंडर के बीच अलग-अलग समझा सकता है?पिक्सेल बेंडर (फ्लैश में) और पिक्सेल शेडर्स (सिल्वरलाइट में) के बीच तुलना

उत्तर

0

मुझे सिल्वरलाइट शेडर्स के बारे में वास्तव में पता नहीं है लेकिन मैं पिक्सेलबेंडर के बारे में बात कर सकता हूं।

एक पिक्सेलबेंडर शेडर बिटमैप डेटा लेता है और प्रत्येक 32-बिट पिक्सेल (वास्तव में प्रत्येक 4 फ्लोट्स का प्रत्येक हिस्सा) का मूल्यांकन करता है और उस पर गणना करता है। शेडर के लिए इनपुट एक या अधिक छवियों और वैकल्पिक पैरामीटर है और आउटपुट हमेशा एक छवि है। गणना छवि में सभी पिक्सल में समानांतर में होती है और पिक्सल के बीच 'स्टेटलेस' है, जिसका अर्थ है कि आप एक पिक्सेल का मूल्यांकन करते समय मूल्यों को स्टोर नहीं कर सकते हैं और उन्हें दूसरे में उपयोग कर सकते हैं। वास्तव में, पिक्सेल मूल्यांकन के संदर्भ में, फ़ंक्शन को असीमित बड़ी छवि पर काम करने के लिए डिज़ाइन किया गया है और इसलिए छवि के आकार और आकार से अनजान है।

शेडर्स के लिए फ़्लैश प्लेयर के लिए उपलब्ध कार्यक्षमता संपूर्ण पिक्सेलबेंडर भाषा का सबसेट है। इसमें पुन: प्रयोज्य लाइब्रेरी फ़ंक्शन और क्षेत्र फ़ंक्शंस जैसी भाषा सुविधाएं शामिल नहीं हैं।

पिक्सेल बेंडर शेडर फ्लैश प्लेयर से अलग थ्रेड प्रक्रियाओं को अनिवार्य रूप से फ्लैश प्लेयर से अलग थ्रेड में GPU पर चला सकता है। व्यावहारिक रूप से, यह पिक्सेलबेंडर की स्टेटलेसनेस और सीमित कार्यक्षमता के कारण बड़े-बैच संख्या क्रंचिंग के लिए केवल उपयोगी है। संख्याओं का एक बाइट्री बिटरमैपटाटा के रूप में छिपे हुए शेडर को पास किया जा सकता है और शेडरजोब का उपयोग करके असीमित रूप से (या सिंक्रनाइज़) चला सकता है।

सिंटेक्स-वार, एचएलएसएल और पीबीजे दोनों सी-जैसे हैं और जीएलएसएल पर आधारित हैं। मेरा अनुमान है कि एचएलएसएल में ग्राफिक के हार्डवेयर के साथ माइक्रोसॉफ्ट के अनुभव को देखते हुए शायद बेहतर प्रदर्शन और अधिक सुविधाएं हैं। हालांकि, फ्लैश और सिल्वरलाइट के बीच अंतर उनके शेडर्स से बहुत दूर जाते हैं और मुझे लगता है कि फ्लैश लगभग हर क्षेत्र में सिल्वरलाइट से परे उत्कृष्टता प्राप्त करता है, इसलिए यह नीचे आता है कि कौन सा मंच बेहतर आवश्यकताओं को पूरा करता है।

+1

आपकी विस्तृत जानकारी के लिए धन्यवाद। हालांकि, फ्लैश में पीबी GPU में नहीं चलती है। उम्मीद है कि दोनों के बीच और तुलना होगी :) –

+0

इसे इंगित करने के लिए धन्यवाद। मेरी गलती! –

+0

@ एंडी: स्पष्ट रूप से (अंतिम) फ्लैश प्लेयर के 10.1 रिलीज में एक जीपीयू रास्टरराइज़र होगा, जो मुझे लगता है कि पिक्सेल बेंडर के जीपीयू कार्यान्वयन की आवश्यकता होगी। –

1

मुझे प्रोग्राम योग्यता के बारे में पता नहीं है, लेकिन रन-टाइम प्रदर्शन के लिए, पिक्सेलबेंडर बहुत अच्छा है। वर्तमान में सिल्वरलाइट 3 आपको पृष्ठभूमि में इस प्रसंस्करण को करने की अनुमति नहीं देता है, लेकिन पिक्सेलबेंडर के साथ, आप कर सकते हैं। यह अच्छा है क्योंकि कम्प्यूटेशनल रूप से गहन फ़िल्टर का उपयोग करते समय UI को उतना प्रभावित नहीं होता है।

इस मंच में सिल्वरलाइट 3: Pros and Cons के लिए कुछ अच्छे प्रो और कॉन हैं। मुझे पता है कि यह विषय पुराना है, लेकिन मैं इसे जोड़ रहा हूं क्योंकि यह थोड़ा अपूर्ण था।