2015-06-15 2 views
5

Я недавно изменил значение «включить время выполнения» в параметрах проекта, и мне интересно, влияет ли его значение на производительность приложения и, в случае, каким образом? Надеюсь, кто-то может прояснить мне этот момент. enter image description hereВлияет ли «включить темы времени выполнения» на производительность?

+0

Это не влияет на производительность в моем приложении. Я не знаю, что делает ваше приложение, поэтому трудно предсказать, имеет ли это значение для вас. Почти наверняка это не имеет значения. Вы прокомментировали? –

+0

Вы измеряете производительность? Если это так, измените настройку, снова измерьте и сравните результаты, чтобы получить ответ. Если вы этого не сделаете, я не понимаю, как ответ на этот вопрос имеет значение. –

ответ

8

Что «Включение темы во время выполнения» на самом деле делает это говорить Windows, чтобы Enable Visual Styling из приложений с помощью следующих Manifest Стажер

<dependentAssembly> 
     <assemblyIdentity 
      type="win32" 
      name="Microsoft.Windows.Common-Controls" 
      version="6.0.0.0" 
      processorArchitecture="*" 
      publicKeyToken="6595b64144ccf1df" 
      language="*" 
     /> 
    </dependentAssembly> 

Вы можете также во время выполнения темы включены в более старых версиях Delphi, используя различные методы. В Delphi 7 был включен компонент TXPManifest, который имел такой же эффект, как «Включить тему времени выполнения».

Включение тем времени выполнения влияет на часть GUI приложения. Очевидно, что рисование плоской кнопки стиля Win 95 должно быть более впечатляющим, чтобы градиент рисования округлялся с помощью кнопки Win XP/Vista/Win7, но, как отмечают @DavidHeffernan и @TLama, это может быть и так. Одна из проблем здесь также измеряет фактическую производительность, поскольку она может зависеть от многих факторов. Таким образом, даже если вы делаете некоторые фактические результаты профилирования производительности, вы можете сильно перекосить. Реальный вопрос здесь заключается в том, что разница в производительности графического интерфейса между не-тематическим и тематическим приложением (независимо от того, какой из них окажется быстрее) вызывает у вас некоторую озабоченность.

Ответ на эту часть не будет. Во-первых, любое влияние на производительность, которое у вас может быть, связано с GUI. Во-вторых, статический графический интерфейс приложений Windows гораздо менее требовательный, чем любая 3D-игра, на которой наши компьютеры полностью способны работать. И так как визуальный стиль был введен с Windows XP, и тогда у компьютеров не было проблем с производительностью при обработке стилей (он используется по всей системе), в котором рассказывается о производительности рабочих тем в современных приложениях, работающих на современном оборудовании, это просто пустая трата времени.

+2

Даже правдоподобно, что тематическая роспись быстрее, чем не тематическая. Правдоподобно, что первое оптимизировано, а второе - нет. –

+1

Трудно сказать, улучшит ли рендеринг одного приложения без тем в своей тематической среде. DWM использует аппаратное ускорение (через DirectX) для его рендеринга, поэтому оно должно быть эффективным. Вопрос в том, насколько сложна для этой среды рендеринг не-тематического приложения. – TLama

+0

@DavidHeffernan Да, правдоподобно, что это наоборот. Существует еще одно соображение по темам, и это прозрачность границ Windows, которая имеет некоторое влияние на производительность, если используется тема Aero. –

Смежные вопросы