Improve layering for chat

Currently we have a lot of unnecessary layers being created in the app,
which is extremely problematic on Windows when using Chrome, as it
deoptimises fonts rendering due to layers mismatch; chrome's algorithm
can't figure out if the layers won't resize or overlap so it creates a
lot of additional layers, which has a side effect of turning off
sub-pixel antialiasing on Windows.
This is a first step to improve the layering in the entire app.
This commit is contained in:
Dariusz Niemczyk 2021-08-19 19:00:31 +02:00
parent b5f377d543
commit 798da0f5fa
No known key found for this signature in database
GPG key ID: 3E8DC619E3C59A05
3 changed files with 5 additions and 1 deletions

View file

@ -26,6 +26,8 @@ $roomListCollapsedWidth: 68px;
.mx_LeftPanel_wrapper { .mx_LeftPanel_wrapper {
display: flex; display: flex;
max-width: 50%; max-width: 50%;
// Contain the amount of layers rendered by constraining what actually needs re-layering via css
contain: layout paint;
.mx_LeftPanel_wrapper--user { .mx_LeftPanel_wrapper--user {
background-color: $roomlist-bg-color; background-color: $roomlist-bg-color;

View file

@ -20,6 +20,8 @@ limitations under the License.
flex: 1; flex: 1;
position: relative; position: relative;
justify-content: center; justify-content: center;
// Contain the amount of layers rendered by constraining what actually needs re-layering via css
contain: strict;
} }
.mx_RoomView { .mx_RoomView {
@ -163,7 +165,6 @@ limitations under the License.
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
contain: content;
} }
.mx_RoomView_statusArea { .mx_RoomView_statusArea {

View file

@ -15,6 +15,7 @@ limitations under the License.
*/ */
.mx_ScrollPanel { .mx_ScrollPanel {
contain: strict;
.mx_RoomView_MessageList { .mx_RoomView_MessageList {
position: relative; position: relative;