Size: a a a

pro.graphon (and gamedev)

2021 July 03

TG

Timur Gagiev in pro.graphon (and gamedev)
типа того?
источник

K

Kelbon in pro.graphon (and gamedev)
я вообще смысла чет очень мало вижу, всё что меняется это деление на 2,3,4,5.. Так собственно в чём смысол то? Битовый сдвиг вместо деления и на это такую раскладку? Вся производительность теряется
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
на чём теряется?
источник

d

disba1ancer in pro.graphon (and gamedev)
деление, вообще, очень тяжёлая операция, так что не надо тут
источник

A

Arelav in pro.graphon (and gamedev)
А кст, почему ты уверен что у тебя divider != multiplier? Или думаешь компилятор сам воткнет?
источник

K

Kelbon in pro.graphon (and gamedev)
на проверках, но все ещё остаётся (помимо вообще всего что тут происходит)))
1. вынести 3 строки в конец и выбирать ... Начальное... В каком то виде.
2. Узнать статистику случаев и начинать проверку с самых ходовых и так в порядке умеьншения вероятности
источник

d

disba1ancer in pro.graphon (and gamedev)
ты хоть бы нормально реплайнул
источник

d

disba1ancer in pro.graphon (and gamedev)
кстати у тебя в первом условии проверяется только divider == 2, но не проверяется мультиплиер на единицу
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
на верхнем уровне проверка есть
multiplier = frameDelta = frame % frameRate
divider = frameRate
источник

JA

Jokhar Ali in pro.graphon (and gamedev)
А при force inline условия не съедаются?
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
вот что компилятор генерирует
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
могут, если константы
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
примерно так выглядит деление без использования целочиленных деления, умножения и взятия остатка
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
источник

A

Arelav in pro.graphon (and gamedev)
А почему тебе нужен if на 2, 4? В том смысле что другие аналогичные кейсы, где нод != 1 ты не ифал
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
0 отсекается, divider == multiplier тоже исходя из того, что multiplier это остаток от деления на divider, остаются только эти кейсы, разве нет?
источник

A

Arelav in pro.graphon (and gamedev)
Ну например 4, 8
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
divider = 4 multiplier = 8?
источник

A

Arelav in pro.graphon (and gamedev)
2,5 => k*2,k*5
источник