From 6af8079f602a067604571526de8e52c4eb014f3b Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 24 Nov 2023 20:59:00 +0800 Subject: [PATCH] 1 --- f8/app.cc | 10 +++++++++- f8/protoutils.cc | 12 +++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/f8/app.cc b/f8/app.cc index 0153a66..f50f1ce 100644 --- a/f8/app.cc +++ b/f8/app.cc @@ -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); } } diff --git a/f8/protoutils.cc b/f8/protoutils.cc index 8f354ea..09ecf96 100644 --- a/f8/protoutils.cc +++ b/f8/protoutils.cc @@ -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); }