Уже давно об этом решении объявляли. В ответ последовали сотни расстроенных и негодующих комментариев - понятно почему. Я тоже очень разочарован. :( Предыдущее лого было на порядок лучше. Матц - гениальный программист, но в дизайне не понимает нихрена вообще.
Спасибо за пост!
Это одна из самых необходимых программ, без которой я бы не стал использовать другую ОС. :) Правда, не знаю, какого качества там миди-синтезатор.
Ловко придумано! В таком варианте, правда, после исполнения функции и повторного вызова перед концом интервала ее исполнение откладывается не на этот конец, а на текущее время + интервал. Т.е. вместо interval в setTimeout наверное нужно передавать interval + startTime - new Date(). Мне в нём не нравится одно - слишком много операции с датой (вместо просто парочки флажков в моём случае) - код более сложный для понимания и потенциально менее производительный. А какие преимущества?
Нет, не только - эффект будет, если [кол-во вызовов за этот интервал]*[время ее исполнения] превысит limitExecByInterval, а это куда более частый случай.
Так можно, конечно, но преимущество описанного мной подхода заключается в том, что:
1) Пока интервал между вызовами не ниже заданного, изменения будут отображаться моментально. А в случае изменений по таймеру практически всегда будет какая-то задержка.
2) Функция отрисовки будет вызываться только тогда, когда нужно, без лишних вызовов.
Мне казалось, так код более понятен - сначала самое важное, потом остальное. А насчёт return - else короче на два символа. :) Кстати! Я сохраняю оригинальные аргументы и скоуп, а вот про возвращаемое значение забыл! Сейчас поправлю, спасибо за то, что навёл на мысль :)
Я уже второй год усиленно пытаюсь придумать, нафига мне нужен ноут, но эти пункты всё сводят на нет. :) Работа без разъездов.
Было бы, правда, хорошо указать ссылки на все обсуждения, а не только некоторые.
Это одна из самых необходимых программ, без которой я бы не стал использовать другую ОС. :) Правда, не знаю, какого качества там миди-синтезатор.
1) Пока интервал между вызовами не ниже заданного, изменения будут отображаться моментально. А в случае изменений по таймеру практически всегда будет какая-то задержка.
2) Функция отрисовки будет вызываться только тогда, когда нужно, без лишних вызовов.