Как часто перерисовывается ImageView. GPU Overdraw

275
15 марта 2017, 17:00

Есть 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 . Может не очень часто, а красным подсвечивается потому что время начала одного кадра в доп потоке и время начала обновлений экрана главным потоком не совпадают. А эта Функция которая подсвечивает экран , начинает отсчет кадра с того момента ее запуска. В общем хотелось бы пояснений

READ ALSO
Swing, при повторном открытии окна не четкое отображение

Swing, при повторном открытии окна не четкое отображение

Здравствуйте, я только учу swing, и столкнулся с проблемой,есть приложение,в котором нажимаешь на кнопку и открывается окно с регистрациейПри...

211
Поиск глубины дерева в Java

Поиск глубины дерева в Java

Мне нужно создать дерево, и найти сумму которая ровняется умножению каждой вершины дерева на глубинуУ меня есть два класса Node и Main

340
добавить картинку как фон в swing

добавить картинку как фон в swing

Добрый день! необходимо заменить стандартный фон в swing на картинку, не могу разобраться как это сделать, буду благодарен за помощь

452
Пытаюсь нарисовать линию, а она черного цвета всегда libgdx

Пытаюсь нарисовать линию, а она черного цвета всегда libgdx

Указал цвет "ЦИАН", а он черную рисует, если сделать размеры меньше, то рисует того цвета, но мне нужно на всю длину экрана

313