SurfaceView против пользовательского вида (продлен с вида). Поверхность Просмотров медленнее, почему?

StackOverflow https://stackoverflow.com/questions/3527928

Вопрос

Я написал ту же программу два способа.

Один с использованием поверхности просмотра, а другой использует пользовательский вид. Согласно руководству по разработке Android SDK, использование поверхностного представления лучше, потому что вы можете создавать отдельный нить для обработки графики. Руководство по разработке SDK утверждает, что использование пользовательского представления с недействительными вызовами предназначены только для более медленной анимации, менее интенсивной графики.

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

Что вы, ребята, знаете / думаете об этом?

Мой код TouchEvent является точно такой же, и мой код чертежа точно такой же. Единственное отличие состоит в том, что все это в пользовательской интернет-пользовательской интернет-пользовательской интерфейсы, а другой использует протектор для обработки рисунка.

Это было полезно?

Решение

SurfaceView позволяет работать на 2 буфере для рисования, как насчет вашего пользовательского представления?

Еще одна вещь: вы упомянули, что Док говорит invalidate Работает быстро на более медленных анимации / менее интенсивной графике. Насколько напряжена ваше «простое приложение»? Вы должны попытаться сделать стресс-тест, а также принять участие, как один поток обрабатывает ваш сенсорный вход.

У меня есть 3 нити в моей игре. Один для игры логика, один для рисования, а затем «нормальный» нить UI ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top