ну кому как
мне с ходу не было понятно какой именно готовить кадр для возвращения видео памяти в исходное положение
пока не нарисовал картинку.
а глядя на нее все очевидно
см картинко
нужно перерисовывать только ОДИН столбец и рисовать всего 1 байт подготавливая кадр для возвращения видеопамяти в исходную позицию
в 2 стороны скролл абсолютно бесконечен (если при старте заполнить вторую часть на случай если мы сразу захотим двигаться назад)
и как мы без перерисовки столбцов вообще получим горизонтальный скролл???
тут нужно рисовать как столбцы так и строки
и как можно уместить это в 2 экрана????
нет ну если он всегда в одну сторону по диагонали то да
память под новый кадр быстро освобождается
а у нас движение во все 4 направления
вот пример
5 движений вправо
3 вниз
Желтый - первая строка видео памяти
Зеленый - вторая строка видео памяти
Красный - запись
1-я цифра в квадрате номер строки, 2-я номер столбца
и да на картинке не дорисованы еще некоторые записи при скролле вниз (в последних двух строках)
или на ней вообще нарисована херня при скролее вниз (там несколько вариантов развития событий)
после 5 скроллов вправо у нас готово следующее изображение для еще одного скролла вправо
но никак не для скроллов вниз
при том я теперь вообще не понимаю как сделать бесконечный скролл во все стороны
если повторять эту последовательность то нужна бесконечная память с таким подходом
как готовить следующий кадр(длв возвращения в исходную позицию) или хотя бы часть его
когда мы не знаем какой именно он должен быть
мы можем двигаться произвольно в 8-ми направлениях
нужно или готовить их несколько или хз что (явно не 2)
периодическую полную перерисовку всех 3К я не допускаю!!!!
это уже не аппаратный скролл
максимум должно быть обновление 4-5 строк\столбцов...





Ответить с цитированием