User Tag List

Показано с 1 по 10 из 526

Тема: Новый принцип устранения клешинга

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от inozemcew Посмотреть сообщение
    Не будут. В оригинале же не мигают. Значит авторы игрухи уже позаботились, чтобы отрисовка шла в нужный момент.
    в оригинале на экран выводиться уже совмещенные значения

    тут же будут выводится сначала фон в слой фона
    а это по вашему уже должно будет стирать более верхние слои спрайтов

    а потом только будут рисоваться сами спрайты


    а если луч пройдет по еще не отрисованому спрайту
    а отрисовка фона уже идет(стирающая все в верхних слоях)
    вот тебе и мигание

    посмотри 99% игр для Львов ПК01
    и как выглядеть это уныние

    хотя если выводить строку фона туда строку спрайта туда
    вероятность встретится с лучом будет низкой
    но это сильное замедление
    мало того что куча out-ов в порт маски
    так еще и куча смен слоя туда сюда

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    18.09.2008
    Адрес
    Донецкая обл.
    Сообщений
    95
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    в оригинале на экран выводиться уже совмещенные значения
    Совмещенные значения ЧЕГО с ЧЕМ?

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а это по вашему уже должно будет стирать более верхние слои спрайтов
    а потом только будут рисоваться сами спрайты
    Хорошо. Давайте рассмотрим процесс поподробнее. Что нам нужно? - Нам нужно убрать спрайт на старом месте и нарисовать на новом.
    Как обычно убирается спрайт в обычных спековских играх? Есть несколько распространенных методов.
    Если спрайт выведен по XOR, то нужно еще раз сделать XOR - делаем это в слое спрайта, фон тут не затрагивается вообще.
    Второй вариант - фон под спрайтом запоминается где-то в буфере, при стирании возвращается на место. Значит перед выводом спрайта переключаем слой. Старая процедура честно сохраняет нули из слоя спрайта в буфер, считая это фоном. А потом при стирании также возвращает эти нули на место. Сам фон опять не затрагивается.
    Третий вариант - спрайт стирается перерисовкой куска фона из буфера фона и затем рисуется на новом месте. Тоже принципиально ничего не меняем. Старая процедура честно пытается восстановить кусочек фона, при этом стирая спрайты над ним, и потом рисует спрайты заново в новом месте.

    То, что при наложении маски читается фон, на него накладывается маска и т.д. - теряет свое первоначальное значение. То, что старая процедура вывода принимает за фон, на самом деле нули из слоя спрайтов, вот в чем вся хитрость. Если маскированные спрайты не накладываются друг на друга в одном слое - маску достаточно выбросить в порт маски, не нужно ни читать старое значение, ни делать AND и т.п, так как старое значение === нули из слоя спрайтов. Это кстати освобождает место и такты для вывода маски в порт.

    Как видите ничего принципиально не меняется. Если оно мерцало до, будет мерцать и после. А если не мигало, то зачем ему мигать?

  4. #3

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,347
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от inozemcew Посмотреть сообщение
    Старая процедура честно пытается восстановить кусочек фона, при этом стирая спрайты над ним
    Не совсем понятно. Перерисовываем фон, включен нулевой слой. И при этом стираются байты в слоях с 1 по 7 ???
    Возможно придётся код перерисовки фона переписать в код обнуления в слое стираемых спрайтов.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 43
    Последнее: 03.10.2015, 07:09
  2. принцип переключения адресных страниц в ПЗУ
    от Руслан в разделе Несортированное железо
    Ответов: 11
    Последнее: 10.04.2013, 16:50
  3. AY принцип формирования сигнала.
    от Руслан в разделе Звук
    Ответов: 5
    Последнее: 29.03.2013, 17:08
  4. Принцип работы M1 на Scorpion
    от TmK в разделе Программирование
    Ответов: 8
    Последнее: 17.08.2009, 15:40

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •