Есть View на котором рисуется игровая ситуация и поверх этой view вверху экрана еще несколько мелких Imageview . Вот тот самый view
<view
class="example.igeniy.MainGamePanel"
android:id="@+id/surface"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isIndicator="true">
</view>
В методе onDraw заливается экран полностью цветом фона, рисуются все персонажи и вызывается метод интерфейса , который в эти imageView передает изображения. imageView.setImageBitmap(myArray[1]);
Вроде получается что за кадр всё перерисовыывается один раз. Но включив в телефоне "Подсвечивать области экрана при отрисовке с GPU" подсвечивается красным эти мелкие imageView (значит более 4 раз отрисовываются одни и те же пиксели за кадр согласно статье https://xamdev.ru/layout-performance-on-android/ ) В Статье дано определение: Overdraw - значение, сообщающее нам о том, сколько раз один и тот же пиксель отрисовывается в течение кадра. Я не понимаю почему вообще в течении кадра один пиксель отрисовывается более одного раза ? Поразмыслив прихожу к выводу ,что раз я передаю в imageview изображения с частотой в 60 FPS из доп.потока, (заметьте , в методе onDraw остальное все рисуется на канве, а ImageView только присваивается значение. Рисует эти ImageView как я понимаю уже главный поток. Не известно с какой частотой он обновляет эти imageview . Может не очень часто, а красным подсвечивается потому что время начала одного кадра в доп потоке и время начала обновлений экрана главным потоком не совпадают. А эта Функция которая подсвечивает экран , начинает отсчет кадра с того момента ее запуска. В общем хотелось бы пояснений
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости