我正在写一个控件,其中有很多自定义绘图正在进行。正因为如此,我需要削减“屏幕写入”的数量。目前只有一个内存DC用于写入屏幕,以避免重绘控件时出现闪烁。我想知道是否有可能使用2个或更多内存DC独立写入更新,然后将它们分配给屏幕。这样就可以最小化渲染屏幕未更改部分的需求。结合2个内存DC?
0
A
回答
0
您可以使用多个单独的DC,但都写入相同的位图。在这种情况下,你会得到一个“最后写赢”策略 - 即最后一次写入位图中的任何给定点将成为最终图片中显示的那个点。
这不会在减少绘图到屏幕的方式上获得太多(如果有的话)。 OTOH,一个BitBlt
通常足够快,它不太可能有很大的区别。
0
您可以根据需要制作任意数量的DC,将屏幕的一部分准备在一个BitBlt()中,将其内容放入另一个DC中,然后将BitBlt()写入屏幕或其他任何复杂的你想要(在明显的句柄等nr的Windows范围内)。
我同意上面的评论,但它不可能给你任何速度上的收益。我在哪里使用它有时是当复杂的区域:需要更新的区域时,这样做可以节省大量的位置计算。
相关问题
- 1. 结合2个bookmaklets
- 2. 结合2个表
- 3. MYSQL结合2个表
- 4. 结合2个脚本
- 5. 结合2个PHP函数
- 6. RxJava - 结合2个呼叫
- 7. 结合2个CSV文件
- 8. 结合2个字符串
- 9. 结合2个LINQ操作
- 10. SQL结合2个表
- 11. 结合2个左连接
- 12. Rxjs结合2个观测,角2
- 13. 结合ndb.Tasklets与内存缓存读取
- 14. 结合了2个IQueryable结果
- 15. 结合2流
- 16. 结合2个MySQL查询到一个
- 17. 结合2个查询一个
- 18. 结合2列从2个表合并到一列
- 19. 结合2功能
- 20. SQL Server存储过程合并2个OpenQuery的输出结果
- 21. 在SQL中组合2个结果集?
- 22. PHP结合了2个像表阵列
- 23. 2个键排序,并结合双方
- 24. SQL合并2结果在一个
- 25. 结合2个阵列为1
- 26. 在Python中结合2个列表
- 27. 结合2个阵列不同长度
- 28. 结合2个正则表达式
- 29. 需要结合2个mysql查询
- 30. 的Sql结合2行至一个