Metalhaker97, возможно, за все время, лопасти куллера потерлись от пыли, и создают лишний шум. А вообще, десятки чуть требовательнее предыдущих, хоть и выглядит более отзывчивой.
sazhyk, в данном случае нет, и ничего не дало. Спрашивать про железо имеет смысл только тогда, когда в личной практике были случаи с подобными проблемами, которые случились с определенными железками. Нужно это для постановления предварительного диагноза. Иначе это еще один ручеек к потоку воды.
John Smith, пример про доктора мимо кассы. Так как очевидно, что комп у пациента работает, это очевидно из его вопроса. Так-же очевидно, что перечисление железа - бессмысленно, ничего полезного это не сулит, лишь дополнительный приток льющейся воды.
IDONTSUDO, по своему опыту скажу, что непонятки с getBoundingClientRect у меня были, и всегда были из-за невнимательности к тому, относительного чего высчитываются значения. Вместо того, чтоб демонстрировать весь код, который никто смотреть не станет, его много. Сделай отдельно демонстрацию исключительно этого бага. Минимальная верстка и некий console.log(elem.getBoundingClientRect()).
Алекс, оберни часть строки, которую хочешь показывать, в блок, и играйся с ним. При изменении размера окна, проверять его высоту и устанавливать такую высоту своему контейнеру.
Еще можешь задать max-height: 50px и height: auto, так блок не будет превышать определенный размер, но будет уменьшаться, если содержимое позволит. А перед манипуляциями с анимацией, удалять это свойство, по окончанию добавлять.
Если есть 100 программ, то для их работы надо установить пакет в 400 мегабайт только один раз. В случае с .Net Core, каждая программа будет весить по 200 мегабайт.