Three.js: Error al crear el contexto de WebGL

Creado en 16 jun. 2014  ·  64Comentarios  ·  Fuente: mrdoob/three.js

estoy obteniendo

Error al crear el contexto de WebGL.
Error de tipo no detectado: no se puede leer la propiedad 'getExtension' de null

en http://threejs.org/examples y en mi sitio web http://arefin.in (r58).
chrome: // gpu / muestra todo lo habilitado.

Qué crees que está mal ?

Browser Issue

Comentario más útil

Lo mismo para mi. Descubrí que mi GPU (Intel HD 3000) ahora está en la lista negra de Chrome (verifique la suya en chrome: // gpu /). Fui a chrome: // flags / y habilité la bandera --ignore-gpu-blacklist . Ahora todo vuelve a la normalidad.

Todos 64 comentarios

Debería compartir las especificaciones de su sistema. (CPU, SO, modelo de tarjeta gráfica, versión de controladores, navegador ...)

AMD FX-4130, Win 7 build 7600, GeForce GTX 650 con 9.18.13.2018, Chrome 35.0.1916.153 m.
Las cosas estaban bien hace una semana. He estado ejecutando mi sitio web desde mayo de 2013.

¿Controladores más recientes? ¿Probaste con otro navegador?

Quiero decir, si las cosas solían funcionar y no ha cambiado el código, probablemente sea algo relacionado con el sistema operativo, el navegador y / o los controladores gráficos ...

Creo que el último canal de desarrollo Chrome en Windows está haciendo algo divertido después de la actualización. Después de actualizar ahora, threejs no puede crear el contexto webgl en ningún ejemplo; funcionaba bien justo antes de la actualización.

Versión de Chrome 37.0.2054.2 dev-m (64 bits)
Windows 8.1 de 64 bits
Serie ATI Radeon HD 6800
Paquete del controlador ATI, versión 14.10.1006-140417a-171099C

chrome: // gpu muestra
"WebGL: no disponible. Aceleración de hardware no disponible"
¡También muestra que el indicador --disable-gpu se pasó a chrome.exe!

Matar todos los procesos de chrome.exe y ejecutar ejecutando chrome.exe directamente (en C: \ Archivos de programa (x86) Google \ ChromeApplication) parece resolver esto. Verifique sus atajos para asegurarse de que no se pase la bandera.

Tal vez este no sea el mismo problema, pero verifique esto primero si ve este problema después de la actualización.

Déjame intentarlo y responderte. También vi este problema aquí: http://japhr.blogspot.in/2014/05/webgl-in-chrome-36-linux-is-not-working.html

Gracias

Ahora todo ha vuelto a la normalidad. Supongo que las cosas se solucionaron solas cuando se actualizó Chrome. La mayoría de la gente no se enfrentó a este problema, tal vez solo un puñado. Aún así, Chrome debería abordar problemas como estos.
Supongo que puedes cerrar este problema.
Gracias

Reiniciar Chrome solucionó esto por mí.

todavía tengo un problema después de reiniciar Chrome mi versión de Chrome 37.0.2062.120 (64 bits) ... por favor ayúdeme a resolver este problema.

y está en ubuntu linux 13.04

La última versión de Chrome para Linux es 39.0.2171.95.

Tengo el mismo problema (Error al crear el contexto WebGL) con la última versión, 39.0.217.95 (64 bits) en Ubuntu 14.10.

Lamento resucitar este hilo, pero tengo el mismo problema (error al crear el contexto WebGL, no se puede leer la propiedad getExtension de null), Chrome 47.0.2526.106 (64), Ubuntu 15.10, nVidia Optimus en gpu dedicada (three.js no se ejecuta en absoluto si lo configuro en integrado). Realmente no me importa porque generalmente uso Firefox, pero otras personas podrían hacerlo y eso me impide probar con Chrome.

El mismo problema aquí, tanto en el canal Dev como en Canary, ha estado sucediendo durante semanas. three.js funciona en FF pero no en Chrome. Un problema bastante grande porque utilizo principalmente Chrome.

Chrome 49.0.2609.0 canary (64 bits), 49.0.2593.0 dev-m (64 bits), Windows 8.1, nVidia Optimus

@jwlarocque @GameKyuubi

En estas situaciones, es mejor consultar https://get.webgl.org/. Si esa página no funciona, no hay nada que three.js pueda hacer al respecto y, en su lugar, debes informar el problema a Google / Chrome.

Sí, está roto allí. Realmente extraño que un problema como este se vaya
desapercibido durante tanto tiempo aunque.
El 2 de enero de 2016 a las 5:09 p.m., "Mr.doob" [email protected] escribió:

@jwlarocque https://github.com/jwlarocque @GameKyuubi
https://github.com/GameKyuubi

En estas situaciones, es mejor consultar https://get.webgl.org/. Si eso
la página no funciona, no hay nada que three.js pueda hacer al respecto y usted
en su lugar, debe informar el problema a Google / Chrome.

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/mrdoob/three.js/issues/4927#issuecomment -168372764.

Me gustaría señalar que en mi Mac que tiene una GPU Nvidia de conmutación, es probable que modificar su comportamiento de conmutación de GPU, por ejemplo, con gfxCardStatus, haga que Chrome falle al crear el contexto hasta que salga de Chrome y lo vuelva a abrir. Esta es una forma en que puedo hacer que el problema se manifieste en esta máquina en particular.

Este es el tipo de problema que un cierre de sesión / reinicio a menudo puede solucionar bastante bien.

Asegúrese de que esta opción esté seleccionada en su configuración de Chrome.
screen shot 2016-02-09 at 1 59 46 pm

Sí, ese no es el problema en absoluto. Se ha comprobado todo el tiempo, el problema persiste incluso con la actualización más reciente de Chrome Canary y los controladores NVIDIA más recientes.

Esto parece haber sucedido al azar después de hacer algunas pruebas intensas de una aplicación Three.js. En un momento todo se estaba procesando bien, ahora no puedo cargar ningún contexto WebGL. La aceleración de hardware está activada en la configuración. Sin embargo, en chrome: // gpu :

Rasterización: solo software. Aceleración de hardware deshabilitada
Canvas: solo software, aceleración de hardware no disponible

¿Algunas ideas?

También veo este problema en Linux. Reiniciar Chrome no lo soluciona.

Recibo el mismo error "Error al crear el contexto WebGL". en Chrome 50.0.2661.75 m (64 bits) / Windows 7.
El controlador debería estar bien ya que no tengo ningún problema para cargar la misma página en Firefox.

@JamesMilnerUK El mismo problema aquí,

Editar: Encontré una solución: tuve que desmarcar la aceleración de hardware, reiniciar, volver a verificar y reiniciar nuevamente

Comenzó reiniciando Chrome y reiniciando Mac

Mac - Chrome - Versión 52.0.2743.116 (64 bits) - OK

Mac - Chrome Canary - Versión 55.0.2850.0 canary (64 bits) - FALLO

THREE.WebGLRenderer: Error creating WebGL context.WebGLRenderer @ three.js:19571
Uncaught TypeError: Cannot read property 'getExtension' of null
    at Object.get (three.js:16906)
    at new WebGLRenderer (three.js:19577)
    at init ((index):59)
    at (index):54
                    case 'WEBGL_depth_texture':
                        extension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' );
                        break;

Probé chrome://flags/ y habilité este:

Extensiones de borrador de WebGL Mac, Windows, Linux, Chrome OS, Android
Habilitar esta opción permite que las aplicaciones web accedan a las Extensiones WebGL que todavía están en estado de borrador.

Sigo sin suerte ...

¿Canario? Probablemente debería informar la regresión al proyecto Chromium.

¡¡¡S T!!!

Mi Chrome se actualizó automáticamente: el establo está en 53.0.2785.101 y dejó de funcionar, yo también ...

EDITAR:

Informe de error: https://bugs.chromium.org/p/chromium/issues/detail?id=645390

Lo mismo para mi. Descubrí que mi GPU (Intel HD 3000) ahora está en la lista negra de Chrome (verifique la suya en chrome: // gpu /). Fui a chrome: // flags / y habilité la bandera --ignore-gpu-blacklist . Ahora todo vuelve a la normalidad.

Chrome a veces agrega controladores a su lista negra entre lanzamientos. Mi samsung galaxy s6 no tenía webgl 1 mes y al mes siguiente lo hizo porque Chrome lo eliminó de la lista negra. Las cosas también pueden ir al revés. Sin embargo, puede ignorar la lista negra bajo su propio riesgo. Lo ignoré con mi teléfono, y todo _ funcionó bien.

es decir, + firefox funcionó, Chrome más reciente no uno de mis desarrolladores. sistemas, los últimos controladores Nvideo Quadro para la tarjeta 2011 ...
Se corrigió entrando en la configuración avanzada de Chrome: use hardware Acc. GFX estaba desmarcado, verificado, reiniciado y ahora funcionando

Echo de menos flash :-( - Simplemente no puedo esperar que los usuarios finales pasen por esta molestia

Recibo la misma excepción después de un tiempo indeterminado en Chrome. Ocurre solo muy ocasionalmente y solo parece ser cuando es una escena de pantalla completa, pero la única forma de solucionarlo que puedo encontrar hasta ahora es reiniciar el navegador, ¡lo cual no es lo suficientemente bueno en un sitio público! Puedo crear contextos bien durante bastante tiempo, pero de repente fallará cuando intento new THREE.WebGLRenderer() nuevamente, por lo que no puede deberse a tarjetas gfx en la lista negra. Sin embargo, no puedo reproducirlo ad-hoc, lo que hace que sea prácticamente imposible de solucionar. ¿Alguien tiene alguna idea de cómo localizar la causa raíz?

La aceleración de hardware está habilitada.

Error creating WebGL context.
Uncaught TypeError: Cannot read property 'getExtension' of null

sí, también me está pasando a mí a partir de ahora: Chrome en Macbook Pro OS 10.11.5

@deejbee @cindyloo , sería útil que pudieran compartir la información de su hardware.

@mrdoob Es Intel HD Graphics 530 con Win10. La versión del controlador es 4.4.0 Build 10.18.15.4279. Es una Dell Optiplex 7040

Informe GPU Caps Viewer v1.31.1.0

aquí igual

¿Quizás recurrir a CanvasRenderer en tal caso?

¿Qué diablos, esto está sucediendo en Win10 con Chrome actual, alguna pista nueva sobre cómo resolver esto? Funciona incluso en Internet Explorer :)

@ alberto2000 ¿qué GPU tienes?

@mrdoob era una tarjeta Radeon y reinstalar los controladores lo resolvió.

obteniendo esto también, no a menudo pero ocasionalmente.

SO
Mac OS 10.11.6
Navegador
Cromo 54.0.2840.98

Para cualquiera que lea esto en 2017, lo arreglé en mi MacBook Pro a finales de 2011 al deshabilitar el cambio automático de la tarjeta gráfica de ahorro de energía para forzar que la GPU de alto rendimiento se haga cargo todo el tiempo.

Todavía veo que estos provienen de los registros de nuestro servidor. El más reciente fue de:
SO: Windows 10
Navegador: Chrome 55.0.2883.87

Nota: estamos ejecutando la versión r74 (hasta que el problema de niebla que se resolvió recientemente se combine en una nueva versión 👍)

Nota: estamos ejecutando la versión r74 (hasta que el problema de niebla que se resolvió recientemente se combine en una nueva versión 👍)

¿Qué problema con la niebla?

¡Ah, ya veo!

Activar "usar aceleración de hardware donde esté disponible" en la configuración avanzada de Chrome solucionó mi problema

Vi este error aparecer en el sistema de seguimiento de errores que utilizo. En caso de que sea útil, aquí está la información del sistema para el usuario que tuvo un error capturado por el rastreador:

Usuario-Agente: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 56.0.2924.87 Safari / 537.36
Sistema operativo: Mac OS X 10.12.3
Navegador: Chrome 56.0.2924

Y esto es lo que el rastreador de errores capturó en la consola:

THREE.WebGLRenderer 84
THREE.WebGLRenderer: Error creating WebGL context.
TypeError: Cannot read property 'getExtension' of null

A esa información del sistema le faltan los detalles de la tarjeta gráfica para que sea completamente útil.

Tarjeta gráfica: Intel HD Graphics 4000 1024 MB

Pude hablar con el usuario que encontró este error y me transmitieron la información de la tarjeta gráfica anterior. ¡Espero que ayude! ¡Gracias!

@kenrussell ¿Está disponible la Intel HD Graphics 4000? En realidad, ¿existe una lista pública de tarjetas gráficas en la lista negra?

@mrdoob No, el Intel HD 4000 no está en la lista negra.

Necesita el contenido de about: gpu (se prefiere texto sin formato, solo copiar / pegar) para diagnosticar problemas como este.

Si la tarjeta está en la lista negra, la razón se describirá en esa página.

Estos dos archivos describen qué GPU están en la lista negra y cuáles tienen aplicadas soluciones alternativas para errores de controlador.

https://cs.chromium.org/chromium/src/gpu/config/software_rendering_list_json.cc

https://cs.chromium.org/chromium/src/gpu/config/gpu_driver_bug_list_json.cc

Sin embargo, tenga en cuenta que se está realizando una refactorización, por lo que es probable que estos dos archivos sean reemplazados por archivos .json en el mismo directorio en la próxima semana o dos. Ver http://crbug.com/691703 .

Yo tengo el mismo error...
Parece que Intel HD 2000 está en la lista negra en Chrome 58.0.3029.81 (64 bits), Ubuntu 14.04
Configuré chrome: // flags / --ignore-gpu-blacklist; y funciona bien.

Si es de alguna ayuda para cualquiera que vea esto desde un ángulo diferente. Recibo este error cuando intento montar un componente de reacción que contiene TRES bits y bobs cuando intento probarlo.

Lo estoy haciendo como no comprobable por el momento.

@YoneMoreno No veo un Error creating WebGL context. en su número. ¿Qué te hace pensar que estás teniendo el mismo problema?

¿Por qué esta cerrado? Parece que mucha gente todavía está experimentando este problema.

@nicolethenerd Desafortunadamente, no hay nada que podamos hacer en la biblioteca.

Podría agregar un mensaje de error más útil. Al hojear este hilo, es difícil tener una idea de cuál fue realmente la resolución: la gente afirma haber resuelto esto cambiando algunas banderas diferentes.

Si la solución es más complicada de lo que cabe en un mensaje de error, haga que el mensaje se vincule a una página de preguntas frecuentes que explique el problema y recomiende qué banderas establecer según su navegador.

Si este es un error común que no se puede resolver reparando la biblioteca, ¿tal vez agregarlo a una sección de preguntas frecuentes del sitio de demostración?

@nicolethenerd Si no recuerdo

La tarjeta gráfica es solo una de las razones por las que no se puede crear el contexto. No quisiéramos agregar un mensaje que pudiera ser engañoso.

Quizás podríamos empezar a recopilar motivos.

Sin embargo, no deberíamos recomendar a los usuarios que deshabiliten las listas negras. Si estas tarjetas gráficas han sido incluidas en la lista negra es debido a errores y / o razones de seguridad.

Vi esta respuesta cuando tenía demasiadas pestañas con escenas WebGL abiertas al mismo tiempo.

El mismo error para mí con Version 72.0.3626.121 (Official Build) Arch Linux (64-bit) . Funciona con Firefox 65.0.1 en el mismo sistema operativo.

GPU: NVidia 2080TI.

Asegúrese de que esta opción esté seleccionada en su configuración de Chrome.
screen shot 2016-02-09 at 1 59 46 pm
Después de reiniciar la configuración de cromo, WebGL funciona correctamente como antes.
Buena respuesta.

Error: no se pudo crear el contexto de WebGL: no se pudo crear el WebGL:

  • GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: ¡0 es <8!

Lo estoy obteniendo ahora, en Firefox 74. He forzado webgl.force-enabled = true en la configuración, habilitado la aceleración de hardware, nada. Me funcionó muy bien en el 66, pero supongo que su actualización "cuántica" se rompió casi con todo, incluido Webgl para mí.

Asegúrese de no llamar al inicializador de contexto WebGL desde un oyente (por ejemplo, intente escribirlo dentro de su función init con una bandera booleana para evitar que se repita o indique gl como variable global). El primero funcionó para mí y muestra el contexto correctamente.

EDITAR: En realidad, terminé encontrando el lienzo de WebGL dentro del renderizador (THREE.WebGLRenderer). Usé el método canvas renderer.getContext (). Canvas y agregué el oyente webglcontextlost, que a su vez llamó a la función handleContextLost con init ().

function handleContextLost() {
    event.preventDefault();
    cancelAnimationFrame(requestId)
    init();
}

canvas.addEventListener("webglcontextlost", handleContextLost, false)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

scrubs picture scrubs  ·  3Comentarios

fuzihaofzh picture fuzihaofzh  ·  3Comentarios

filharvey picture filharvey  ·  3Comentarios

makc picture makc  ·  3Comentarios

clawconduce picture clawconduce  ·  3Comentarios