我正在开发一款适用于Windows XP、7和8的应用程序。
为了测试这个应用程序,我用了两台电脑。
当启用硬件加速时: - 在第一台电脑上,应用程序非常流畅 - 在第二台电脑上,应用程序非常缓慢
当禁用硬件加速时: - 在第一台电脑上,应用程序有点慢 - 在第二台电脑上,应用程序有点慢
因此,我想根据启动应用程序的计算机来禁用硬件加速。为此,我目前正在使用以下代码:
问题在于两台计算机都具有RenderingTier = 2。这就是为什么我想要替换的原因。
当启用硬件加速时: - 在第一台电脑上,应用程序非常流畅 - 在第二台电脑上,应用程序非常缓慢
当禁用硬件加速时: - 在第一台电脑上,应用程序有点慢 - 在第二台电脑上,应用程序有点慢
因此,我想根据启动应用程序的计算机来禁用硬件加速。为此,我目前正在使用以下代码:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
//Try to improve performances
int renderingTier = (RenderCapability.Tier >> 16);
if(renderingTier < 2)
{
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
}
}
}
问题在于两台计算机都具有RenderingTier = 2。这就是为什么我想要替换的原因。
if(renderingTier < 2)
{
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
}
by
if(renderingTier < 2 || Something())
{
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
}
你能帮我找到函数“Something()”吗? 谢谢。