Pixi.js: Pixi 4 flackert im Silk-Browser

Erstellt am 15. Sept. 2017  ·  11Kommentare  ·  Quelle: pixijs/pixi.js

Beim Ausführen eines Pixel-Beispiels im Silk-Browser auf einem Kindle Fire flackert die Leinwand. Auf anderen Plattformen oder Browsern erleben wir dies nicht.

Sie können es an diesem Beispiel sehen:
https://pixijs.github.io/examples/#/basics/basic.js

Hilfreichster Kommentar

{transparent: true} behebt für mich auch ein Problem im Silk-Browser auf Kindle Fire, ohne die Leistungseinbußen von protectDrawingBuffer - nett :)

Alle 11 Kommentare

Ok, es gibt also einige Schalter, die Sie ausprobieren können:

Zuerst ist "Antialiasing". Ich weiß nicht warum, aber es zwingt Browser als Nebeneffekt, sich anders zu verhalten.

var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb , antialias: true });

Zweitens ist konservativerDrawingBuffer, der die Leistung frisst, aber den Rendering-Prozess ernsthaft beeinträchtigt. Verwenden Sie mit Antialiasing.

var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb , antialias: true, preserveDrawingBuffer: true });

Drittens wird "renderer.gl.flush" aufgerufen, kurz nachdem der Rendervorgang abgeschlossen ist. Hat nichts mit Antialias-Hack zu tun.

Nennen Sie es entweder nach "Render", wenn Sie einen einfachen Renderer verwenden

renderer.render(stage);
renderer.gl.flush();

Hacken Sie entweder die App-Rendermethode

app = new Application(...,. { autoStart: false }) ;
app.render = function() {
    this.renderer.render(this.stage);
    this.renderer.gl.flush();
}
app.start();

Danke, die Änderung perserveDrawingBuffer hat es behoben. Habe es ohne das Antialias-Flag probiert und es hat auch so funktioniert, also habe nur das eine.

Was ist mit einzelnem Antialiasing? Vergessen Sie nicht, dass es einen Leistungseinbußen bei protectDrawingBuffer gibt. Aktivieren Sie es nicht auf anderen Geräten/Browsern ;)

Antialias allein hat das Problem nicht behoben.

Ja, wir haben es auf den Silk-Browser beschränkt. Es ist ein erheblicher Framerate-Hit.

Viel Glück! Schreiben Sie uns weitere Ausgaben!

Was ist mit gl.flush() ? Ich habe dieses Gerät einfach nicht und hoffe, die Antwort zu erfahren, wenn mich jemand fragt.

Ich habe meinen Code geändert, er war nicht korrekt

Sie da,
Ich habe dies auch immer wieder in Chrome bemerkt. Lustigerweise behebt das Hinzufügen von {transparent: true} zum Renderer das Problem für mich.

{transparent: true} behebt für mich auch ein Problem im Silk-Browser auf Kindle Fire, ohne die Leistungseinbußen von protectDrawingBuffer - nett :)

"transparent" hat eine Auswirkung auf die Leistung, ist aber im Vergleich zu konservativenDrawingBuffer gering.

Danke, @mafsays

#4639 wieder öffnen

Ich habe Monate versucht, dieses Problem zu lösen, es war auf Chrome auf Huawei und {transparent: true} hat es gelöst. Vielen Dank

Dieser Thread wurde automatisch gesperrt, da nach dem Schließen in letzter Zeit keine Aktivität stattgefunden hat. Bitte öffnen Sie eine neue Ausgabe für verwandte Fehler.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

finscn picture finscn  ·  3Kommentare

courtneyvigo picture courtneyvigo  ·  3Kommentare

zcr1 picture zcr1  ·  3Kommentare

Darker picture Darker  ·  3Kommentare

softshape picture softshape  ·  3Kommentare