2015年2月26日
摘要: 最近习惯将系统的鼠标速度降低, 而提高鼠标硬件DPI来提升移动准确度, 但是LOL的客户端每次启动进入游戏后就会还原系统鼠标的移动速度, 我把情况反应给腾讯,没想到他们一点都不重视, 建议我只改游戏里的速度, 并把帖子给关了, 搜索了一下百度, 还有不少人反映这个问题, 但都是放弃之, 无奈自己写了... 阅读全文
posted @ 2015-02-26 14:33 Ryan Huang 阅读(5864) 评论(0) 推荐(1) 编辑
  2014年4月3日
摘要: X = X and (X-1) 目的是去除最右边的为1的位元X = X or (x+1) 目的是让最右边为0的位元变成1X = X and (X+1) 目的让最右边相邻为1的位元全部变成0X = X or (x-1) 目的让最右边相邻为0的位元全部变成1X = (not X) and (x+1) 目的是右边的位元0变成1, 然后其余位变成0X = (not X) or (x-1) 这个是右边为1的位元变0, 然后其余位变成1下面的公式 可以让右边相邻的为0的位元变成1, 其余位设置成0.X = (not X) and (X-1)X = not (x or -x)X = (x and -x).. 阅读全文
posted @ 2014-04-03 15:30 Ryan Huang 阅读(196) 评论(0) 推荐(0) 编辑
  2013年12月30日
摘要: 1. 颜色 Begin ctl.SelStart := -1; ctl.SelLength:= 0; ctl.SelAttributes.Color := clRed; ctl.Lines.Add('Test');End 阅读全文
posted @ 2013-12-30 11:39 Ryan Huang 阅读(219) 评论(0) 推荐(0) 编辑
  2013年2月26日
摘要: 由于Aug 8造成的D3D9恐惧症已经完全消除了,这一章将会给大家介绍将3D引擎转向D3D9的各个方面,包括终于出现的全屏幕模式。从这章以后,我将使用D3D9作为讲解的语言继续D2D教程。【OP结束,开始正片】『Why?』 估计大家首先要问的就是“Why?”为什么要前进到D3D9?理由如下:1、D3D9修复了D3D8已知的所有Bug,因此运行起来更稳定,速度也要快。2、D3D9提供了许多便利的新功能,虽然绝大多数是面向3D的,但是也有不少2D适用的,比如IDirect3DDevice9::StretchRect,以及对IDirect3DSurface9的改进等等。D3DX库就更多了,比如D3. 阅读全文
posted @ 2013-02-26 21:39 Ryan Huang 阅读(3617) 评论(0) 推荐(0) 编辑
  2012年5月30日
摘要: 已知一个虚拟地址0x01AF5518, 则转换的过程如下: 注意: *这里讨论的以Windows下普通模式分页的情况, 也就是2级页表的情况* 1.首先把虚拟地址拆分成3个部分(低12位, 中10位, 高10位), 换成2进制如下: -> 0000 0001 1010 1111 0101 0101 0001 1000 按照10, 10, 12的位数重新排列后 -> (页目录索引)00 000 00110, (页表项索引)10 1111 0101, (偏移)0101 0001 1000 换算成十六进制后可以得到如下结果 页目录索引 = 6, 页表项索引 = ... 阅读全文
posted @ 2012-05-30 02:23 Ryan Huang 阅读(21221) 评论(2) 推荐(0) 编辑
  2012年4月26日
摘要: WSASend 异步IO发送数据的机理浅析 最近在摸索WSASend函数在IOCP网络模型中的发送机制, 首先当我们使用Overlapped的Socket的时候, 其实已经就是在异步使用该Socket了, 这就有一个疑问, WSASend到底是如何发送数据, 在应用层又是如何处理发送的内存的呢, 带着这个疑问查阅了Reactos的代码, 终于有了一些答案, 针对网上一直说关于WSASend会锁定内存的说法也有了一个比较清晰的答案, 虽然网上一直存在这个说法主要是源于国外的一篇高性能Socket的一篇译文, 但是出到底锁定的是什么基本没人能完整的描述出来.首先WSASend函数调用后, 是通过向 阅读全文
posted @ 2012-04-26 00:58 Ryan Huang 阅读(4694) 评论(2) 推荐(1) 编辑
  2012年2月4日
摘要: 时钟周期是一个时间的量,人们规定10纳秒(ns)为一个时钟周期。时钟周期表示了SDRAM所能运行的最高频率。更小的时钟周期就意味着更高的工作频率。对于PC100规格的内存来说,它的运行时钟周期应该不高于10纳秒。纳秒与工作频率之间的转换关系为:1000 / 时钟周期 = 工作频率。例如,标称10纳秒的PC100内存芯片,其工作频率的表达式就应该是1000 / 100 = 100MHZ,这说明此内存芯片的额定工作频率为100MHZ。目前市场上一些质量优秀的内存通常可以工作在比额定频率高的频率下,这为一些喜欢超频的朋友带来了极大的方便。例如KingMAX的PC100内存,此类内存多采用8纳秒的芯片 阅读全文
posted @ 2012-02-04 18:10 Ryan Huang 阅读(2506) 评论(0) 推荐(0) 编辑