आपको ऐसा करने में सक्षम होना चाहिए कि प्रस्तुतकर्ता के बारे में कुछ ऐसा करने में सक्षम होना चाहिए और यह सुनिश्चित करना कि आपके द्वारा रेंडरर को संग्रहीत चर को 'रेंडरर' नाम दिया गया है।
renderer.context.canvas.addEventListener("webglcontextlost", function(event) {
event.preventDefault();
// animationID would have been set by your call to requestAnimationFrame
cancelAnimationFrame(animationID);
}, false);
renderer.context.canvas.addEventListener("webglcontextrestored", function(event) {
// Do something
}, false);
Btw - loseContext three.json द्वारा परिभाषित नहीं है और यह इस समय के रूप में एक मानक पद्धति नहीं है। आप इसे निम्नलिखित करके अनुकरण कर सकते हैं।
लोड इस स्क्रिप्ट Three.js
से पहले https://github.com/vorg/webgl-debug
तब के बाद आप अपने रेंडरर शुरू कर दिया है आप कैनवास को loseContext हुक कर सकते हैं।
renderer.context.canvas = WebGLDebugUtils.makeLostContextSimulatingCanvas(renderer.context.canvas);
हार कॉन्टेक्स्ट को ट्रिगर करने के लिए आप ऐसा करेंगे।
renderer.context.canvas.loseContext();
और फिर भी आप इसे करके एक निश्चित संख्या में कॉल के बाद विफल हो सकते हैं।
renderer.context.canvas.loseContextInNCalls(5);
स्रोत
2013-01-28 19:00:38
क्या आप कृपया मुझे बता सकते हैं कि यदि आप तीन.जेएस का उपयोग नहीं कर रहे हैं तो आप यह कैसे करेंगे। दूसरे शब्दों में, यदि आप कच्चे WebGL API का उपयोग कर रहे हैं। धन्यवाद। – HartleySan
गैर तीनjs विधि https://www.khronos.org/webgl/wiki/HandlingContextLost – mattdlockyer
थ्रीजेएस के साथ 'webgl-debug.js' का उपयोग करते समय, मैंने पाया कि मुझे मैन्युअल रूप से' renderer.context.canvas.getContext (" webgl ");' renderer.context.canvas.loseContext() का उपयोग करने से पहले; ' – sweeds