Desktop Effects Performance/ru: Difference between revisions
Created page with "Выяснить использует ли '''KWin''' OpenGL 1 или 2 не совсем просто, так как это полностью полностью определ..." |
Created page with "Можно заставить '''KWin''' использовать to use OpenGL 1 пройдя в <menuchoice>Параметры системы -> Эффекты рабочего..." |
||
Line 45: | Line 45: | ||
Выяснить использует ли '''KWin''' OpenGL 1 или 2 не совсем просто, так как это полностью полностью определяется во время выполнения. Наилучшим имеющимся тестом является использование эффекта инвертирования, который может быть включен в <menuchoice>Параметры системы -> Эффекты рабочего стола -> вкладка Все эффекты</menuchoice>. После его включения экран должен быть инвертирован при помощи сокращения <keycap>Meta + Ctrl + I</keycap>. Если инвертируется, используется OpenGL 2, если ничего не происходит, то используется OpenGL 1 . | Выяснить использует ли '''KWin''' OpenGL 1 или 2 не совсем просто, так как это полностью полностью определяется во время выполнения. Наилучшим имеющимся тестом является использование эффекта инвертирования, который может быть включен в <menuchoice>Параметры системы -> Эффекты рабочего стола -> вкладка Все эффекты</menuchoice>. После его включения экран должен быть инвертирован при помощи сокращения <keycap>Meta + Ctrl + I</keycap>. Если инвертируется, используется OpenGL 2, если ничего не происходит, то используется OpenGL 1 . | ||
Можно заставить '''KWin''' использовать to use OpenGL 1 пройдя в <menuchoice>Параметры системы -> Эффекты рабочего стола -> вкладка Дополнительно</menuchoice> и сняв галочку <menuchoice>Использовать шейдеры OpenGL 2</menuchoice>. Это повысит производительность устаревшего оборудования. В общем случае, использование шейдеров OpenGL 2, если драйвер сообщает о версии 3.x, полностью безопасно ( доступно только с NVIDIA на момент написания этой статьи). | |||
{{Tip|For modern hardware the OpenGL 2 Shaders yield a better performance than OpenGL 1. Disabling this option is no receipt for best performance.}} | {{Tip|For modern hardware the OpenGL 2 Shaders yield a better performance than OpenGL 1. Disabling this option is no receipt for best performance.}} |
Revision as of 07:57, 30 March 2012
Производительность эффектов рабочего стола
Производительность эффектов рабочего стола в KDE Plasma Workspaces в основном определяется взаимодействием аппаратной графики (GPU), это драйвер и Композитор (Kwin). Композитор пытается выбрать наиболее доступные настройки для вашего графического видеоадаптера с определяя помощью запросов драйвера какое оборудование он поддерживает. Иногда помогает KWin улучшить производительность на реально поддерживаемом оборудовании.
Выбор правильного драйвера
Определение используемого драйвера
Очень важно то, что нужный драйвер установлен и используется. Если нет драйвера или используется неправильный драйвер, эффекты рабочего стола вернуться в режим без ускорения (XRender).
Информация об используемом драйвере доступна через KInfoCenter. Щелкните на и изучите информацию, представленную в отображенном модуле. Соответствующая информация может быть найдена в разделе Драйвер, в частности в Производитель, Рендерер и Версия OpenGL/ES. Сведения предоставляются драйвером и могут быть трудны для разбора.
Если Renderer говорит: "Software Rasterizer" то это значит, что драйвер не установлен. Для всех других драйверов, пожалуйста, проверьте, правильно ли они используются. |
Доступные драйверы
AMD/ATI
Для оборудования AMD/ATI доступны два драйвера: проприетарный fglrx или Catalyst и свободные драйверы Mesa (известные как radeon, r300 и r600). С драйвером fglrx доступна не вся функциональность и общая производительность скорее всего будет лучше при использовании драйверов Mesa. Рекомендуется всегда использовать Mesa драйверы с эффектами рабочего стола. Если вы нашли сведения о "Mesa" в версии OpenGL/ES, то вы используете свободные драйверы и нет необходимости что либо делать.
Mesa драйверы существуют в виде новой и старой версиях. Вы должны убедиться, что используете новые, которые опознаются по слову "Gallium" в строке Renderer.
Intel
Оборудование от Intel использует свободные Mesa драйверы. Нет доступных альтернатив.
NVIDIA
Для оборудования от NVIDIA доступные два драйвера: проприетарный драйвер NVIDIA и свободные Mesa драйверы (известные как nouveau). Свободные драйверы по-прежнему активно разрабатываются и доступны не во всех дистрибутивах и не для всех аппаратных средств. В общем случае рекомендуется использовать проприетарные драйвера. Вы используете проприетарные драйвера в том случае, если в строке Версия OpenGL/ES отображено значение NVIDIA.
Установка драйвера
Установка драйвера специфична для используемого дистрибутива. Пожалуйста, обратитесь к документации вашего дистрибутива по этому вопросу.
Версия OpenGL
KWin поддерживает OpenGL 1.x и OpenGL 2.x. По умолчанию, KWin использует возможности OpenGL 2 если они доступны. OpenGL 2 позволяет использовать больше эффектов, но требует оборудование по мощнее. Очень важно знать то, что даже если драйвер поддерживает только, к примеру, OpenGL 1.4 это дает возможность KWin использовать возможности OpenGL 2, доступные через расширения драйвера.
Вы можете найти версию OpenGL предоставляемую вашим драйвером в строке "Версия OpenGL/ES" в KInfoCenter как описано выше. Версия определяется первыми двумя или тремя цифрами, например, 2.1.
Выяснить использует ли KWin OpenGL 1 или 2 не совсем просто, так как это полностью полностью определяется во время выполнения. Наилучшим имеющимся тестом является использование эффекта инвертирования, который может быть включен в Meta + Ctrl + I. Если инвертируется, используется OpenGL 2, если ничего не происходит, то используется OpenGL 1 .
. После его включения экран должен быть инвертирован при помощи сокращенияМожно заставить KWin использовать to use OpenGL 1 пройдя в
и сняв галочку . Это повысит производительность устаревшего оборудования. В общем случае, использование шейдеров OpenGL 2, если драйвер сообщает о версии 3.x, полностью безопасно ( доступно только с NVIDIA на момент написания этой статьи).
kwin_gles
Beginning with KWin version 4.8 it is possible to use the separately built binary kwin_gles as a replacement for kwin. It behaves almost the same as the kwin executable in OpenGL2 mode with the slight difference that it uses egl instead of glx as the native platform interface.
To test kwin_gles you just have to run kwin_gles --replace
in Konsole. Since this is a rather new feature it is not as thoroughly tested as the normal kwin and feedback is always welcome. Assuming that the test succeeded and you want to use kwin_gles on a regular basis you can add an executable script to ~/.kde4/env/
that exports the KDEWM=kwin_gles
environment variable.
Thumbnail Scaling
The Compositor supports different scaling methods for thumbnails as rendered in the taskbar preview or effects like Present Windows. It is tried to render the thumbnails as accurate as possible which of course requires more resources.
The scaling method can be changed in
. The following settings are available:- Crisp
- Smooth
- Accurate
The table provides an overview of how the thumbnails are rendered with the different settings.
Overview of how the thumbnails are rendered with the different settings | |
---|---|
Crisp: | |
Smooth: | |
Accurate: |
By default Accurate is used. On Intel hardware Accurate is never used and cannot be enabled unless the environment variable KWIN_FORCE_LANCZOS is set to 1.
Switching from Accurate to Smooth can significantly improve the performance of effects like Present Windows.
General Speed of Animations
Animations take some time and the length of an animations is what makes people think that this is a snappy interface or that it lags. This is a very subjective feeling and the difference between too fast and too slow can be milliseconds. It is impossible to have a perfect value for all users.
The global animation duration level can be changed through
. It varies from "Extremely slow" to "Instant" which does not render any animations. By changing from "Normal" to "Fast" many users reported having a more snappy interface.Qt Graphics System
Since 4.7 (Released July 2011) the Compositor can use the Qt graphics system raster instead of native (X11). This is only relevant for rendering the window decorations and is not related to the compositing backends (OpenGL/XRender).
Which graphics system is used depends on the distribution defaults. For the Compositor raster is recommended especially if the NVIDIA driver is used.
Window Decorations
Some Window Decorations perform animations when a window gets activated. This influences the performance of effects if during an animation the active window changes. The performance impact can be reduced by using the graphics system "raster" (see above).
The default window decoration Oxygen provides an option to disable the animations:
Checkbox Enable animations. Disabling the animations can improve the performance.All window decorations which can be downloaded through the Get New Decorations... dialog use such animations, but it is not possible to disable them. If there is an performance impact due to the theme, it is recommended to use a different one. In general the themed decorations are not optimized and provided to look good and not to be fast.
Another area of window decorations which can impact the performance are shadows. Again the default decoration Oxygen provides a setting to disable them in the same configuration dialog as described above in tab "Shadows" and the themed decorations do not provide an option to disable shadows.
Blur Effect
The Blur Effect is one of the most expensive effects provided by the Compositor. By default it gets enabled for all hardware except Intel hardware. The performance impact of the blur effect depends on the number of open and translucent windows. Especially translucent widget styles (e.g. Oxygen Translucent) and translucent window decorations (e.g. Aurorae Themes) have an impact on the performance. If such a theme is used and the performance is bad it is recommended to either change the theme or disable the Blur effect.
The performance of the Blur effect can be adjusted through
. Moving the slider for strength to "Light" requires less resources while moving it towards "Strong" requires more resources. Since 4.8 (release January 2012) the intermediate rendering results can be kept (default) which improves the performance even with translucent themes.Advanced Desktop Effects Settings
The Compositor provides some advanced settings under
. Some of the settings have already been explained. This section focuses on the remaining settings. Changing these settings in general do not improve the performance but make it worse. The Compositor uses the best possible settings.Compositing type
The Compositing type allows choice of the compositing backend, either XRender or OpenGL. By default OpenGL is used which is hardware accelerated. XRender is available even if no OpenGL driver is installed (e.g. virtual machines) and uses mostly the CPU for rendering. Many effects are not available with XRender.
Keep window thumbnails
This has hardly any influence on performance. It is an option to decide how long thumbnails are kept. Best is to not touch this setting.
Suspend desktop effects for fullscreen windows
This setting influences the performance of fullscreen windows such as games. The compositor is suspended as long as there is a fullscreen window. The disadvantage is that it causes flickering when a window appears on top of the fullscreen window (e.g. a context menu) and is too generic. As well on some distributions (e.g. Kubuntu 11.04) the Intel driver causes a crash when closing the fullscreen window.
If the compositor should be disabled while a fullscreen application such as games or video is used it is better to disable compositing either through the shortcut Alt + Shift + F12 or since 4.7 (Released July 2011) through a window specific rule for the window.
OpenGL mode
Enable direct rendering
The compositor determines by itself whether direct rendering can and has to be used. Changing this setting will most likely break functionality.
Use VSync
VSync allows you to synchronize the rendering with the screen. Unless there is good reason to change, this setting should be enabled. Even if the setting is disabled the Compositor tries to use the frame rate the screen supports and by default a frame rate of 60 Hz is used.
For multiple screens it is important to know that the rendering can only be synchronized with one screen. In case the screens have a different frame rate it might be valid to disable this option and to set a manual frame rate.