में लूप को अनदेखा करना रोकें मैं क्रोम (और फ़ायरफ़ॉक्स) के नवीनतम संस्करण का उपयोग कर वेबजीएल (जीएलएसएल ईएस 1.0) के लिए एक टुकड़ा शेडर लिख रहा हूं, और मैंने एक पुनरावृत्त एल्गोरिदम लिखा है।टुकड़े टुकड़े
तो सबसे पहले, मुझे मुश्किल तरीका पता चला कि लूप की लंबाई काफी प्रतिबंधित है (डॉक्टर कहते हैं कि यह संकलन-समय पर अनुमान लगाया जाना चाहिए, जिसका अर्थ है कि यह स्थिर या बहुत करीब होना चाहिए)।
इसके अलावा, मैं एक लिखना चाहिए (for
, क्योंकि यह केवल एक ही है जो मानक के अनुसार लागू किया जाना चाहिए है) पाश संभावित लंबी है कि लेकिन वह अंत से पहले लगभग हर बार टूट जाता है।
अब, मैंने देखा है कि यदि मैंने उच्चतम संख्या निर्धारित की है तो शेडर का संकलन और लिंकिंग अधिक समय लेता है। इसलिए, जब तक कि मैं गलत नहीं हूं, संकलक लूप को अनदेखा करता है।
मुझे यकीन नहीं है कि कुछ भी किया जा सकता है, लेकिन मैंने कुछ चीजों की कोशिश की है और संकलक इनलाइन कार्यों को भी लगता है, भले ही लूप में बुलाया जाता है।
मुझे लगता है कि एक शेडर के लिए एक लूप के लगभग सौ पुनरावृत्तियों के लिए संकलन करने के लिए पूरे मिनट लेने के लिए सामान्य नहीं लगता है। या मैं गलत काम कर रहा हूँ? एक जीपीयू के लिए एक टुकड़ा शेडर रास्ता में एक सौ पुनरावृत्तियों है? क्योंकि यह संकलित होने के ठीक बाद ठीक लगता है।
वेबजीएल आम तौर पर आपके ओपनजीएल लाइब्रेरी में कंपाइलर को शेडर बंद कर देता है, तो यह क्या करता है और यह कितना समय लगता है आपके वीडियो कार्ड और ड्राइवर पर निर्भर करता है ... –