Three.js: Debug-Meldungen deaktivieren?

Erstellt am 6. Sept. 2015  ·  6Kommentare  ·  Quelle: mrdoob/three.js

Ich arbeite derzeit an einem Projekt, bei dem viele Ebenengeometrien in einem einzigen Netz kombiniert werden.

Wenn ich versuche, meinen Code zu debuggen, kann ich die Konsole während des Ladens nicht geöffnet lassen, da die Debug-Meldungen "THREE.PlaneGeometry: Verwenden Sie THREE.PlaneBufferGeometry für geringeren Speicherbedarf." spammen Sie die Konsole und verlangsamen Sie das Laden des Codes, indem Sie ihn in der Konsole anzeigen.

Es hängt an einem anderen Problem, aber ich kann die Konsole nicht öffnen, um die Fehler anzuzeigen, nachdem die Seite aufgrund des anderen Problems eingefroren wurde. Außerdem kann ich die Konsole beim Laden nicht geöffnet lassen, da sie meine Ladezeit durch das Drucken der Warnmeldungen drastisch verlangsamt :P

Kann ich diese Meldungen irgendwie deaktivieren? Ich habe versucht, einfach PlaneGeometry auf PlaneBufferGeometry umzustellen, aber das hat andere Fehler in meinem Code verursacht, mit denen ich mich jetzt nicht befassen möchte. Außerdem mache ich mir derzeit keine Sorgen um den Speicher, derzeit muss ich nur eine funktionierende (stabile oder instabile) Version meines Projekts in ein paar Tagen haben, um sie meinem Chef zu präsentieren.

Suggestion

Hilfreichster Kommentar

Ich werde diese Diskussion nicht fortsetzen, weil ich denke, dass ein Konsens erreicht wurde, aber ich sage nur:

Es ist sehr nützlich für alle anderen, die sich Ihre App ansehen, indem sie sich die Konsole ansehen, die mit Three.js erstellt wurde, und die Version.

Ich verwende Vue, Moment, jQuery, Bootstrap, und keiner von ihnen hält es für notwendig, obligatorische Nachrichten in der Konsole zu protokollieren.

Alle 6 Kommentare

Ich bin mir nicht sicher, ob es möglich ist, die Protokolle zu deaktivieren, aber es sollte wahrscheinlich sein, da Sie dies in Produktionsversionen nicht möchten. (Vielleicht kümmern sich Minifier darum - weiß nicht)

Als Workaround können Sie die Funktion console.log beim Laden Ihrer Meshes überschreiben und dann zurücksetzen, wie:

var oldLogFunction = console.log;

console.log = function(){}; // noop

// ... load meshes

console.log = oldLogFunction; // reset console.log

// ... perform debugging

Das funktioniert gut, beachte nur, dass es in diesem Fall console.info ist :)

Ich stimme dem zu, was Sie zur Produktionssache sagen. Ich habe meinem Partner bei diesem Projekt erzählt, was passiert ist, und er war überrascht, dass es keine Möglichkeit gab, die Protokollnachrichten zu deaktivieren

+1 dazu. Ich arbeite an einem Befehlszeilentool, das ein PNG auf stdout ausgibt, und das Überschreiben von console.log ist kein Problem, aber es ist ein bisschen eine Warze.

Die spezielle Nachricht, mit der ich ein Problem habe, ist diese . Es scheint, als würde in diesem speziellen Fall das Hinzufügen einer Option wie quiet zum Konstruktor ausreichen. Aber es wäre natürlich besser, etwas Allumfassenderes zu haben, denke ich...

@crabmusket persönlich denke ich, dass diese Nachricht immer angezeigt werden sollte. Es ist sehr nützlich für alle anderen, die sich Ihre App ansehen, indem sie sich die Konsole ansehen, die mit Three.js erstellt wurde, und die Version. Betrachten Sie es als ein bisschen Werbung, die Sie für die Nutzung dieser kostenlosen Bibliothek ertragen müssen 😉

In Bezug auf das ursprüngliche Problem denke ich, dass sowieso keine console.info-Meldungen mehr angezeigt werden, also kann dieses Problem vielleicht geschlossen werden? @mrdoob @Mugen87

Ich werde diese Diskussion nicht fortsetzen, weil ich denke, dass ein Konsens erreicht wurde, aber ich sage nur:

Es ist sehr nützlich für alle anderen, die sich Ihre App ansehen, indem sie sich die Konsole ansehen, die mit Three.js erstellt wurde, und die Version.

Ich verwende Vue, Moment, jQuery, Bootstrap, und keiner von ihnen hält es für notwendig, obligatorische Nachrichten in der Konsole zu protokollieren.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen