При запуске примера pixi в браузере Silk на Kindle Fire холст мерцает. Мы не испытываем этого ни на каких других платформах или браузерах.
Вы можете увидеть это на следующем примере:
https://pixijs.github.io/examples/#/basics/basic.js
Итак, есть несколько переключателей, которые вы можете попробовать:
Во-первых, это «антиалиас». Не знаю почему, но это побочный эффект заставляет браузеры вести себя иначе.
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} решил ее. Большое спасибо
Этот поток был автоматически заблокирован, поскольку после его закрытия в последнее время не было никаких действий. Пожалуйста, откройте новую проблему для связанных ошибок.
Самый полезный комментарий
{transparent: true} для меня также устраняет проблему в браузере Silk на Kindle Fire, не влияя на производительность preserveDrawingBuffer - приятно :)