Three.js: Three.js wird im WebKit-Browser nicht angezeigt (Chrome, Safari)

Erstellt am 5. Aug. 2011  ·  48Kommentare  ·  Quelle: mrdoob/three.js

Hallo!

Wenn ich http://mrdoob.github.com/three.js/examples/webgl_panorama_equirectangular.html in Chome 13.0.782.107 oder Safari Version 5.0.5 (6533.21.1) auf einem Mac OSX 10.6.7 öffne, erhalte ich die die folgenden Fehler:

Three.js:294:: Error creating WebGL context.
Three.js:294:: Uncaught TypeError: Cannot call method 'clearColor' of null
Three.js:294:: THREE.WebGLRenderer
webgl_panorama_equirectangular.html:66:: init
webgl_panorama_equirectangular.html:49:: (anonymous function)

Wenn ich es in Firefox 5.0.1 öffne, ist alles in Ordnung. Kann jemand dieses Problem bestätigen?

Vielen Dank!

Question

Hilfreichster Kommentar

IT_Crowd_Helpdesk_by_surlana

Alle 48 Kommentare

Passiert das nur mit diesem Beispiel?

Dieser Fehler tritt auch unter http://svc.sl.marvulous.co.uk/raw2sculpt.html auf

Das gleiche gilt für Google Chrom V14.0.835.202

Fehler beim Erstellen des WebGL-Kontexts.
Nicht gefangener TypeError: Die Methode 'clearColor' von null kann nicht aufgerufen werden

Jemand aus meinem Team bekommt diesen Fehler auch mit Chrome, aber in unserer Basisanwendung (die derzeit ein einfacher weißer Bildschirm ist).

Als ich ihn bat, eine der ThreeJS-Demos zu öffnen, gab es die "Ungültige Grafikkartennachricht" (und ich denke, das ist ein korrektes Verhalten). Da Firefox jedoch keinen Fehler auslöste, bat ich ihn, genau dieselbe Demo zu laden (es war die Minecraft-Demo), und diesmal hat der Browser gehangen (keine Meldung "Ungültige Grafikkarte").

Ich weiß nicht, ob es dir helfen könnte ...

Vielleicht liegt es daran, dass die Textur größer als 4096x4096 ist? Ich denke, alte Grafikkarten (oder neue, aber beschissene) können damit nicht umgehen. Kann jemand bestätigen?

Oh! Und ... passiert es in Chrome und Safari, aber nicht in Firefox?

Er ist unter Linux, also hatten wir Safari nicht ausprobiert.

Chrome: Werfen Sie den folgenden Text und drucken Sie "Ungültige Grafikkarte" auf den Bildschirm
Firefox: kein Fehler, hängen Sie während der WebGL-Ausführung ab (wir mussten Firefox pkill)

Three.js:294:: Error creating WebGL context.
Three.js:294:: Uncaught TypeError: Cannot call method 'clearColor' of null

Zeigt ein anderes Beispiel diesen Fehler?

Welches Zeug siehst du hier?

http://alteredqualia.com/tmp/webgl-maxparams-test/

Funktionieren WebGL-Demos, die nicht mit three.js erstellt wurden?

Der WebGL MAX-Parameter mit Firefox: http://pastebin.com/cF37iLes

Ich kann diese Seite nicht mit Chrome ausführen. Ich habe einen Fehler:
Nicht erfasster TypeError: Die Eigenschaft 'MAX_VERTEX_ATTRIBS' von null kann nicht gelesen werden

Mit Firefox kann ich andere WebGL-Démo ansehen. Es funktioniert ohne Einfrieren (außer den Minecraft-Demos).

Die gleichen Ergebnisse wie Arcanin und Damoun unter Chrome 15.0.874.106 unter Mac OS X 10.7.2 mit einer Radeon 5870 erzielen. Firefox 7.0.1 auf demselben Computer funktioniert ordnungsgemäß.

Gleiches gilt für Blocky Earth (http://www.clicktorelease.com/code/blocky_earth/) unter Chrome 15.0.874.106 unter MacOS X 10.6.8 mit ATI Radeon HD 2600 Pro. Funktionierte gut in Firefox 7.0.1 (obwohl gesagt wurde, dass Firefox 9+ benötigt wird)

Und dreht sich der Würfel hier bei diesen Setups?

Es scheint, dass es nicht nur WebGL mit Problemen auf Macs ist:

http://twitter.com/#!/oosmoxiecode/status/131711805243400192

Seltsam, dass Firefox in Ordnung läuft.

Chrome funktioniert nicht mit dem Tutorial für den Einstieg.
aber Firefox kann

Der Fehler, den SinoBoeckmann im August beim Besuch der URL beschrieben hat, wird weiterhin angezeigt: http://mrdoob.github.com/three.js/examples/webgl_panorama_equirectangular.html

Es ist jetzt Dezember 2011 und in Safari 5.1.2 am 10.7.2 sehe ich den gleichen Fehler mit r46 von Three.js

Ich sehe den Fehler nicht in Chrome 16.0.92.

Gab es eine Lösung, die ich verpasst habe?

Wir werden versuchen, dieses "Problem" für r47 zu beheben.

Ich stoße jetzt auf dieses Problem. Bis vor wenigen Wochen hat alles gut funktioniert. Es scheint, dass Chrome dies stillschweigend aktualisiert hat, was das Problem für mich verursacht. Ich laufe 16.0.912.75

Unter Firefox 8.0.1 wird ein Kontext erstellt, aber klar funktioniert nicht.

@arodic hast du mehr details? Erhalten Sie das Problem mit allen Beispielen?

Ja, es war mit allen Beispielen, aber jetzt funktioniert es (nachdem ich Chrome neu gestartet habe). Seltsam ...

Magie! :) :)

Für die Aufzeichnung basiert dies auf Intel integrierten Grafiken mit den Mesa-Treibern, es ist anfällig für Abstürze, so dass Chrome Webgl ausschaltet. http://code.google.com/p/chromium/issues/detail?id=76703

Beim Ausprobieren der Dema-Anwendung mit der Kugel in der Szene wird außerdem die folgende Fehlermeldung angezeigt:

Fehler beim Erstellen des WebGL-Kontexts.
Nicht gefangener TypeError: Die Methode 'getExtension' von null kann nicht aufgerufen werden

Dieses Vorkommen in Chrom 22.0.1229.94 Ubuntu 12.10 (161065) auf Lubuntu 12.10

selbes Problem hier:

Fehler beim Erstellen des WebGL-Kontexts.
Nicht gefangener TypeError: Die Methode 'getExtension' von null kann nicht aufgerufen werden

MacBook4,1 OS X 10.6.8
Chrome ver. 23.0.1271.64

WebGL Paramtest:
VERSION: WebGL 1.0 (OpenGL ES 2.0 Chromium)
SHADING_LANGUAGE_VERSION: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chrom)

nur zur Aufzeichnung (;

übrigens. Kannst du die Antwort nicht nach oben bewegen? ist es möglich?

Das gleiche Problem läuft auf Chromium Portable auf dem alten Dual-Core-Laptop meines Vaters. Wenn Sie Chromium Portable auf meinem neuen Computer ausführen, ist alles in Ordnung und mindestens 10 fps schneller als in Chrome.

Error on Chromium

Screenshot
Heh, ich habe heute den gleichen Fehler! Gestern hat alles reibungslos funktioniert und an meinem Code wurde nichts geändert. Der Canvas 3D-Kontext kann aus irgendeinem Grund nicht initialisiert werden.

Ich bin auf Ubuntu 12.10 32 Bit mit Intel Mesa-Treiber und deaktivierter Chrome GPU Blacklist
Chrome-Version 24.0.1312.69

Haben Sie versucht, den Browser neu zu starten?

Ich habe diesen Fehler vor einer Minute erhalten:

Error: Cannot call method 'getExtension' of null
at initGL (http://.../three.js:24868:34)
at new THREE.WebGLRenderer (http://.../three.js:17693:2)

Chrome (Version 24.0.1312.57 m) wurde neu gestartet und es ging weg. Es war kein Update von Chrome ausstehend. Seltsam, aber besorgniserregend.

Ich verwende OSX 10.8.2. Meine Demo funktioniert in Google Chrome (24.0.1312.57) und Firefox (18.0.2), jedoch nicht in Safari (6.0.2). Die Demo finden Sie hier: http://www.timseverien.nl/random/seismomap/

PS. Das Neustarten von Safari funktioniert nicht.

Schermafbeelding 2013-02-13 om 12 16 50

@timseverien Welche Version von three.js verwenden Sie? Funktionieren andere Webgl-Inhalte auf Ihrer Safari-Installation?

Hey, ein Neustart des Browsers hilft auch in meinem Fall nicht.

Aber nachdem ich das gesamte System neu gestartet hatte, ging es durch und funktioniert jetzt so, als ob es vorher voll funktioniert hätte.
Sieht aus wie eine Panne in der Browser-WebGL -> Grafiktreiberkette.

IT_Crowd_Helpdesk_by_surlana

@mrdoob nach erneuter Überprüfung unter http://get.webgl.org/ scheint es sich um einen Safari-Fehler zu handeln. Warum eine Funktion implementieren, die nicht funktioniert? Na ja, ich laufe r55, wenn es noch wichtig ist. Danke trotzdem!

sieht aus wie Chrome Bug, konnte es heute wieder reproduzieren.
Auf http://get.webgl.org/ überprüft und es schlägt fehl. Verdammt...

Hallo! Das erste Mal mit WebGL und Three.js und ich finde es fantastisch, aber wenn Sie das Beispiel vom Anfang der Seite schreiben, funktioniert es nur in Chrome, wenn Sie renderer = new THREE.CanvasRenderer(); . Wenn ich renderer = new THREE.WebGLRenderer(); , funktioniert es nur in Firefox. Ich habe den Test in den letzten Versionen beider Explorer unter Ubuntu durchgeführt. Vielleicht ist es nur ein Problem mit meiner Grafikkarte, aber ich sage es hier nur für den Fall.

Ich habe ein Update für Chrome und Chromium gefunden.
Geben Sie in die Positionsleiste chrome: // flags ein und aktivieren Sie die Option Software-Rendering-Liste überschreiben . Starten Sie dann den Browser neu. WebGL sollte jetzt funktionieren.

Es funktioniert!! Schließlich. Vielen Dank, denn es war wirklich frustrierend, nicht mit Chrome unter Ubuntu arbeiten zu können :)

Aber ich denke, Sie müssen auch GPU compositing on all pages da in anderen Fällen einige Seiten nicht richtig gerendert werden. Zumindest in meinem Fall.

ja, vielleicht hilft das auch. Ich habe fast alles aktiviert, was ich im Zusammenhang mit GPU-Rendering finden konnte, haha.

Ich erhalte den gleichen Fehler wie https://github.com/mrdoob/three.js/issues/404#issuecomment -13455310

Update: Für mich funktioniert es jetzt in Chrome. (Februar 2014)

Immer noch reproduziert

@AlexTiTanium Möchten Sie einige Details

Ich hatte gerade das gleiche Problem mit einer App, an der ich vor einigen Wochen / Monaten gearbeitet habe, und heute habe ich die gleiche Nachricht erhalten wie https://github.com/mrdoob/three.js/issues/404# Issuecomment -13455310

Ich habe versucht, (unter anderem) "GPU-Compositing auf allen Seiten" in Chrome-Flags zu aktivieren, jetzt funktioniert es wieder.

Ich habe ein MacBook mit 10.6.8 und Chrome 33.0.1750.152 und erhalte den gleichen Fehler. Firefox 28.0 meldet einen ähnlichen Fehler: "Fehler: WebGL: Es kann kein verwendbarer WebGL-Kontext abgerufen werden. TypeError: _gl ist null. Fehler beim Erstellen des WebGL-Kontexts."

Interessanterweise habe ich ein anderes MacBook (diesmal Pro), auf dem dieselben Versionen von OSX und Chrome ausgeführt werden, und es funktioniert dort einwandfrei ("Software-Rendering überschreiben" und "GPU-Compositing" sind auf beiden aktiviert).

@zeepeeare Ich denke, Sie müssen auf diesem Computer auf eine neuere Version von OSX aktualisieren. Es geht darum, dass Browser einige Konfigurationen aufgrund veralteter Grafiktreiber auf die schwarze Liste setzen.

Gut! hier ist das Ding. Chrome aktiviert standardmäßig keine Hardwarebeschleunigung auf einem Mac-Gerät. Sie müssen zur Chrome-Einstellung gehen und diese aktivieren. Schauen Sie sich auch chrome: // gpu / als Referenz an.

"Ich habe eine Lösung für Chrome und Chromium gefunden.
Geben Sie in die Positionsleiste chrome: // flags ein und aktivieren Sie die Option Software-Rendering-Liste überschreiben. Starten Sie dann den Browser neu. WebGL sollte jetzt funktionieren. "- cipri-tom

Das hat bei mir funktioniert, danke.

Chrome, Ubuntu 15.04

Ubuntu 16.04

Dies geschah plötzlich für mich nach der Installation von Java und Android SDK. Ich glaube nicht, dass es verbunden ist, aber wer weiß ...

@DoisKoh Antwort hat es behoben, aber meine Bewerbung wurde viel langsamer als es war.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen