b3a19f9e5b
Summary: Selecting not to vsync does not make sense for an X11 compositor. In the end we want clients to be able to present async if they want to but the compositor is supposed to send swaps with vsync to the XServer in order to not generate tearing artifacts. There was also a detection logic which did some questionable things in case vsync was not available. I don't think this is necessary at all since we can just always run a timer to present with or without vsync. Test Plan: kwin_x11 tested on i915. Reviewers: #kwin, zzag Subscribers: zzag, kwin Tags: #kwin Maniphest Tasks: T11071 Differential Revision: https://phabricator.kde.org/D23511
302 lines
8.3 KiB
XML
302 lines
8.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>CompositingForm</class>
|
|
<widget class="QWidget" name="CompositingForm">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>526</width>
|
|
<height>395</height>
|
|
</rect>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout">
|
|
<property name="fieldGrowthPolicy">
|
|
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
|
</property>
|
|
<item row="0" column="0" colspan="2">
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<item>
|
|
<widget class="KMessageWidget" name="glCrashedWarning">
|
|
<property name="visible">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="text">
|
|
<string>OpenGL compositing (the default) has crashed KWin in the past.
|
|
This was most likely due to a driver bug.
|
|
If you think that you have meanwhile upgraded to a stable driver,
|
|
you can reset this protection but be aware that this might result in an immediate crash!
|
|
Alternatively, you might want to use the XRender backend instead.</string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="KMessageWidget" name="scaleWarning">
|
|
<property name="visible">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="text">
|
|
<string>Scale method "Accurate" is not supported by all hardware and can cause performance regressions and rendering artifacts.</string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="KMessageWidget" name="tearingWarning">
|
|
<property name="visible">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="KMessageWidget" name="windowThumbnailWarning">
|
|
<property name="visible">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="text">
|
|
<string>Keeping the window thumbnail always interferes with the minimized state of windows. This can result in windows not suspending their work when minimized.</string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="1" column="0" colspan="2">
|
|
<widget class="QCheckBox" name="compositingEnabled">
|
|
<property name="text">
|
|
<string>Enable compositor on startup</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="animationSpeedLabel">
|
|
<property name="text">
|
|
<string>Animation speed:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="0">
|
|
<widget class="QLabel" name="glScaleFilterLabel">
|
|
<property name="text">
|
|
<string>Scale method:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="1">
|
|
<widget class="QComboBox" name="glScaleFilter">
|
|
<item>
|
|
<property name="text">
|
|
<string>Crisp</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Smooth</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Accurate</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="0">
|
|
<widget class="QLabel" name="xrScaleFilterLabel">
|
|
<property name="text">
|
|
<string>Scale method:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="1">
|
|
<widget class="QComboBox" name="xrScaleFilter">
|
|
<item>
|
|
<property name="text">
|
|
<string>Crisp</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Smooth (slower)</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
<item row="7" column="0" colspan="2">
|
|
<widget class="Line" name="line">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="8" column="0">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Rendering backend:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="8" column="1">
|
|
<widget class="QComboBox" name="type"/>
|
|
</item>
|
|
<item row="9" column="0" colspan="2">
|
|
<widget class="Line" name="line_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="10" column="0">
|
|
<widget class="QLabel" name="label_5">
|
|
<property name="text">
|
|
<string>Tearing prevention ("vsync"):</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="10" column="1">
|
|
<widget class="QComboBox" name="tearingPrevention">
|
|
<item>
|
|
<property name="text">
|
|
<string>Automatic</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Only when cheap</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Full screen repaints</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Re-use screen content</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
<item row="11" column="0">
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string>Keep window thumbnails:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="11" column="1">
|
|
<widget class="QComboBox" name="windowThumbnail">
|
|
<item>
|
|
<property name="text">
|
|
<string>Never</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Only for Shown Windows</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Always</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
<item row="13" column="1">
|
|
<widget class="QCheckBox" name="windowsBlockCompositing">
|
|
<property name="toolTip">
|
|
<string>Applications can set a hint to block compositing when the window is open.
|
|
This brings performance improvements for e.g. games.
|
|
The setting can be overruled by window-specific rules.</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Allow applications to block compositing</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="QWidget" name="animationSpeedControls" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QSlider" name="animationSpeed">
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="tickPosition">
|
|
<enum>QSlider::TicksBelow</enum>
|
|
</property>
|
|
<property name="tickInterval">
|
|
<number>1</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="_3">
|
|
<item>
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>Very slow</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Instant</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<customwidgets>
|
|
<customwidget>
|
|
<class>KMessageWidget</class>
|
|
<extends>QFrame</extends>
|
|
<header>kmessagewidget.h</header>
|
|
<container>1</container>
|
|
</customwidget>
|
|
</customwidgets>
|
|
<resources/>
|
|
<connections/>
|
|
</ui>
|