2014.9.20
来源:互联网 发布:json rpc restful 编辑:程序博客网 时间:2024/04/29 15:16
MFC中CString和LPCTSTR的关系:
当你需要一个const char* 而传入了CString时, C++编译器自动调用 CString重载的操作符 LPCTSTR()来进行隐式的类型转换。
当需要CString , 而传入了 const char* 时(其实 char* 也可以),C++编译器则自动调用CString的构造函数来构造临时的 CString对象。
因此CString 和 LPCTSTR 基本可以通用。
2、双缓存
产生闪屏的原因是类似于多进程之间的通信问题,每次DC的绘图操作,都要把相关的显示数据发送到显卡,显卡处理后,在显示器上显示。借鉴提升多线程之间的通信效率的解决方法,可通过减少与显卡之间的交互次数来提升绘制的效率。这也就是双缓存的思路。双缓存的原理是先把更新操作中所有绘制数据先写入内存,然后再调用BitBlt或StretchBlt一次性的把所有数据发送到显卡中。
用一个比喻来说,没有用双缓存就像老师讲课时在黑板上使用粉笔写板书,学生能看到老师写板书的整个过程,如果把黑板看做是一个屏幕的话,老师在写板书的过程,就是一个闪屏的过程。
使用了双缓存,就像老师采用了多媒体教学,老师就可以提前在家把板书用PPT做好,上课时只要一页一页的翻PPT就可以了,学生们是看不到PPT制作的过程,也就会有闪屏的问题了。
可采用了如下代码来实现双缓存。
0 0
- 2014.9.20
- OpenCV 学习日记-写在前面(1) 2014.9.20
- 【菜鸟学Opencv 1】-vs2013+OpenCV2.48或2.49的配置 2014.9.20
- 2014.9.11
- 2014.9.17
- 2014.9.17
- 2014.9.18
- 2014.9.21
- 2014.9.25
- 2014.9.30
- 2014.9.9 布局属性
- 10-2014.9.9
- 随笔(2014.9)
- 【记录吧】2014.9.30
- 2014.9.10 暑假集训
- 2014.9~2015.3 读书心得
- 去哪网 2014.9.25 笔试题
- 2014.9.6模拟赛【工资】
- 面试随想
- windows驱动开发
- 在SQL数据库中为指定数据库新建一个管理用户
- Codeforces 467D. Fedor and Essay
- 主成分分析和因子分析十大不同点
- 2014.9.20
- BeanUtils.populate的作用
- Hibernate实现有两种配置,xml配置与注释配置
- Oracle数据库备份与恢复总结
- CSS中margin和padding的区别
- C++中const的实现机制深入分析
- Sql Server 锁机制
- 游戏开发过程详细介绍
- 数据挖掘在金融行业十大应用