资源消耗处理。

FeiXue_AL 2004-11-28 07:32:37
请帮我看下这段代码,如何处理资源消耗问题。时间一长画面就会晃动,资源消耗尤其严重。
hook.dll

library 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.
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
FeiXue_AL 2004-11-28
  • 打赏
  • 举报
回复
UP
FeiXue_AL 2004-11-28
  • 打赏
  • 举报
回复
UP
FeiXue_AL 2004-11-28
  • 打赏
  • 举报
回复
UP

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧