MAX的AutoRoute.cpp中有个FindNearPoint()函数,意思就是找到离“我”最近的点,这个函数在另外两个函数中用到,即void AutoRoute::CreateMove(usercmd_s *usercmd)和void AutoRoute::DrawRouteLine(),经在下的测试,在走路时,都在进行上万次的FindNearPoint的调用,难怪CPU频率在100%,会“烧机”的!因而进行了一下优化,首先在CreateMove中,改为
case RM_NONE:
{
if (cvar.autoroute)//Add by softwind
FindNearPoint();
if (iPoint > -1 && iLine > -1)
{
GotoRoutePoint(route_line[iLine].point[iPoint].origin, usercmd);
route_mode = RM_FROM;
}
break;
}
其次在DrawRouteLine()注释掉第一行
//if (route_mode == RM_NONE && !Record){ FindNearPoint();}
这样效率有了明显提高!
在下对各位同行有个提议,不要再作弊器中加入些骂人的文字,有些自动骂人的作弊器,其中文字简直不堪入目,这是程序员中的败类所为,只有流氓才搞这些,还是多向cs_007学习,德是才之主,才是德之奴,提高技术的同时,也要提高修养!