Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Рисование линии в одном слое в режиме 256ъ256:
Версия с запрещенными прерываниями ~246 линий в секунду:
https://svofski.github.io/pretty-808...mbler/?line-di
Версия с разрешенными прерываниями~220257 линий в секунду:
https://svofski.github.io/pretty-808...mbler/?line-el
Последний раз редактировалось svofski; 19.12.2017 в 15:30. Причина: обновление ссылок
Больше игр нет
Если вдруг у кого есть на примете более быстрые варианты - поделитесь плиз исходником или ссылкой.
Этот вариант с минимальнейшей переделкой годится и для специалиста и для ориона, если использовать область 256x256 (лучше в центре, но мало ли кому чего захочется). Доработка под ширину 384 возможна, но будет медленнее.
При желании можно хорошо оптимизировать под 580ВМ1 и (особенно) z80.
- - - Добавлено - - -
Забыл самое важное (оценочное суждение) - это очень быстрые процедуры рисования линии!
- - - Добавлено - - -
Хотя нет, самое важное другое. Респект svofski, что он поднял эту тему и написал процедуру, ну и я молодец, что поучаствовал (сам себя не похвалишь и все такое...) !
(От скромного соучастия ivagor-а линия ускорилась чуть ли не в 2.5 раза).
Больше игр нет
Прогнал вышеприведенный бенчмарк с процедурой рисования линии из специалистовского бейсика. Выбрал его, а не векторовский, т.к. думал, что рисование в одной плоскости будет ближе всего. Но специалистовская процедура просто ужасна - 28 линий/секунду! Прогонял на векторе (изменил начальный адрес экрана в выводе точки), не на специалисте. Даже 16-цветный вариант (4 плоскости), который я переделал из промежуточной версии процедуры svofski и то в 3 раза быстрее (и его еще можно процентов на 20 ускорить)!
Если поточнее прикинуть, то мой вклад в это ускорение от 50 до 75%
Подумал по поводу твоей идеи о четных длинах линий итд. Интересно было бы сделать реализации линий для псевдо-разрешений поменьше. Например, 128x128: то есть все идет с шагом 2, число шагов делится пополам, обращений к экрану мм... (1/2 + 1)/2 = 0.75, суммарно должно стать заметно быстрее. Могу представить себе много ситуаций, особенно в разговоре про демо эффекты, когда можно пожертвовать детальностью картинки ради частоты кадров.
Больше игр нет
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не мог обойти стороной линию в векторовском бейсике - 40 линий/секунду. Нужно отметить условия тестирования - COLOR1:SCREEN2,1 (но это не сильно влияет, т.к. при запрещении плоскостей рисование недостаточно оптимизируется).
Это может дать эффект, но тут наверно надо под конкретную задачу подстраиваться.
x-code, πάντα ῥεῖ Буквально вчера линия с запрещенными прерываниями была отменена, потому что ivagor довел линию с прерываниями до совершенства. Называется она по-прежнему line-ei.
Более интерактивный способ — кликнуть на рыбу в заголовке рыбы и выбрать нужную рыбу из меню.
Больше игр нет
Если вдруг кому интересно - последний вариант выдает 257 линий/секунду. Т.е. примерно в 9 раз быстрее специалистовской процедуры, в 6.5 раз - процедуры из векторовского бейсика. В свою очередь примерно в 8 раз медленнее аппаратной рисовалки линий в 9938/9958.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)