我有一个作为服务运行的WPF应用程序,并呈现2D图形元素以拍摄jpg快照。所有这些都没有任何窗口或可见控制。
该应用程序通常在具有非常糟糕的视频适配器的服务器上运行:这是否会对应用程序的性能产生负面影响?
有没有办法告诉WPF / .NET忽略视频适配器的渲染,以便我可以在同一台机器上进行一些直接的比较测试?
答案 0 :(得分:2)
我找到了答案。供将来参考:
Session0隔离阻止服务从Windows Vista / 2008开始使用硬件加速(在WPF中,但也包括其他任何东西)。您可以在此处阅读更多内容:http://www.microsoft.com/whdc/system/sysinternals/session0changes.mspx
如果您运行的是XP或2003,则服务可以在加载视频驱动程序的交互式会话中运行:如果选中“允许服务与桌面交互”选项,则使用硬件加速(您可以获得渲染层2)你的硬件支持它,否则你得到渲染层0(仅限软件)。
请注意,如果您连接远程桌面并启动该服务,该服务将使用该会话(未加速)并将在渲染层0中运行。
(显然这意味着在Vista / 7/2008及更高版本中,您可以使用蹩脚的视频适配器运行该服务而不会产生任何后果)