GetPixel在XP上很快,为什么WIN7就很卡
GetPixel在XP下很快,为什么WIN7就很卡?
同样的代码,XP下用不了0.1秒,WIN7下却需要几秒钟,获取的时候整个屏幕也卡住了,请问如何解决呢?先谢过了。
PS:我查了一下,有人说XP是GDI显示,WIN7是DirectX显示,我想知道在DirectX下获取屏幕颜色的最佳代码是什么?一定不能那么卡。。。
------解决方案--------------------
scanline效率高一点
------解决方案--------------------
不是吧? 我这里测试 win7 正常速度也是秒取.
你是不是被什么杀毒给控制了?
------解决方案--------------------
估计是大量的GetPixel
------解决方案--------------------
尽量不要用GetPixel,请用ScanLine代替,后者直接操作内存,速度是前者的n倍!
同样的代码,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;
------解决方案--------------------
估计是大量的GetPixel
------解决方案--------------------
尽量不要用GetPixel,请用ScanLine代替,后者直接操作内存,速度是前者的n倍!