
Ну а новый алгоритм по скорости равен предыдущему. Но он самый быстрый - один байт на цикл(там просто извлечение из массива, никаких вычислений). Дальше некуда оптимизировать. Хотя да, если создать массив один раз, только в начале кодирования, а не на каждый байт по созданию массива, то может че и выйдет. Хотя при компиляции раз массив константа он его только один раз запишет, а вызывать будет многократно, тогда разницы не будет.
Хотя и так сойдет, тем более, что щас скорость обработки в десятеро превышает начальную, нормальная оптимизация

Лучше помоги прогресс прорисовать - я не смог, хотя использовал вызов перерисовки по таймеру.