This commit is contained in:
aozhiwei 2023-11-24 20:59:00 +08:00
parent b172c94f39
commit 6af8079f60
2 changed files with 12 additions and 10 deletions

View File

@ -76,13 +76,20 @@ namespace f8
argc_ = argc;
argv_ = argv;
user_app_ = user_app;
int delta_time = 0;
if (Init()) {
while (!Terminated()) {
a8::tick_t begin_tick = a8::XGetTickCount();
f8::Timer::Instance()->Update();
f8::MsgQueue::Instance()->Update();
DispatchNetMsg();
user_app->Update(0);
user_app->Update(delta_time);
a8::tick_t end_tick = a8::XGetTickCount();
Schedule();
//if (end_tick - begin_tick > PerfMonitor::Instance()->max_run_delay_time) {
//PerfMonitor::Instance()->max_run_delay_time = end_tick - begin_tick;
//}
delta_time = end_tick - begin_tick;
}
UnInit();
}
@ -240,6 +247,7 @@ namespace f8
MsgHdr* hdr = list_first_entry(work_list, MsgHdr, entry);
list_del_init(&hdr->entry);
user_app_->DispatchSocketMsg(hdr);
MsgHdr::Destroy(hdr);
}
}

View File

@ -306,20 +306,14 @@ namespace f8
MsgHdr* MsgHdr::Clone()
{
MsgHdr* hdr = (MsgHdr*)malloc(sizeof(MsgHdr));
*hdr = *this;
if (hdr->buflen > 0) {
hdr->buf = (char*)malloc(hdr->buflen);
memmove((void*)hdr->buf, (void*)buf, buflen);
}
MsgHdr* hdr = (MsgHdr*)malloc(sizeof(MsgHdr) + buflen);
memmove((void*)hdr, (void*)this, sizeof(MsgHdr) + buflen);
hdr->buf = ((char*)hdr) + sizeof(MsgHdr);
return hdr;
}
void MsgHdr::Destroy(MsgHdr* hdr)
{
if (hdr->buf) {
free((void*)hdr->buf);
}
free((void*)hdr);
}