
Dolphin
12.09.2018
18:31:46

Fedor
12.09.2018
18:31:49
ты половину линии отражаешь что ли?

Dolphin
12.09.2018
18:32:19

Google

Fedor
12.09.2018
18:33:00
что порог

Dolphin
12.09.2018
18:33:10
забей

Fedor
12.09.2018
18:35:21
наверное ты не понял мою гениальную идею - так ведь можно ускорить растеризацию в двое (ну или почти)
почему не рендерить линию с двух концов?
фактически это размотка цикла будет

Dolphin
12.09.2018
18:36:16

Fedor
12.09.2018
18:36:52
да производительность будет зависить от того на сколько медленен IF
но если ты деление за циклом экономишь, почему бы и на IF'ах не съэкономить

Dolphin
12.09.2018
18:38:38

Fedor
12.09.2018
18:38:38

Dolphin
12.09.2018
18:39:12
НАЦЕЛО

Fedor
12.09.2018
18:39:20
согласен про секущую, но это скорее всего будет быстрее

Dolphin
12.09.2018
18:39:49
ты проебал 3/5
ты понимаешь что это пиздец дохуя?

Google

Fedor
12.09.2018
18:40:52
пожалуйста:
(38«16) / (5«16)
//при чтении значения брать из старшего регистра

Dolphin
12.09.2018
18:41:11
да нету старшего разряда блять
8 бит архитектура
и сдвиг на 1 бит онли

Fedor
12.09.2018
18:41:40
хм, тогда ясно

Dolphin
12.09.2018
18:41:45
и твоя операция разворачивается уже в портянку
и по тактам - больше 32
+ деление
тактов 100
для 16 бит
+ по коду байт 200

Fedor
12.09.2018
18:43:51
и твоя операция разворачивается уже в портянку
это разворачивается только вначале на приведении в статическуюТочку
(а если есть старший регистр, то можно вообще просто в него класть)
//но все это не имеет значения если его нет. так что это просто не подходящий для 8бит алг

Dolphin
12.09.2018
18:44:16
наконец-то
А теперь давай тут посчитаем

Fedor
12.09.2018
18:45:46
я тебе сразу сказал что я не знаю архитектуры спеки, так что "наконец то" это ты сказал что там нет возможности оперировать слово

Dolphin
12.09.2018
18:46:06
11 загрузок в ините, 2 сложения, 1 сдвиг
цикл: 4 сложения, 2 условия
сложения - за такт, загрузка - два, сдвиг - такт, условия - 2-3

Fedor
12.09.2018
18:46:56
отлично это наверное лучший алг для спеки, с этим я и не спорил

Dolphin
12.09.2018
18:47:19
и твое деление там будет вобще вечным

Google

Dolphin
12.09.2018
18:48:11
~360 тактов

Fedor
12.09.2018
18:48:20
прийдется делить умножением =)
по табличке констант
ладно я шучу
в таком случае за деление под спекой надо руки отрубать

Dolphin
12.09.2018
18:49:28
идея понятна, но смысл?
вычислительная сложность - та же

Fedor
12.09.2018
18:51:06
возможно это быстрее (я пока только предположил)
IF'ов меньше

Dolphin
12.09.2018
18:51:32
ммм

Fedor
12.09.2018
18:51:54
ну я сказал что фактически это размотка цикла

Dolphin
12.09.2018
18:52:05
суть понял.... типа если начало падает по Y, то и конец поднимаем (не сравнивая)
да, лучше согласен
но с треугольниками не пойдет

Fedor
12.09.2018
18:53:02
ну да как то так (в принципе можно даже не проверять перезапись средней точки)

Dolphin
12.09.2018
18:53:31
ща проверю
XOR'ом

Fedor
12.09.2018
18:54:09
но с треугольниками не пойдет
с треугольниками это потребует модификации с определением секущей (которую если деление не юзать не наждешь) - но на архитектурах с быстрым делением возможно будет рентабельно

Google

Fedor
12.09.2018
18:55:12
а ни чего что мы тут общий чат всеми этими тактами заваливаем? (меня немного смущает когда я смотрю сколько тут народу)
или тут всем норм

Dolphin
12.09.2018
18:56:08
работает

Fedor
12.09.2018
18:56:31
а что за красная зона?

Dolphin
12.09.2018
18:56:46
пауза - остановил
красная - аппаратная линия
зеленая - XOR синим

Th0r
12.09.2018
18:59:02
может не совпасть центральный отрезок, попробуй например нарисуй линию длиной в весь экран и высотой в 3\4\5\6

Admin
ERROR: S client not available

Fedor
12.09.2018
18:59:17
в принципе с учетом деления на константу можно сказать, что подход повторяется рекурсивно (и до какой то вложенности на определенной длинне линии будет ускоряться, пока оверхед не съест)

Dolphin
12.09.2018
18:59:30

Fedor
12.09.2018
19:00:06
может появиться нерегулярность алиасинга в середине

Th0r
12.09.2018
19:00:31

Dolphin
12.09.2018
19:01:26

Fedor
12.09.2018
19:01:30
вообще если координатам делать правку на пол пикселя, то и этот эфект уйдет гарантированно

Dolphin
12.09.2018
19:01:39
работает )

Fedor
12.09.2018
19:01:52
хех... все и так совпало, расслабляемся =)

Dolphin
12.09.2018
19:03:19
стопэ

Google

Dolphin
12.09.2018
19:03:21
ща

Fedor
12.09.2018
19:04:12
а ну, я вижу у тебя по уму есть правка на центр пикселя (это видно по тому что шаг АА паттерна скраев полпериода составляет)

Dolphin
12.09.2018
19:04:43
не все гладко

Fedor
12.09.2018
19:05:13
при переходе 45

Dolphin
12.09.2018
19:05:15
простреливает погрешность
и до 45 тоже

Fedor
12.09.2018
19:05:31
думаю там просто махнуть координаты надо

Dolphin
12.09.2018
19:05:40
не суть
выше смотри
там не надо а точки не попали
а знаешь почему?
потому что ПОРОГ в конце линии не равен DX/2
А чему равен ты не узнаешь, пока линию не добежишь до конца

Fedor
12.09.2018
19:07:27
попробуй вывести до 90гр

Dolphin
12.09.2018
19:07:44
не получится
свап писать надо
не хочу
я это все за последнюю неделю написал раз 30 уже
с нуля

Fedor
12.09.2018
19:09:17
ладно, все равно это для треугольников нельзя
а прирост для линий будет только от экономии половины IF'ов (короче по такту на точку макс)