我有一个网格控件。每次使用设备上下文类中的绘制线功能绘制组成网格的水平线和垂直线会更昂贵,还是将网格绘制一次到存储设备上下文更快,然后每次都使用blit窗口直流?谢谢。dc-> DrawLine()一堆或一个blit是否便宜?
1
A
回答
5
它取决于许多事情,包括你有多少行,网格有多大,以及用户有什么视频卡。
最好的办法是只做其中的一个(可能是DrawLine,我的直觉感觉会更简单快捷),然后在慢速机器上测试它。如果它工作并且速度足够快,不要过早地优化它。
1
A已经做出了这样的控制,并且在更新单元格时,我画出了每个单元格的边框。 (这只是一个替代思想)
0
这也取决于你使用的是什么样的笔。对于简单的纯色水平和垂直线条,IIRC填充矩形通常是最快的,但执行自己的基准测试应该相当简单。
2
另一种选择:创建一个画笔与网格模式,只是FillRect()
该地区。大多数时候,这是最快速的方式,从我的经验。
但是,“RichieHindle”是正确的;如果只通过测量速度就能得出事实,则不需要关于它的哲学;)..
0
简答:后者。一次刷新到内存DC,以便它可以用作后续重新绘制操作的位图通常是更快的渲染方法。
0
Blitting是首选,因为它会将图像复制到内存中。复制图像时,应在绘制图像时防止闪烁。
相关问题
- 1. 从Memcache或Blobstore服务是否更快/更高效/更便宜?
- 2. 这是一个较便宜的查询计数(ID)或按ID编号
- 3. 单身类NSDateFormatter或每个部分一个较便宜的代码?
- 4. 确定一个地址是否属于堆或堆栈或寄存器
- 5. SQL - 生成一个最便宜的选项列表
- 6. 是否有免费的或相对便宜的股市假期api?
- 7. 是否有一个库或一个malloc实现,它将堆上的内存分配给/像堆栈一样?
- 8. 什么是Tableau(ad-hoc BI)的免费软件(或更便宜)?
- 9. 亚马逊S3存储选项 - 哪一个是最好/最便宜的
- 10. 验证是否存在一个或另一个或两个(或)
- 11. Pygame blit在另一个之上?
- 12. 最便宜的结构?
- 13. 便宜SSL VS昂贵SSL
- 14. 较便宜的查询?
- 15. .NET try/catch便宜吗?
- 16. 托管MVC 3和我的SQL像PHP和MySQL一样便宜
- 17. 在MySQL中插入唯一行的最便宜的方法是什么?
- 18. SDL:什么是Blit?
- 19. Highcharts,检测是否点是第一个在堆栈
- 20. 替代GridView的排序,页面和便宜或免费?
- 21. 考虑购买JxBrowser ....任何更便宜或FOSS的替代品?
- 22. 什么是更有效率/更便宜,铸造或方法调用?
- 23. set_error_handler()是否适用于大多数便宜的虚拟webspace托管帐户?
- 24. PHP最便宜的方式如何检查是否存在远程映像
- 25. 是否有一个pymongo(或另一个Python库)批量保存?
- 26. 验证是否存在一个或另一个字段(XOR)
- 27. urlencode所有下一个参数是否方便? - django
- 28. 最便宜的Android 1.5设备
- 29. http请求价格便宜吗?
- 30. 最便宜的方式/ GAE上
+1:对于建议尝试并记录结果 - 出色的答案:-) – 2009-05-29 12:01:17
来自“Great programming quotes”的问题:“我们应该忘记小效率,大约97%的时间:过早优化是万恶之源“。 - 唐纳德克努特 – 2009-05-29 12:06:40