Написал(-a) комментарий к посту Новый дизайн, старый дизайн
Кстати, у меня сейчас еще один очень показательный случай произошел.
Припхал ИИшку написать с нуля скрипт для 3DSMax, который сносит с анимации дубликаты ключей. Ключей миллионы. Их выделение на таймлайне может повесить макс на несколько минут.
ИИшка скрипт написала, работает. Вот только работает по 4 минуты на "короткой" анимации. Длинные в 5 раз длиннее...
Указываю ИИшке что это дофига долго. Та крутит шестеренками и рожает оптимизацию... на 10 секунд быстрее.
Пишу что это конечно хорошо, но все равно очень медленно.
ИИшка напрягается и выдает заключение, что проблема в том, что макс очень долго удаляет ключи по одному. И предлагает сначала всё выделить, а потом разом удалить. Иии... 4 секунды вместо 4 минут О_о.
А теперь самое смешное, зачем мне это вообще понадобилось. У макса есть собственная функция очистки кривых. Которая на больших значениях работет... Да вообще не работает за вменяемое время.
Причина... а она тоже ключи поштучно удаляет, ага. Спасибо максовским прогерам за это замечательное решение.

. Но тут несколько иное (хД) повествование.
Написал(-a) комментарий к посту Новый дизайн, старый дизайн
Мой скрипт сносит с кривых все идентичные ключи анимации, т.е. очищает горизонтальные участки, оставляя только ключ начала и конца горизонтали. На обрабатываемых анимациях таких ключей под 2/3. Что уменьшает вес файлов вдвое и упрощает дальнейшую обработку анимации.
Там простейшая проверка - "если ключ равен предыдущему и следующему - то он лишний".
Скрипт макса должен очищать кривые от ключей, не влияющих или слабо влияющих на форму кривых. Т.е. он тоже берет ключ и сравнивает с 2 соседними с заданной точностью, по некому алгоритму. И затем удаляет.
И мне, честно, тоже это не понятно, скрипт макса спокойно сносит все ключи с синусоиды, оставляя только экстремумы, которых достаточно для описания формы кривой. Между одним экстремумом и ключами, удаляемыми возле второго экстремума разница намного больше заданного диапазона точности. И тем не менее, ключ правильно идентифицируется как "лишний" Т.е. поидее ему никак не должно мешать то, что предыдущий "лишний" ключ не был удален сразу, а "помечен" для удаления. Но "высококвалифицированные спецы" автодеска написали то, что написали.