`
ijavagos
  • 浏览: 1267145 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

GDI画图的几种方式(小游戏不闪烁)

阅读更多
1 画图方式:
1.1 使用临时DC,先将要画的界面全部画到临时DC,到最后才全部帖回原DC,这样就不会出现闪烁.
1.2 创建的GDI对象要删除,不然会造成泄露.
将新对象选进DC,一般要保留旧的对象,然后用完新对象,把老对象选回DC.
一般Create*** 函数多要记得Delete***
GetDC <--> ReleaseDC
还有就是CPaintDC dc(this),获取的DC,不需要你去删除,并且CPaintDC已经封装了
BeginPaint和EndPaint组合

2 更新方式:
2.1 全部画图全部更新
这种方式主要用在控件上(小范围),画的东西并不多,可以采用本方式
2.2 全部画图局部更新
此方式用的比较多,主要还是方便,但是CPU占用相对来说还是高了一点
我的一个麻将采用这种方式,结果占用CPU一般保持在5%(5%-10%)[测试环境:笔记本无显卡]
2.3 局部画图局部更新
这个方法是最好的,不过代码相对复杂一点,如果类封装的好,也没什么问题.
我的纸牌和一些飞机小游戏游戏采用这类方式,CPU占用一般只有1-3%[测试环境:笔记本无显卡]
分享到:
评论

相关推荐

    利用DELPHI开发工具进行GDI画图

    本篇文章将深入探讨如何使用DELPHI结合GDI进行画图,并实现无规则区域的绘制与修改。 首先,理解GDI的基本概念至关重要。GDI是Windows API的一部分,它为开发者提供了一系列函数和结构,用于控制屏幕上的图形输出,...

    画图 GDI 画笔 椭圆

    画图 画图函数的使用,GDI的绘图工具的使用 画图 画图函数的使用,GDI的绘图工具的使用画图 画图函数的使用,GDI的绘图工具的使用

    C# GDI+ 简单画图小例子(适合新手)

    C# GDI+ 简单画图小例子(适合新手) 如有转载,请注明出处:http://www.cnblogs.com/flydoos/archive/2011/09/22/2184943.html C# GDI+ 简单画图小例子(适合新手) 专门写给新手看的,加了一些人性化的注释...

    GDI+画图板程序

    本项目是一个使用GDI+编写的画图板程序,对于想要学习GDI+基础和实践操作的人来说,这是一个很好的起点。 GDI+的主要功能包括: 1. **图形绘制**:GDI+提供了丰富的绘图工具,如线条、曲线、矩形、椭圆、多边形等...

    GDI画图模块易语言源代码

    GDI画图模块易语言源代码,易语言源代码。

    使用GDI画图示例

    在Windows编程领域,GDI(Graphics Device Interface)是微软提供的一种图形设备接口,它允许程序员创建和控制应用程序的图形输出。本示例主要面向初学者,讲解如何利用GDI进行基本的画图操作。 首先,我们需要理解...

    基于C#的 读取XML数据的GDI画图 程序

    要实现基于C#的XML数据读取与GDI+画图,我们需要以下步骤: 1. **读取XML数据**:首先,我们需要使用`System.Xml.Linq`库中的`XDocument`类来加载XML文件。例如: ```csharp XDocument doc = XDocument.Load("path_...

    C#GDI在picturebox上画图代码

    要实现在`PictureBox`上画图,我们需要做以下几步: 1. **初始化绘图环境**:在`PictureBox`控件的`Paint`事件中,我们可以通过`e.Graphics`获取到一个`Graphics`对象,这个对象是GDI+的主要绘图接口,可以用来执行...

    C# GDI画图和交互式操作 点和连接线鼠标添加 删除 拖动等

    本教程将深入探讨如何利用GDI+进行画图和交互式操作,特别是涉及点和连接线的动态管理,包括鼠标添加、删除和拖动等功能。 首先,我们要了解GDI+的基本概念。GDI+提供了`System.Drawing`命名空间,其中包含了用于...

    GDI.rar_GDI动画_GDI画图_visual c

    在**Visual C++**中,GDI的使用通常结合MFC(Microsoft Foundation Classes)库,这是一个C++类库,它为Windows API提供了一种面向对象的封装。通过MFC,开发者可以更方便地创建GDI对象并管理它们的生命周期。例如,...

    GDIPlusDemo.rar_GDI 画图_GDIplus vs2008_gdi 画图_vs2008 cpp gdi

    在《GDIPlusDemo.rar》这个压缩包中,包含了一个使用GDI+进行画图的示例项目,该示例是用Visual Studio 2008(VS2008)开发的,非常适合VC++初学者学习和理解图形绘制的基本概念和方法。通过这个项目,你可以了解到...

    c# GDI+画图

    本教程源码深入讲解了如何利用C#和GDI+进行画图操作,包括但不限于创建验证码、图像处理等方面。 1. **GDI+基础** - **图形对象**:GDI+中的`Graphics`类是所有绘图操作的核心,用于在特定设备上下文中执行绘图。 ...

    21095925320.rar_C#画图_C#画图源码_GDI 画图_c# 画图_gdi C#

    GDI+画图系统(c#源码),一个比较完整的画图系统。

    GDI.rar_GDI 画图_GDI绘图功能_gdi 画线_gdi+画线

    GDI(Graphics Device Interface)是Windows操作系统中的图形设备接口,它为应用程序提供了一种与硬件无关的方式来绘制图形,包括文字、图像以及各种图形元素。GDI+是GDI的升级版,增加了更多现代图形处理的功能,...

    MFC-GDI-draw.zip_mfc gdi+ 画图_画图小程序GDI+

    在描述中提到的"画图小程序GDI+",意味着我们将利用GDI+的绘图功能。GDI+提供了一系列的图形类,如Graphics、Pen、Brush和Image等,它们分别用于绘制图形、线条、填充和显示图像。例如,Graphics类是绘制的基础,...

    gdi画图例子

    总的来说,GDI画图是一个涉及设备上下文、内存DC、位图以及一系列绘图函数的过程,这种离屏绘图方式提高了程序的性能,使得复杂的图形操作更加高效和灵活。通过学习和掌握这些知识点,开发者可以创建出丰富、动态的...

    mfc 使用gdi画图、打开图片、保存图片

    在MFC(Microsoft Foundation Classes)框架中,GDI(Graphics Device Interface)是Windows API提供的一种图形设备接口,用于处理屏幕和打印机等设备的图形输出。本教程将详细讲解如何使用MFC结合GDI进行画图操作,...

    GDI+画图(vs2005+c#)

    GDI+画图(来自网络,由本人整理) 包括(2d的饼图(不够漂亮待完善,柱状图,折线图)) 3D柱状图,可以支持c/s,b/s。 还加一个移植的2d柱状图(不够漂亮待完善),移动平台 (vs2005+wm5.0+c#)

    c#躲球游戏源代码,使用GDI画图

    【标题】:“C#躲球游戏源代码,使用GDI画图” 这个游戏是基于C#编程语言开发的一个简单而有趣的小游戏,它充分利用了C#的面向对象特性以及Windows Forms应用程序框架。游戏的核心机制是利用GDI+(Graphics Device ...

    GDI抗锯齿画图源码

    在GDI中,可以采用几种不同的方法实现抗锯齿: 1. **Alpha混合**:这种方法涉及到像素的透明度,即alpha通道。通过混合颜色和背景,使得边界更加平滑,从而达到抗锯齿的效果。在GDI中,可以通过SetBkMode函数设置...

Global site tag (gtag.js) - Google Analytics