请帮我看下这段代码,如何处理资源消耗问题。时间一长画面就会晃动,资源消耗尤其严重。
hook.dlllibrary hook;uses windows;var nextglBegin: procedure(mode: cardinal); stdcall;
    nextglEnable: procedure(mode: cardinal); stdcall;
    nextglDisable: procedure(mode: cardinal); stdcall;
    nextglTexEnvi: procedure(a,b,c: cardinal); stdcall;procedure myglBegin(mode: cardinal); stdcall;
var keystate: tKeyboardstate;
begin
  getkeyboardstate(keystate);
  if keystate[VK_NUMPAD1] > 0 then
  if (mode = $5) or (mode = $6) then
    nextglDisable($0B71)  else
    nextglEnable($0B71);  if keystate[VK_NUMPAD2] > 0 then
  if (mode = $5) or (mode = $6) then
    nextglTexEnvi($2300, $2200, $2101);
  nextglBegin(mode);
end;procedure schleife;
begin
  while getmodulehandle('opengl32.dll') = 0 do sleep(1000);
  sleep(2000);
  @nextglDisable := getprocaddress(getmodulehandle('opengl32.dll'),'glDisable');//pointer($6955d800);
  @nextglEnable := getprocaddress(getmodulehandle('opengl32.dll'),'glEnable');//pointer($6955f030);
  @nextglTexEnvi := getprocaddress(getmodulehandle('opengl32.dll'),'glTexEnvi');//pointer($6955f030);
  asm
    mov eax, [$7FFDE7CC]
    mov [nextglBegin], eax
    mov eax, offset myglBegin
    mov [$7FFDE7CC], eax
  end;
end;var tid: cardinal;
begin
  messagebox(0,加载成功!','加载成功~~',0);
  createthread(nil,0,@schleife,nil,0,tid);
end.