第二天(11/16/2010)

step 2: abstract

1. RenderCapability 类:

 Enables WPF applications to query for the current rendering tier for their associated Dispatcher object and to register for notification of changes.

RenderCapability.Tier 属性:Gets a value that indicates the rendering tier for the current thread

 

返回值

呈现层

说明

0x00000000

0

没有图形硬件加速可用于设备中的应用程序。

0x00010000

1

部分图形硬件加速在视频卡中可用。这对应于高于或等于 7.0 并且低于 9.0 的 DirectX 版本。

0x00020000

2

呈现层的值为 2 意味着,如果必要的系统资源尚未耗尽,则 WPF 的大部分图形功能应使用硬件加速。这对应于高于或等于 9.0 的 DirectX 版本。

2. RenderOptions 类:

Provides options for controlling the rendering behavior of objects.
RenderOptions.ProcessRenderMode 属性:Specifies the render mode preference for the current process.

 说明:

请使用 ProcessRenderMode 属性来强制为当前进程进行软件呈现。如果改变软件呈现首选项,您可以避免很多在 WPF 应用程序中出现的并由外部问题引发的呈现问题。

在应用程序启动过程中,如果您的应用程序检测到呈现问题,如较慢的帧速率,您可以将呈现模式设置为仅软件。此外,您可能希望在应用程序运行时启用用户设置。

SoftwareOnly 的存在会覆盖 RenderMode 设置。软件呈现的优先顺序为:

  1. DisableHWAcceleration 注册表项
  2. ProcessRenderMode
  3. RenderMode(每个目标)

注    ProcessRenderMode 指定一个首选项,且它不一定更改实际呈现模式。该系统的其他部分可能会重写此首选项,并强制系统使用软件呈现。

3. HwndTarget 类:

表示到支持可视化撰写的窗口句柄的绑定
HwndTarget.RenderMode 属性:获取或设置由此 HwndTarget 引用的窗口的呈现模式,RenderMode 值之一,用于指定当前的呈现模式。默认值为 RenderMode.Default

例:

HwndSource hwndSource = PresentationSource.FromVisual(visual) as System.Windows.Interop.HwndSource; 
HwndTarget hwndTarget = hwndSource.CompositionTarget; 
hwndTarget.RenderMode = renderMode;

 

总结:

  • 可以使用三种方式改变rendering方式,他们的顺序为
  1. DisableHWAcceleration 注册表项
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration,0为启用硬件加速,1为禁止硬件加速
  2. ProcessRenderMode (静态属性,对应每个进程)
    RenderOptions.ProcessRenderMode = RenderMode.Default;
    RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
  3. RenderMode(非静态属性,对每个目标,窗口)
    HwndSource hwndSource = PresentationSource.FromVisual(visual) as System.Windows.Interop.HwndSource; 
    HwndTarget hwndTarget = hwndSource.CompositionTarget; 
    hwndTarget.RenderMode = renderMode;
  • RenderCapability.Tier只指示当前的机器具有多大的能力实现硬件加速,它在当前现实的内容改变显示器现实,或者从这个显示器拖动到另外一个显示器现实的时候会改变
    RenderCapability.TierChanged事件会在RenderCapability.Tier改变时触发

转载于:https://www.cnblogs.com/mycom/archive/2010/11/16/1878574.html

WPF Rendering 2(硬件加速、软件加速)相关推荐

  1. 深度学习中的软件加速算法

    深度学习算法对于人工智能的推动作用不言而喻,但其对计算力的要求也显而易见.如何使其运行更高效是摆在不少工程师面前的难题,通常他们会在代码中直接采用一个比较成熟的矩阵运算数学库,开源项目OpenBLAS ...

  2. html5控制gif速度,gif加速软件 教你加快GIF图片的播放速度

    一位狸友在编辑GIF动态图片时碰到了一个问题,就是不知怎么把GIF动画的播放速度加快(或减慢).如果你也正巧碰到此类疑问或想知道GIF加速的方法,可以接着往下看哦.其实先理解了GIF动画的原理,并找对 ...

  3. 德国精品软件 Throttle 网络加速软件

    Throttle(网络加速软件)是PGWare出品的网络加速软件,可自动根据处理器系列及操作系统版本进行优化!Throttle(网络加速软件)号称可以将你的 Internet 连接速度优化到200% ...

  4. fota 差分包_艾拉比FOTA差分升级助力电力厂商加速软件迭代

    电力载波作为电力系统特有的通信方式,广泛应用在远程抄表领域.但是由于电力载波拥有可靠性差,通讯不稳定的缺点,使得设备的升级成功率比较低.本期的小课堂,艾拉比将系统介绍下我们提供的FOTA差分升级是如何 ...

  5. 【Sentieon】基因测序数据NGS二级分析加速软件模块介绍

    [Sentieon]基因NGS二级分析加速软件模块介绍 Sentieon软件的使用非常灵活.用户可以直接使用完整Pipeline流程,也可以根据需要单独调用相关模块去替换原流程中的模块.Sentieo ...

  6. 【工具】PrimoCache和Qiling:快速缓存优化加速软件

    才发现原来还有这种软件!这两个软件通过快速缓存可以提高整体系统性能.系统或其他应用程序频繁访问的临时文件,以及读取RAM内存的速度远远大于真实硬盘,因此将经常访问的数据缓存到RAM中显着提高了读取数据 ...

  7. 什么软件可以测试提速,谁是手机加速神器?三款常用加速软件横评

    手机越用越卡是每个人都会遇到的问题.原来在使用一段时间,手机中就会产生系统盘垃圾.内存缓存垃圾.广告垃圾等等,而这些直接影响手机运行速度.但目前很多手机清理软件号称可以清除手机垃圾,提高运行速度.那么 ...

  8. 【音频+视频】最全加速软件推荐

    转自:http://mini.eastday.com/mobile/161230234500986.html 音频加速软件推荐 Ios(苹果)适用的: KMPLAYER,豆豆复读机,moliplaye ...

  9. 手机视频性能测试软件,手机看视频拒绝卡顿!三款常见加速软件对比实测

    在如今快节奏时代,使用手机看电影视频随处可见,但是在观看过程中那些恼人的卡顿.视频缓冲画面非常令人讨厌,其实这个问题是可以通过加速软件解决的,而这也成为了视频迷们的"救命草",现在 ...

  10. 华为大连软件开发云上线,打造软件云生态,加速软件产业升级

    2016年12月22日,2016华为大连软件开发云上线大会在大连市成功举办,吸引了近千余名政府和软件企业高层.教育行业精英.开发人员.媒体.意见领袖等出席.在本次大会上,华为发布了集华为研发实践.前沿 ...

最新文章

  1. LeetCode1117. Building H2O --Java解法--多线程保证执行顺序--AtomicInteger
  2. Zookeeper一致性级别分析,终于彻底把握了
  3. sizeof运算求结构体大小
  4. objective-c 2.0编程语言,Objective-C 2.0程序设计(原书第2版) 中文PDF扫描版[15MB]
  5. java file pathname_int compareTo(File pathname)
  6. cgi备份还原和ghost有什么区别_手动GHOST还原重装系统详细教程
  7. 解读设计模式----命令模式(Command Pattern)
  8. Objective-C初学者指南(第2版)
  9. 继扫楼推广后,P图病历也可发起筹款,水滴筹回应...
  10. Visual Studio 2008 WPF设计器智能提示(Intellisense)失效
  11. atitit.jndi的架构与原理以及资源配置and单元测试实践
  12. 网络聊天室Java群聊私聊_Java Spring + Spring MVC + Mybatis WebSocket实现网络聊天室(群聊+私聊)...
  13. WAP 2.0介绍和使用规范
  14. 傅里叶分析(通俗解释)
  15. 基于javacv的视频转码(升级版)
  16. 第四届传智杯 小卡与质数(java实现)
  17. ERROR2002(HY000):CantconnecttolocalMySQLserverthroughsocket/tmp/mys
  18. Android 学习
  19. cacti 介绍
  20. 嵌入式系统硬件体系设计(一)

热门文章

  1. Windows 2008 Core 常用命令
  2. 转载:如果你到了20岁,还没到 25岁 作者:李开复
  3. 【漏洞复现】局域网 ARP 中间人攻击 获取他人账号密码
  4. kali下搭建WiFi钓鱼热点
  5. 观察者模式之:从三国混战看创业者精神。
  6. C#实现--单链表(链式)
  7. kafka----kafka connect的使用(一)
  8. 关于JS中的严格模式
  9. Best Cow Line (POJ 3217)
  10. oracle中decode方法使用