创建gdi笔刷和笔有多昂贵?我应该在需要添加的基础上创建它们并将它们包装在一个使用中,以便快速处理它们,还是应该创建一个类似于System.Drawing.Brushes类的静态类?使用笔刷和笔的指导原则
7
A
回答
5
IMO,它们也非常有效,你应该平时不创建用于在几个方法调用长寿命的情况下,却足以效率低下,你应该一个特定的方法中创建每个只有一次,而不是创建一个新的每次你需要绘制一个东西。
换句话说,不要在您的课堂中存储用于在每个OnPaint
调用上绘制文本的自定义画笔,也不要为您在该OnPaint调用中绘制的每一行文本创建新画笔,要么。
2
试图自定义绘制在Web应用程序的图像负载下具有静态刷的时候我遇到例外。
我不知道技术上的原因,但我认为画笔和笔不是线程安全的,所以我会按照线程安全的方式创建它们,并在该范围内处理它们,可能会使用。
1
对于我们配置的GUI,我们想出我们会尽量只把它们放在“使用”绘制我们的控制时(重新创建在需要时),并推断如果需要的话,我们会优化。
它没有被要求。
这是WinCE上的WinForm,它通常意味着它很擅长显示桌面上可能会稍微慢一些的东西(例如,WinCE上的反射感觉更加昂贵),所以除非您在桌面上执行一些疯狂的图像操作, mucho perf然后我认为你应该很好地创建它们,并在需要时。用画笔
IIRC。 GDI中的集合可能是一个选项,因为这可以确保它们在最终被缓存和处理,尽管我不确定那里的线程安全性。
相关问题
- 1. WPF:恢复笔刷为默认/原创
- 2. AS3的Photoshop笔刷
- 3. 如何获取所有笔和笔刷的数组?
- 4. 是否有“笔”类来补充WPF中的“笔刷”和“颜色”?
- 5. 管理MFC中的字体,笔刷和笔
- 6. Android定制笔刷
- 7. Gimp - 锯齿笔和画笔笔划
- 8. 在GLPaint中使用笔刷清除
- 9. 如何刷新笔尖?
- 10. 如何制作软笔刷
- 11. 笔刷打印不连贯
- 12. GLPaint更改笔刷大小
- 13. d3画布笔刷/选择
- 14. 使用IDictionary(.NET)的指导原则
- 15. d3在条形图上使用缩放和笔刷
- 16. C#如何在数据库表中存储笔刷/笔信息
- 17. HTML5画笔笔尖
- 18. 导入器错误,当我的笔记本jupyter笔记本
- 19. iOS - 不会覆盖自身的笔刷
- 20. 绑定到笔刷的颜色
- 21. CAShapeLayer更改不同笔刷的宽度
- 22. WPF更改样式的笔刷颜色
- 23. DotNetNuke和颠覆指导原则
- 24. WPF - 笔刷上的相对变换导致锯齿状线条
- 25. 在同一个库中的Android单笔和多笔笔势混淆了GesturesOverlayView?
- 26. 手写笔笔尖渐变
- 27. 使用Lucene荧光笔和MultiFieldQueryParser
- 28. 圆形笔画的笔画动画以完整笔画结尾
- 29. d3.js:处理多个笔刷
- 30. iOS Photoshop笔刷硬度像Photoshop一样