惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
Jina AI
Jina AI
博客园_首页
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
N
News | PayPal Newsroom
S
Security Archives - TechRepublic
量子位
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Cisco Blogs
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
Scott Helme
Scott Helme
S
Securelist
Security Latest
Security Latest
爱范儿
爱范儿
TaoSecurity Blog
TaoSecurity Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
Intezer
L
LINUX DO - 最新话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
美团技术团队
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
月光博客
月光博客
T
Tailwind CSS Blog
Cloudbric
Cloudbric
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
D
DataBreaches.Net
博客园 - 【当耐特】
有赞技术团队
有赞技术团队

博客园 - 跌跌撞撞

CArchive的一个经验 设计Client 加载COM的方式 学习反汇编记录 299错误解决记录 23日记录 用ADO访问存储过程的参数问题 SDKMisc的一个小错误 年初一作诗 总是在最求效率。 新感 下来做什么呢 开发目录包括的内容 太可爱的小小播放器 lucene的设计 上海感觉 写一点感想 项目管理的成功秘密(翻译) 昨天看书的心得
走出GDI
跌跌撞撞 · 2007-11-15 · via 博客园 - 跌跌撞撞

  前几天给朋友设计项目,需要1280*1024的屏幕达到5屏/s的速度,用Gdi做了一次设计,本地速度20屏/s,异地Socket速度也有近20屏/s和250M/s的结果,超额达到了他的设计要求。
  本来设计完成了,上班闲了很想继续深究、继续优化设计,开始采用DShow做设计,速度很快,却不知道如何将DIB锁定下来,没有深想,只要实践了理论,验证出速度是多少就成了。一转身拿DDraw做了另一个Win32的程序,验证结果有些吃惊,采用了覆盖模式,速度达到了300屏/s,采用SetColorKey做面,速度和Gdi差不多。因为最终要求使用的是位插入操作,所以可以采取覆盖模式,也就是说比原先的设计快了15倍。
  从这里我就想,其实DDraw和DIB的差异不是很大,只是因为DIB考虑到每个面的相互关系,DDraw的最大优势只是联系分配操作空间。也许还有一些DDraw的优势,但也许不是主要的影响。
  那么从这里继续深想,D3D也就是从DDraw上扩展了3*3矩阵而已,增加了多重像素渲染模块(可能就是通常说的渲染引擎)。过去,我们学习过程是从OpenGL到D3D再到GDI,如今回过头来看,全错了,Gdi优化了就是DDraw,DDraw增强了就是D3D。如果不掌握GDI,搞D3D真是一场游戏一场梦。而精通了Gdi,D3D还不是任你使用。
  我们还可以再一次深入考虑,其实GDI+应该是D3D的二维翻版,它是具有2*2矩阵的DDraw,是DDraw向D3D过渡的一个具体实践。想想GDI的博大精深、GDI+的整齐划一,D3D才会变得如此的千篇一律。
  因之,今后写程序,需要融会贯通、综合运用,例如:可以使用D3D做软件的主界面,但该用GDI画些什么的地方,还是用GDI去画,画在BeginPaint里面、画在Surface里面、画在Texture里面,画出咱们想用的控件,画出咱们想要的算法。

  走出GDI,也许让我们看到了GDI更多的应用领域,也许会飘在应用层面上无法回来。走出GDI,因他就在我们身边,是自如运用高级图形工具的基石。