एफएक्सएए को अक्षम करने के बाद सीज़ियम लेबल्स ब्लरी

Jan 06 2021

मैं इस पोस्ट में जवाब का पालन किया है सीज़ियम लेबल धुंधला लेकिन कोई भाग्य नहीं था।

मैंने सुनिश्चित किया है कि viewer.scene.fxaa = falseऔर कुछ भी नहीं लगता है। कृपया मेरा स्क्रीनशॉट संलग्न देखें।

क्या किसी के पास इसके लिए एक फिक्स है?

बहुत बहुत धन्यवाद!

जवाब

2 emackey Jan 06 2021 at 21:15

जैसे हार्ड-कोडिंग से सावधान रहें viewer.resolutionScale = 2। कोड की इस लाइन पर एक बेक्ड-इन धारणा है कि उपयोगकर्ता के पास संभवतः एक उच्च-डीपीआई स्क्रीन है, और उनका ब्राउज़र तदनुसार वेबपेज को स्केल कर रहा है। पहले से ही 1: 1 पिक्सेल अनुपात का उपयोग कर रहे सिस्टम पर कोड की इस लाइन को चलाने से यह दो बार विस्तृत और दो बार उतना ही लंबा हो सकता है जितना डिवाइस वास्तव में प्रदर्शित कर सकता है।

यहाँ एक वैकल्पिक सुझाव दिया गया है:

viewer.resolutionScale = window.devicePixelRatio

यह सही नहीं है, लेकिन एक हार्ड-कोडेड से बेहतर है। यह डिवाइस के मूल पिक्सल से बिल्कुल मेल खाने के लिए सीज़ियम दर्शक को प्राप्त करने का प्रयास करेगा, जो कि "सीएसएस पिक्सल" के समान आकार नहीं हो सकता है, खासकर उच्च-डीपीआई स्क्रीन पर।

यहां "1" का मान (डिफ़ॉल्ट) का अर्थ है कि सीज़ियम के दर्शक कैनवास पिक्सल साइज पिक्सेल के वेबपेज के विचार के समान आकार के हैं, जो स्क्रीन के अपने मूल पिक्सल की तुलना में बड़ा और चंकियर हो सकता है। अधिक संख्याएँ WebGL कैनवास रिज़ॉल्यूशन पर गुणक के रूप में कार्य करती हैं, और अधिक ग्राफिक्स मेमोरी और प्रदर्शन लेती हैं। आप पा सकते हैं कि जिस मशीन पर आप यह परीक्षण कर रहे हैं, उसमें पहले से ही एक विंडो है ।devicePixelRatio की 1.5 या 2.0, इसलिए ऊपर की पंक्ति आपके विशेष मशीन पर हार्ड-कोडेड 2 से अलग तरीके से कार्य नहीं कर सकती है। लेकिन स्थानीय डिवाइस की जांच करना PixelRatio धारणा बनाने से बेहतर है।

LukeVenter Jan 06 2021 at 15:57

इसे जोड़कर तय किया जा सकता है:

  viewer.resolutionScale = 2

प्रदर्शन पर असर पड़ सकता है, लेकिन यह अब तक ठीक है।