andrestudio писал(а):
мы же понимаем что этот код участвует в расчётах, причём 200*300 разandrestudio, вашей карьере начинающего программиста ЯВУ еще только предстоит пройти через знание о том, что извлечение значения элемента массива по 32х разрядному индексу выполняется одной командой процессора. Говорить о том, что на выполнение 60тыс раз одной команды процессора сегодня требуется много времени по меньшей мере не актуально.
------------ Дoбавленo в 18.18:
а вот реализация HSB2RGB в вашем примере действительно представляет из себя монстрообразную конструкцию, которая будет отъедать изрядное количество времени. Предлагаю переписать ее так
#bas
Procedure HSB2RGB(hue.f)
ProcedureReturn RGB(hue*255, 0, 0)
EndProcedure
и заменить это
#bas
If h <> old
b = 1.0 - h * h ; brightness
col = HSB2RGB(h, 0.8, b)
old = h;
EndIf
#bas
If h <> old
col = HSB2RGB(h)
old = h;
EndIf