Недавно у меня возникла проблема с Flash, связанная с постепенным замедлением растеризации графики, поэтому, возможно, здесь может происходить нечто подобное. Замедление обычно происходит, когда системе приходится выполнять слишком много работы. Утечки памяти очевидны, потому что перераспределение и фрагментация памяти никогда не хороши, но учтите это:
Я обнаружил, что забыл назвать «очистить» объект Graphics, поэтому каждый раз, когда я перерисовывал границу спрайта, он рисовал еще один скругленный прямоугольник, а команды рисования накапливались. После нескольких дюжин взаимодействий он рисовал этот заполненный, закругленный прямоугольник в сто раз над собой. Шейдеры, код и т. Д. Занимали менее 1% времени рендеринга, но чрезмерная растеризация убивала мою частоту кадров.
Поэтому я бы предложил проверить такие вещи, как создание объектов, забыть очистить объекты, методы рисования и т. Д. Убедитесь, что система не выполняет ненужную работу или накапливает ненужные операции, а не только объекты памяти.