User Tag List

Результаты опроса: Для какого компьютера и конструктива делать видеокарту "METEOR" ?

Голосовавшие
46. Вы ещё не участвовали в этом опросе
  • "ZXM-PHOENIX" с шиной ZX-BUS без корпуса

    18 39.13%
  • "ЛЕНИНГРАД" с шиной IDC-40 в корпусе

    8 17.39%
  • МОДУЛЬНЫЙ КОМПЬЮТЕР "CHELYABINSK" с шиной ZST-BUS без корпуса

    2 4.35%
  • ОРИГИНАЛЬНЫЙ "ZX SPECTRUM" с шиной ZX-EDGE в корпусе

    9 19.57%
  • "ZX-EVO" с урезанной шиной ZX-BUS без корпуса

    23 50.00%
Опрос с выбором нескольких вариантов ответа.
Страница 23 из 109 ПерваяПервая ... 192021222324252627 ... ПоследняяПоследняя
Показано с 221 по 230 из 1084

Тема: Быстрая видеокарта "METEOR-2013"

  1. #221

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    это нужно делать, если в качестве фона используется полноэкранная картинка
    Таки не нужно, в любом случае при отрисовке всего экрана используется весь фон за исключением мест полностью перекрытых не прозрачными спрайтами, а для этого создавать его дополнительные копии в памяти видеокарты бессмысленно.
    За примерами далеко ходить не надо, достаточно посмотреть как оно устроено в Денди (NES Famicom). На хабре есть несколько статей.
    Последний раз редактировалось Eagle; 16.06.2015 в 14:01.

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  2. #222

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Таки не нужно, в любом случае при отрисовке всего экрана используется весь фон за исключением мест полностью перекрытых не прозрачными спрайтами, а для этого создавать его копии в памяти видеокарты бессмысленно.
    Что значит при отрисовке всего экрана? Если мы говорим про классическую схему решения, тогда получается, что мы кидаем в карту сначала фоновую картинку, потом кидаем спрайты. Не важно, есть прозрачность у спрайта или нет. прозрачность у спрайта это всего лишь некая не выводимая область. Сейчас на 128м экране для этого используется маска. "Там" в качестве маски используют цвет с некоторым кодом. Чаще всего это цвет с кодом 0xff00ff. Для нас подходит вариант, когда цвет с кодом 0xff не подлежит выводу. Таким образом в рамках одного файла мы делаем и спрайт и маску для него. И вот наступил момент вывода - карточка при выбрасывании данных в видео память, всё что с кодом 0xff будет игнорировать. При этом все остальные данные будут записаны и они затирают ранее записанные данные фона. Это верно для одноплановых движков. Если у карточки будет несколько планов, тогда можно условится, что фоновую картинку мы выводим как план0, всё остальное выводим как план1. Тогда конечно, фон сидит в своей видеообласти, спрайты в своей. Если никаких планов нет и вся видеообласть это по сути и есть весь экран, тогда любая запись туда будет затирать прошлую запись. иначе будет требоваться предварительное сохранение. Второй вариант который не требует процедуры сохранения фона, но требует его восстановления, это делать параллельный буфер в памяти карты, с который данные будут записываться параллельно записи в видео память. Тогда для восстановления достаточно будет прочитать данные из этого буфера по нужным координатам и записать в те же координаты в видеопамять. Другие какие-либо экзотические варианты будут сильно усложнять схему карты, её сборку и увеличивает её стоимость.
    Последний раз редактировалось Sayman; 16.06.2015 в 14:10.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  3. #223

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Что значит при отрисовке всего экрана?
    Это когда байты из памяти попадают в сдвиговые регистры для вывода их на монитор...

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  4. #224

    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    415
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поддерживаю, 15 битовость ОЗУ экрана и 4-битные спрайты (с палитрой) - хорошая идея.


    Но, как правильно тут уже было замечено, если у нас одна палитра 256 цветов, то и мы будет ею ограничены в 256 возможных цветов.

    Предлагаю простое решение:
    перед игрой:
    - в ОЗУ видео карты вливаем нужное количество палитр, (хоть 10) и спрайты к этим палитрам
    в игре:
    - даём команду видео-карте "загрузить палитру в чип", ПЛИС загружает палитру к себе в набортную память
    (параметр команды: адрес палитры в видео-памяти откуда загружать)
    - отображаем все спрайты, которые юзают 1 палитру
    - опять посылаем видюхе команду "загрузить палитру в чип", ПЛИС загрузит себе на борт уже вторую палитру
    - отображаем все спрайты, которые юзают 2 палитру
    и т.д. хоть 10 палитр

    Т.е. можем любую палитру "акивировать" в любое время.
    Последний раз редактировалось Valen; 16.06.2015 в 14:14.
    V6Z80P - Back for Good

  5. #225

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    ---------- Post added at 14:15 ---------- Previous post was at 14:09 ----------

    Цитата Сообщение от Valen Посмотреть сообщение
    и т.д. хоть 10 палитр
    Если иметь таблицу привязки палитр хоть к фону, хоть к спрайту, то количество палитр ограничивается лишь размером памяти видеокарты, и как итог будем иметь все 30 тысяч цветов на экране одновременно.
    Последний раз редактировалось Eagle; 16.06.2015 в 14:18.

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  6. #226

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на экран видеокарта лишь считывает байты фона и байты спрайтов
    от куда считывает? из любого места? нет. для этого есть видеопамять. Там самая память из которой все данные попадают потом уже на монитор. А перед этим все данные должны быть туда записаны. Если у карточки есть набор буферов для спрайтов, но нет так называемой видео памяти тогда подскажите, каким образом мы будем оперировать такими понятиями как координаты?
    - отображаем все спрайты, которые юзают 2 палитру
    и т.д. хоть 10 палитр
    что в этот момент делать с прошлыми спрайтами? прятать их? или оставлять на экране? в первом случае спрайты будут моргать, во втором случае получаем эффект флэша, но в целом то же моргание/мерцание.
    Последний раз редактировалось Sayman; 16.06.2015 в 14:19.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

  8. #227

    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    415
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eagle Посмотреть сообщение
    Зачем сохранять фон?
    Кстати тут действительно, возможно проще будет перерисовать весь экран, чем иметь гемор с сохранением задника спрайта.
    Потому как ПЛИС будет тактироваться на довольно быстрой частоте.
    V6Z80P - Back for Good

  9. #228

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    от куда считывает? из любого места?
    Не из любого места, а из буфера для фона, тайтлов и палитр. Не для того-ли и имеем память в видеокарте?

    ---------- Post added at 14:23 ---------- Previous post was at 14:21 ----------

    Цитата Сообщение от Sayman Посмотреть сообщение
    каким образом мы будем оперировать такими понятиями как координаты?
    Для оперирования координатами создавать полный буфер экрана вовсе не обязательно, лишь тратить дополнительное время на запись и память размером с экран по два байта на пиксель.

    ---------- Post added at 14:25 ---------- Previous post was at 14:23 ----------

    Цитата Сообщение от Valen Посмотреть сообщение
    Кстати тут действительно, возможно проще будет перерисовать весь экран, чем иметь гемор с сохранением задника спрайта.
    Потому как ПЛИС будет тактироваться на довольно быстрой частоте.
    Примерно так оно и сделано в старых приставках. В тойже денди нет буфера экрана, там оперативной памяти мизер.

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  10. #229

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eagle Посмотреть сообщение
    Не из любого места, а из буфера для фона, тайтлов и палитр. Не для того-ли и имеем память в видеокарте?
    Тогда каким образом карта будет узнавать, что нам нужно в такой-то момент времени сделать восстановление фона? или вы предлагаете каждый кадр полностью всё перерисовывать? ну тогда мы переходим к теме реализации современной модели видеокарт:
    Видеопамять выполняет функцию кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, GDDR2, GDDR3, GDDR4, GDDR5 и HBM. Следует также иметь в виду, что, помимо видеопамяти, находящейся на видеокарте, современные графические процессоры обычно используют в своей работе часть общей системной памяти компьютера, прямой доступ к которой организуется драйвером видеоадаптера через шину AGP или PCIE. В случае использования архитектуры Uniform Memory Access в качестве видеопамяти используется часть системной памяти компьютера.
    и сколько тогда такая карта стоить будет? не дешевле ли будет прикупить на свой родной пц какой нить geforce?))
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  11. #230

    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    415
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    - отображаем все спрайты, которые юзают 2 палитру
    и т.д. хоть 10 палитр
    что в этот момент делать с прошлыми спрайтами? прятать их? или оставлять на экране? в первом случае спрайты будут моргать, во втором случае получаем эффект флэша, но в целом то же моргание/мерцание.
    Не будет такого. Все там норм.


    Цитата Сообщение от Eagle Посмотреть сообщение
    В тойже денди нет буфера экрана,
    Да, в денди нет.
    Но автор карты, выбрал именно систему с 15 битными экранными буферами (активным и теневым), и это ж нужно учитывать, в своих размышлениях.
    Последний раз редактировалось Valen; 16.06.2015 в 14:47.
    V6Z80P - Back for Good

Страница 23 из 109 ПерваяПервая ... 192021222324252627 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

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