Я использую GameLoop, который зависит от Canvas, но работает и без него. У меня есть массив символов, которые я рисую в абзаце почти каждый кадр рендеринга. Строки разделяются с помощью </br>
. Каждый раз я проверяю, были ли какие-либо изменения в массиве и нужно ли его перерисовывать.
Почти каждый символ имеет свой класс, поэтому он выглядит так: < span class="my_css_class">CHAR< /span>
(без пробелов). Таким образом, каждый символ имеет свой стиль css.
Производительность велика с точки зрения вычислений, но рендеринг в абзац требует большой загрузки ЦП. Есть ли лучший способ более эффективно отображать абзац?
Массив составляет около 40x80 символов.
Код, который отображает символы:
if(!Utility.isDuplicate()) {
StringBuffer sb = new StringBuffer();
for(int i = 0; i < HEIGHT; i++) {
for(int j = 0; j < WIDTH; j++) {
sb.write(array[i][j]);
}
sb.write("<br />");
}
querySelector("#main_paragraph").innerHtml = sb.toString();
}
}