Estou trabalhando em um jogo em que quando 2 objetos se encontram, 1 absorve o outro e crio um efeito de absorção usando um contêiner de partículas e alguns sprites. No entanto, se eu tiver muitos desses efeitos na tela de uma vez, isso cria uma explosão psicodélica infinita, o que é incrível, mas não é exatamente o que eu queria. No entanto, se eu mudar de um particleContainer para um container normal, o problema desaparece. Além disso, o problema só acontece se houver uma tonelada de recipientes de partículas na tela por vez. Se houver menos, isso não acontece.
Atualização: Na verdade, ainda acontece com o contêiner de pixi regular quando o jogo é executado em um navegador móvel, talvez um problema de limite de memória?
Esta é minha hierarquia de visualização para cada efeito:
PIXI.Container // Effect main container. Gets scaled/positioned
PIXI.Sprite // This is an overall glow
PIXI.particles.ParticleContainer // This is the streaks effect
PIXI.Sprite[] // Individual streak of light. Gets rotated and alpha'ed
Aqui está um gif de como deve ser:
E aqui está um dos problemas:
pixi.js
version: _ex. 4.8.1Isso não é um bug, é um recurso!
Acontece que sou apenas burro nesse caso. Depois de perseguir algumas pistas falsas, descobri que o parâmetro de intensidade dos meus efeitos estava incorretamente vinculado à taxa de quadros em um esforço para fazê-los desaparecer mais rápido se o jogo estivesse atrasado. No entanto, minha matemática estava errada e realmente os fez aumentar de intensidade, o que atrasou o jogo ainda mais, iniciando um ciclo vicioso. A propósito, descobri que os contêineres regulares parecem ter um desempenho ligeiramente superior do que os contêineres de partículas em meu caso de uso.
Este tópico foi bloqueado automaticamente, pois não houve nenhuma atividade recente depois que ele foi fechado. Abra um novo problema para bugs relacionados.
Comentários muito úteis
Acontece que sou apenas burro nesse caso. Depois de perseguir algumas pistas falsas, descobri que o parâmetro de intensidade dos meus efeitos estava incorretamente vinculado à taxa de quadros em um esforço para fazê-los desaparecer mais rápido se o jogo estivesse atrasado. No entanto, minha matemática estava errada e realmente os fez aumentar de intensidade, o que atrasou o jogo ainda mais, iniciando um ciclo vicioso. A propósito, descobri que os contêineres regulares parecem ter um desempenho ligeiramente superior do que os contêineres de partículas em meu caso de uso.