Когда я изменяю размер Qt Quick ApplicationWindow
, который содержит Frame
с InnerShadow
, я вижу мерцающие и визуальные артефакты. То же самое не верно, когда я либо не заменяю границу по умолчанию, либо если я использую простой прямоугольник для объекта Frame
.
Я проверил это на своем ноутбуке, который работает на 64-битной Arch Linux
. Он имеет графическую карту Nvidia GTX 1060 Max Q и встроенную графическую карту Intel. Я запускал код как с bumblebee
.
* 1010, так и без него. Есть ли способ обойти или устранить это мерцание? Это довольно плохо. Мой код и некоторые скриншоты, как показано ниже
РЕДАКТИРОВАТЬ: я попытался установить атрибуты AA_ShareOpenGLContexts
и AA_UseOpenGLES
(и его варианты программного обеспечения / рабочего стола) безуспешно.
ОБНОВЛЕНИЕ: Я создал проблему здесь: https://bugreports.qt.io/browse/QTBUG-81519, но я все еще надеюсь, что кто-то может найти обходной путь.
test.qml
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtGraphicalEffects 1.14
ApplicationWindow{
id: main
width: 2*screen.width/3
height: 2*screen.height/3
title: "Test ApplicationWindow"
color: activeColorPalette.window
visible:true
SystemPalette {
id: activeColorPalette
colorGroup: SystemPalette.Active
}
Frame{
anchors.fill: parent
anchors.margins: 10
background: Item{
id: root
anchors.fill: parent
Rectangle{
anchors.fill: parent
anchors.margins: 1
radius: 16
color: activeColorPalette.window
}
InnerShadow {
anchors.fill: root
horizontalOffset: 0
verticalOffset: 0
source: root
radius: 16
color: activeColorPalette.shadow
spread: 0.6
samples: 32
cached: true
fast:true
}
}
}
}
Окно без мерцания и артефактов
Окно с мерцающими / визуальными артефактами при изменении размера