首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

GetPixel在XP上很快,为什么WIN7就很卡

2013-01-04 
GetPixel在XP下很快,为什么WIN7就很卡?本帖最后由 kayoo 于 2012-02-25 04:02:02 编辑同样的代码,XP下用不

GetPixel在XP下很快,为什么WIN7就很卡?
本帖最后由 kayoo 于 2012-02-25 04:02:02 编辑 同样的代码,XP下用不了0.1秒,WIN7下却需要几秒钟,获取的时候整个屏幕也卡住了,请问如何解决呢?先谢过了。
PS:我查了一下,有人说XP是GDI显示,WIN7是DirectX显示,我想知道在DirectX下获取屏幕颜色的最佳代码是什么?一定不能那么卡。。。
[解决办法]
scanline效率高一点
[解决办法]
不是吧? 我这里测试 win7  正常速度也是秒取.

你是不是被什么杀毒给控制了?



procedure TForm1.Timer1Timer(Sender: TObject);
var
  i : UINT;
begin
  i := GetTickCount ;
  Label1.Caption := IntToHEX(  GetPixel(GetDC(0),Mouse.CursorPos.X,Mouse.CursorPos.Y) , 8 );
  label2.Caption := IntToStr( GetTickCount - i );
end;


[解决办法]
引用:
不是吧? 我这里测试 win7 正常速度也是秒取.

你是不是被什么杀毒给控制了?



Delphi(Pascal) code

procedure TForm1.Timer1Timer(Sender: TObject);
var
  i : UINT;
begin
  i := GetTickCount ;
  Label1.Caption := IntToHEX( ……


估计是大量的GetPixel
[解决办法]
尽量不要用GetPixel,请用ScanLine代替,后者直接操作内存,速度是前者的n倍!

热点排行