当前位置:网站首页 / WPF / 正文

[ay wpf]RenderOptions 如何将缓存提示选项用于 DrawingBrush

时间:2016年04月09日 | 作者 : aaronyang | 分类 : WPF | 浏览: 1634次 | 评论 0

默认情况下,WPF 不缓存 DrawingBrush 和 VisualBrush 对象的已呈现内容。 在内容或场景中对画刷的使用均不更改的静态情况下,不缓存是有利的,因为它可以节省视频内存。 以非静态方法使用具有静态内容的画笔时,WPF 的默认行为是逐帧重新呈现画笔的所有内容,即使内容没有更改也是如此。 例如,将在静态 DrawingBrush 或 VisualBrush 映射到旋转 3D 对象的表面时发生这种情况。 重新呈现可对性能产生负面影响的静态内容。

通过将画笔的 CachingHint 附加属性设置为 Cache,可以使用图块画笔对象的缓存版本来提高性能。

CacheInvalidationThresholdMinimum 和 CacheInvalidationThresholdMaximum 属性值是相对大小值,可确定由于缩放比例更改而应重新生成 TileBrush 对象的时间。 例如,当 CacheInvalidationThresholdMaximum 属性设置为 2.0 时,仅当 TileBrush 的缓存大小超过当前缓存大小的两倍时,才需要重新生成。

使用此方法设置代码中的 CachingHint 附加属性。



======================================== AYUI       www.ayjs.net      AY         杨洋原创编写,请不要转载谢谢===============

DrawingBrush drawingBrush = new DrawingBrush();

// Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache);

// Set the minimum and maximum relative sizes for regenerating the tiled brush.
// The tiled brush will be regenerated and re-cached when its size is
// 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5);
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0);

.NET Framework

受以下版本支持:4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1


推荐您阅读更多有关于“WPFWPF4.5,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

合肥科大智能常年招聘C# .NET CORE,vue前端,JAVA开发,有想换工作的私聊我AY唯一QQ:875556003和AY交流

抖音号:wpfui,可以看到我的很多作品效果,私活合作请qq联系我

AYUI8社区版Github地址:前往获取

作者:杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没公司AY唯一QQ:875556003和AY交流

高中学历,2015年1月17日开始,兴趣学习研究WPF,目前工作繁忙,不接任何活

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费.AY主要靠卖技术服务挣钱

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表