Pixi.js: Pixi 4 мерцает в браузере Silk

Созданный на 15 сент. 2017  ·  11Комментарии  ·  Источник: pixijs/pixi.js

При запуске примера pixi в браузере Silk на Kindle Fire холст мерцает. Мы не испытываем этого ни на каких других платформах или браузерах.

Вы можете увидеть это на следующем примере:
https://pixijs.github.io/examples/#/basics/basic.js

Самый полезный комментарий

{transparent: true} для меня также устраняет проблему в браузере Silk на Kindle Fire, не влияя на производительность preserveDrawingBuffer - приятно :)

Все 11 Комментарий

Итак, есть несколько переключателей, которые вы можете попробовать:

Во-первых, это «антиалиас». Не знаю почему, но это побочный эффект заставляет браузеры вести себя иначе.

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

Во-вторых, preserveDrawingBuffer снижает производительность, но серьезно влияет на процесс рендеринга. Используйте с антиалиасами.

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

Третий вызов - "renderer.gl.flush" сразу после завершения процесса рендеринга. Не имеет отношения к взлому антиалиаса.

Либо назовите его после "Render", если вы используете простой рендерер.

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

Либо взломайте метод рендеринга приложения

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

Спасибо, изменение perserveDrawingBuffer исправило это. Пробовал без флага сглаживания, и он тоже работал, так что используйте только один.

А как насчет одиночных антиалиасов? Не забывайте, что preserveDrawingBuffer снижает производительность. Не включайте его на других устройствах / браузерах;)

Само по себе антиалиас не решил проблему.

Да, мы ограничились только браузером Silk. Это значительное снижение частоты кадров.

Удачи! Напишите нам больше вопросов!

А как насчет gl.flush ()? У меня просто нет этого устройства, и я надеюсь узнать ответ, если кто-нибудь еще спросит меня.

Я изменил свой код, он был неправильным

Привет,
Я тоже замечала это время от времени, в том числе и в Chrome. Как ни странно, добавление {transparent: true} к рендереру исправляет это для меня.

{transparent: true} для меня также устраняет проблему в браузере Silk на Kindle Fire, не влияя на производительность preserveDrawingBuffer - приятно :)

"transparent" влияет на производительность, но мало по сравнению с preserveDrawingBuffer.

Спасибо, @mafsays

Открыть заново # 4639

Я месяцами пытался решить эту проблему, она была в Chrome на Huawei, и {transparent: true} решил ее. Большое спасибо

Этот поток был автоматически заблокирован, поскольку после его закрытия в последнее время не было никаких действий. Пожалуйста, откройте новую проблему для связанных ошибок.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

SebastienFPRousseau picture SebastienFPRousseau  ·  3Комментарии

madroneropaulo picture madroneropaulo  ·  3Комментарии

Makio64 picture Makio64  ·  3Комментарии

gigamesh picture gigamesh  ·  3Комментарии

readygosports picture readygosports  ·  3Комментарии