User Tag List

Страница 19 из 26 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя
Показано с 181 по 190 из 253

Тема: Эмулятор БК-0010-01, БК-0011 и БК-0011М

  1. #181

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Uptime
    Сделал я эту штуку. Но результатом не удовлетворён. Точность - ±секунда. Так то оно считает примерно точно, но из-за того что таймер работает по сообщению ON_WM_TIMER с интервалом 1 секунда, обрабатывается как бы с низким приоритетом, когда ничего другого важного не надо на экран вывести. Лаг большой получается. Тут надо бы ввести механизм измерения времени, как свойство контрольных точек.

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

  3. #182

    Регистрация
    29.03.2005
    Адрес
    Москва
    Сообщений
    300
    Спасибо Благодарностей отдано 
    392
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пользуясь возникшей активностью, хочу спросить - а VSync будет реализовано? А то у меня вместо монитора FHD телевизор и развёртка как раз 50 Гц. А плавного скроллинга, увы, нет...
    Как говаривал старик Палсекамыч (которого некоторые историки ошибочно называют Пепсиколычем или даже, прости Господи, Бублегумычем): "Не клади все яйца в одну... мошонку!"

  4. #183

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Doronetty Посмотреть сообщение
    а VSync будет реализовано?
    Я не знаю, как его делают, простых примеров в интернете не нашёл, что нашёл из советов - не работает, так что не будет.

  5. #184

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,966
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Я не знаю, как его делают, простых примеров в интернете не нашёл, что нашёл из советов - не работает, так что не будет.
    а что, D3DPRESENT_INTERVAL_ONE не прокатывает?
    Прихожу без разрешения, сею смерть и разрушение...

  6. #185

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    D3DPRESENT_INTERVAL_ONE не прокатывает?
    Неа, в DirectX9 как было, так и осталось, ну т.е. у моего монитора 60Гц кадровая, а у эмулятора - 49 генерируется, работы VSyncа не заметил. А в DirectX11 этого вообще нету.
    К тому же VSync всё равно не поможет. Однажды я пытался понять, почему скроллинг дёргается. И заморочился, вывел каждый кадр в отдельный файл с таймлайном. И увидел, что сама генерация кадров неравномерная. Там генерируется 2-3 одинаковых кадра, потом пропуск кадра, потом снова 2-3 одинаковых. С чем это связано, понять не смог. И забил.

  7. #186

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,966
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Неа, в DirectX9 как было, так и осталось, ну т.е. у моего монитора 60Гц кадровая, а у эмулятора - 49 генерируется, работы VSyncа не заметил. А в DirectX11 этого вообще нету.
    кстати, а зачем тебе directx11? да и вообще directx, когда есть упрощённые кроссплатформенные либы как SDL/SFML

    Цитата Сообщение от gid Посмотреть сообщение
    К тому же VSync всё равно не поможет. Однажды я пытался понять, почему скроллинг дёргается. И заморочился, вывел каждый кадр в отдельный файл с таймлайном. И увидел, что сама генерация кадров неравномерная.
    что ты понимаешь под "генерацией"?

    Цитата Сообщение от gid Посмотреть сообщение
    Там генерируется 2-3 одинаковых кадра, потом пропуск кадра, потом снова 2-3 одинаковых. С чем это связано, понять не смог. И забил.
    так то не винда скорее всего, а сам эмуль подгоняет кадры под звук, мб вовсе грубо по таймеру
    в таком случае логику подгонки надо заменить на обратную

    - - - Добавлено - - -

    (исхожу из предположения, что оригинал ты глубоко не перерабатывал)
    Прихожу без разрешения, сею смерть и разрушение...

  8. #187

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    зачем тебе directx11?
    Чтобы было.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    да и вообще directx
    Чтобы было.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    когда есть упрощённые кроссплатформенные либы как SDL/SFML
    Я в интернете сходу нашёл, как прикрутить D3D, D2D, OpenGL. А как прикрутить SDL/SFML в винде, не нашёл.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    что ты понимаешь под "генерацией"?
    Буквально генерацию. У меня в эмуляторе эмулируется точная работа формирования экрана, в конце происходит кадровое прерывание, судя по нормально звучащему AY, происходит равномерно. В это время, из содержимого экранного буфера формируется битмап соответствующего формата для одного из выбранных способов отображения на экран: D3D, D2D, OpenGL, VfW, и отправляется соответствующему драйверу. Дальше не моё дело как и когда оно отобразится на экране монитора, этим виндозные драйвера уже занимаются.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а сам эмуль подгоняет кадры под звук
    Не то чтобы подгоняет, синхронизация со звуком, единственный способ привязки к реальному времени в винде, который я нашёл. Все остальные способы со всякими таймерами как-то не получились. При повышении нагрузки начинались лаги.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    в таком случае логику подгонки надо заменить на обратную
    Ну я не настоко крутой программист. Не умею.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    оригинал ты глубоко не перерабатывал
    Не знаю, что ты имеешь в виду под оригиналом, поэтому тут ничего ответить не могу.

  9. #188

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,966
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Чтобы было.
    было что? даже если хочешь напрямую мучиться с иксом, никаких наворотов 10-11 не нужно

    Цитата Сообщение от gid Посмотреть сообщение
    Я в интернете сходу нашёл, как прикрутить D3D, D2D, OpenGL. А как прикрутить SDL/SFML в винде, не нашёл.
    например
    https://lazyfoo.net/tutorials/SDL/01...dows/index.php
    там же и туториалы по кодингу

    Цитата Сообщение от gid Посмотреть сообщение
    Буквально генерацию. У меня в эмуляторе эмулируется точная работа формирования экрана, в конце происходит кадровое прерывание, судя по нормально звучащему AY, происходит равномерно. В это время, из содержимого экранного буфера формируется битмап соответствующего формата для одного из выбранных способов отображения на экран: D3D, D2D, OpenGL, VfW, и отправляется соответствующему драйверу. Дальше не моё дело как и когда оно отобразится на экране монитора, этим виндозные драйвера уже занимаются.
    в одну кучу свалил уровень и эмулятора, и системы
    а они в общем случае работают несинхронно

    Цитата Сообщение от gid Посмотреть сообщение
    Не то чтобы подгоняет, синхронизация со звуком, единственный способ привязки к реальному времени в винде, который я нашёл. Все остальные способы со всякими таймерами как-то не получились. При повышении нагрузки начинались лаги.
    так vsync и есть такой же способ привязки, таймер не нужен

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

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

  10. #189

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    611
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    было что?
    Было DirectX.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    если хочешь напрямую мучиться с иксом
    Не хочу. Поэтому взял самый простой и доступный для понимания пример из интернета, а не фреймворк с мегабайтами исходников, которые непонятно что делают, и непонятно как их прикрутить к эмулятору.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    никаких наворотов 10-11 не нужно
    Конечно не нужно, но если есть, почему нет?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    там же и туториалы по кодингу
    Ок, почитаю.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    в одну кучу свалил уровень и эмулятора, и системы
    Потому что одно без другого не работает.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а они в общем случае работают несинхронно
    Они в принципе работают не синхронно, но повторюсь, у меня эмулятор уже сам по себе генерирует рваную картинку с пропусками кадров. А рендер показывает то, что ему дают, с vsyncом или без.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    так vsync и есть такой же способ привязки, таймер не нужен
    А в оконном режиме vsync уже начал работать? А то раньше не работал, только в полноэкранном работал.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    подготовил в буфере картинку - вызвал функцию рендера
    Я именно так и делаю, только без vsyncа, потому что фиг знает, как его включить что в OpenGLе, что в DirectXе 11-м.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    когда эмуль отстал от дисплея больше чем на кадр дисплея
    Он всегда будет отставать чуть меньше, чем на кадр. Ведь все знают что в БК самый кривой контроллер видеосигнала, и генерирует самую кривую раскадровку, не совместимую с многими мониторами и телевизорами. Вот и эмулятор в точности повторяет работу этого контроллера, потактово синхронизированного с процессором. Из-за этого я не могу генерировать кадров больше, чем возможно.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    (частоту которого знаешь)
    Не знаю и знать не хочу, пусть об этом драйвер видеокарты думает. Есть ведь мониторы и с 240Гц кадровой, и больше уже есть.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    звук готовишь и кидаешь на вывод кратно частоте эмуля (то есть для повторных рендеров не кидаешь)
    чё-то слишком сложно.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    вот это
    А, это, ну да, я там вообще ничего не трогал, только имя своё в "О программе" приписал и всё.

  11. #190

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,966
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Было DirectX.
    ...чтобы от него было что?

    Цитата Сообщение от gid Посмотреть сообщение
    Конечно не нужно, но если есть, почему нет?
    потому что прикручивать нужно только то, что собираешься применять
    и какие же из новейших наворотов ты собираешься?

    Цитата Сообщение от gid Посмотреть сообщение
    Потому что одно без другого не работает.
    работает - с не такими "другим" или "одним" соответственно

    Цитата Сообщение от gid Посмотреть сообщение
    Они в принципе работают не синхронно,
    в принципе можно как угодно, синхронно тоже

    Цитата Сообщение от gid Посмотреть сообщение
    но повторюсь, у меня эмулятор уже сам по себе генерирует рваную картинку с пропусками кадров. А рендер показывает то, что ему дают, с vsyncом или без.
    что значит "сам по себе"? это унаследованный код или уже твой?
    и почему "с пропусками", когда следует с добавлением?
    а для начала сделай просто 1:1 с дисплеем пк

    Цитата Сообщение от gid Посмотреть сообщение
    А в оконном режиме vsync уже начал работать? А то раньше не работал, только в полноэкранном работал.
    не знаю, где в оконном не работал, у меня в SDL работает
    да и рассуждая логически, это же просто ожидание глобального события
    а стало быть, какая разница, что и как при этом отображается

    Цитата Сообщение от gid Посмотреть сообщение
    Я именно так и делаю, только без vsyncа, потому что фиг знает, как его включить что в OpenGLе, что в DirectXе 11-м.
    так он у тебя в полноэкранном даже вроде бы и включён
    (правда, в менее точном варианте D3DPRESENT_INTERVAL_DEFAULT)
    https://learn.microsoft.com/en-us/wi...3d9/d3dpresent
    видимо, проблема не в нём, а в логике отображения в эмуле

    Цитата Сообщение от gid Посмотреть сообщение
    Он всегда будет отставать чуть меньше, чем на кадр.
    во-1, больше, если больше 100гц видеорежим
    во-2, с виндой никогда нельзя быть ни в чём уверенным

    Цитата Сообщение от gid Посмотреть сообщение
    Ведь все знают что в БК самый кривой контроллер видеосигнала, и генерирует самую кривую раскадровку, не совместимую с многими мониторами и телевизорами. Вот и эмулятор в точности повторяет работу этого контроллера, потактово синхронизированного с процессором. Из-за этого я не могу генерировать кадров больше, чем возможно.
    человек-то тут хотел плавный скроллинг, если моник держит 50/100/144гц - ну, пусть немножко отличается от реала, будет ровно 50 или 48

    Цитата Сообщение от gid Посмотреть сообщение
    Не знаю и знать не хочу, пусть об этом драйвер видеокарты думает. Есть ведь мониторы и с 240Гц кадровой, и больше уже есть.
    ну вот, видимо, потому картинка и рваная, что ты с частотой дисплея не соотносишь

    Цитата Сообщение от gid Посмотреть сообщение
    чё-то слишком сложно.
    что конкретно? смысл, что звук всегда синхронизируешь с эмулируемым дисплеем, а не с реальным

    Цитата Сообщение от gid Посмотреть сообщение
    А, это, ну да, я там вообще ничего не трогал, только имя своё в "О программе" приписал и всё.
    ну, тебе виднее, какая там каша из топора, а другим нетелепатам-то нет
    Прихожу без разрешения, сею смерть и разрушение...

Страница 19 из 26 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя

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

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

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

  1. izzx

Похожие темы

  1. Отличия БК-0011М от БК-0010(01)?
    от nzeemin в разделе БК-0010/0011
    Ответов: 22
    Последнее: 30.03.2021, 18:47
  2. БК-0010/0011: Разное
    от CD-Inc в разделе БК-0010/0011
    Ответов: 73
    Последнее: 30.07.2012, 16:58
  3. Начало выпуска БК-0011 и БК-0011М
    от dk_spb в разделе БК-0010/0011
    Ответов: 6
    Последнее: 14.10.2010, 14:22
  4. Отличие 0011 и 0011М
    от Kronshou в разделе БК-0010/0011
    Ответов: 11
    Последнее: 17.01.2010, 22:24
  5. Москва - куплю все связанное с БК-0010/0011
    от kt315b в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 04.10.2008, 05:09

Ваши права

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