位图

用MFC如何高效地绘图

一曲冷凌霜 提交于 2019-11-27 01:45:22
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单, 只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈 我的一些观点。 1、显示的图形为什么会闪烁? 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏 幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时, 总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容 反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来 在闪。如果将背景刷设置成NULL,这样无论怎样重绘图形都不会闪了。 当然,这样做会使得窗口的显示乱成一团,因为重绘时没有背景色对原来 绘制的图形进行清除,而又叠加上了新的图形。 有的人会说,闪烁是因为绘图的速度太慢或者显示的图形太复杂造成的, 其实这样说并不对,绘图的显示速度对闪烁的影响不是根本性的。 例如在OnDraw(CDC *pDC)中这样写: pDC->MoveTo(0,0); pDC->LineTo(100,100); 这个绘图过程应该是非常简单、非常快了吧,但是拉动窗口变化时还是会看见 闪烁。其实从道理上讲

用MFC如何高效地绘图

☆樱花仙子☆ 提交于 2019-11-27 01:45:00
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。 1、显示的图形为什么会闪烁? 我们的绘图过程大多放在OnDraw或者OnPaint函数中, OnDraw在进行屏幕显示时是由OnPaint进行调用的 。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果将背景刷设置成NULL,这样无论怎样重绘图形都不会闪了。当然,这样做会使得窗口的显示乱成一团,因为重绘时没有背景色对原来绘制的图形进行清除,而又叠加上了新的图形。 有的人会说,闪烁是因为绘图的速度太慢或者显示的图形太复杂造成的,其实这样说并不对,绘图的显示速度对闪烁的影响不是根本性的。 例如在OnDraw(CDC *pDC)中这样写: pDC->MoveTo(0,0); pDC->LineTo(100,100); 这个绘图过程应该是非常简单、非常快了吧,但是拉动窗口变化时还是会看见闪烁。其实从道理上讲

演示DML操作导致位图索引锁定的简单示例

♀尐吖头ヾ 提交于 2019-11-26 20:37:45
一、实验说明: 操作系统:rhel 5.4 x32 数据库:Oracle 11g R2 二、实验步骤: 2.1、在没有位图索引进行DML操作的例子(该实验建立b-tree索引做对比): 1 SQL > select distinct sid from v$mystat; 2 3 SID 4 -- -------- 5 1 6 7 SQL > create table jack_test (id int ,name varchar2 ( 10 )); 8 9 Table created. 10 11 SQL > insert into jack_test values ( 1 , ' aa ' ); 12 13 1 row created. 14 15 SQL > insert into jack_test values ( 2 , ' bb ' ); 16 17 1 row created. 18 19 SQL > insert into jack_test values ( 3 , ' cc ' ); 20 21 1 row created. 22 23 SQL > insert into jack_test values ( 1 , ' dd ' ); 24 25 1 row created. 26 27 SQL > commit ; 28 29 Commit complete

Windows_API_函数 参考大全

本小妞迷上赌 提交于 2019-11-26 19:04:20
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 WNetEnumResource 枚举网络资源 WNetGetConnection 获取本地或已连接的一个资源的网络名称 WNetGetLastError 获取网络错误的扩展错误信息 WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称 WNetGetUser 获取一个网络资源用以连接的名字 WNetOpenEnum 启动对网络资源进行枚举的过程 2. API之消息函数 BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口 GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置 GetMessageTime

Android App 卡顿分析

梦想的初衷 提交于 2019-11-26 16:49:07
极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 Android App 反应卡顿,从技术上将就是UI 渲染慢。 UI渲染 是从您的应用程序生成一个框架并将其显示在屏幕上的行为。 为了确保用户与您的应用程序的交互顺利,您的应用程序应该在 16ms 内渲染帧数达到 每秒60帧(为什么60fps?) 。 如果您的应用程序因UI渲染速度缓慢而受到影响,那么系统将被迫跳过帧,用户将感觉到您的应用程序中出现卡顿。 我们把这个叫做 jank 。 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 1.UI 渲染简介 2.识别Jank 3.Fix Jank 4.引起Jank 通用问题举例 1.UI 渲染简介 为了帮助您提高应用程序质量, Android 会自动监视您的应用程序是否有空,并在 Android 生命危险仪表板中显示信息。 有关如何收集数据的信息,请参阅 Play Console 文档。 如果您的应用程序出现问题,本页提供诊断和解决问题的指导。 Android 生命危险仪表板和 Android 系统会跟踪使用 UI Toolkit 的应用程序的渲染时间统计信息(应用程序的用户可见部分是从 Canvas 或 View hierarchy 绘制的)。 如果您的应用程序不使用 UI