- Почему вы звоните clearRect, если вы просто собираетесь заполнить его черным? Удалить этот звонок
- Не устанавливайте шрифт снова и снова, если он никогда не меняется, просто установите его один раз в начале.
- текст для рисования медленно , см. Мой пост здесь . Попробуйте нарисовать каждую букву на втором невидимом холсте и использовать drawImage, чтобы нарисовать части этого холста на вашем реальном холсте
Если вы действительно хотите, чтобы это было сделано так, как вы делаете это сейчас, это будет намного быстрее, если вы рисуете все на большом закадровом холсте и просто рисуете этот холст снова и снова, но тогда вы не будете в состоянии заставить буквы падать на разных скоростях друг от друга. И если бы вы это сделали, это выглядело бы более похожим на матрицу, скажем, поместите y в + = Math.random()*4.5
(или около того) вместо 0.5