1
This commit is contained in:
parent
b172c94f39
commit
6af8079f60
10
f8/app.cc
10
f8/app.cc
@ -76,13 +76,20 @@ namespace f8
|
|||||||
argc_ = argc;
|
argc_ = argc;
|
||||||
argv_ = argv;
|
argv_ = argv;
|
||||||
user_app_ = user_app;
|
user_app_ = user_app;
|
||||||
|
int delta_time = 0;
|
||||||
if (Init()) {
|
if (Init()) {
|
||||||
while (!Terminated()) {
|
while (!Terminated()) {
|
||||||
|
a8::tick_t begin_tick = a8::XGetTickCount();
|
||||||
f8::Timer::Instance()->Update();
|
f8::Timer::Instance()->Update();
|
||||||
f8::MsgQueue::Instance()->Update();
|
f8::MsgQueue::Instance()->Update();
|
||||||
DispatchNetMsg();
|
DispatchNetMsg();
|
||||||
user_app->Update(0);
|
user_app->Update(delta_time);
|
||||||
|
a8::tick_t end_tick = a8::XGetTickCount();
|
||||||
Schedule();
|
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();
|
UnInit();
|
||||||
}
|
}
|
||||||
@ -240,6 +247,7 @@ namespace f8
|
|||||||
MsgHdr* hdr = list_first_entry(work_list, MsgHdr, entry);
|
MsgHdr* hdr = list_first_entry(work_list, MsgHdr, entry);
|
||||||
list_del_init(&hdr->entry);
|
list_del_init(&hdr->entry);
|
||||||
user_app_->DispatchSocketMsg(hdr);
|
user_app_->DispatchSocketMsg(hdr);
|
||||||
|
MsgHdr::Destroy(hdr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,20 +306,14 @@ namespace f8
|
|||||||
|
|
||||||
MsgHdr* MsgHdr::Clone()
|
MsgHdr* MsgHdr::Clone()
|
||||||
{
|
{
|
||||||
MsgHdr* hdr = (MsgHdr*)malloc(sizeof(MsgHdr));
|
MsgHdr* hdr = (MsgHdr*)malloc(sizeof(MsgHdr) + buflen);
|
||||||
*hdr = *this;
|
memmove((void*)hdr, (void*)this, sizeof(MsgHdr) + buflen);
|
||||||
if (hdr->buflen > 0) {
|
hdr->buf = ((char*)hdr) + sizeof(MsgHdr);
|
||||||
hdr->buf = (char*)malloc(hdr->buflen);
|
|
||||||
memmove((void*)hdr->buf, (void*)buf, buflen);
|
|
||||||
}
|
|
||||||
return hdr;
|
return hdr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MsgHdr::Destroy(MsgHdr* hdr)
|
void MsgHdr::Destroy(MsgHdr* hdr)
|
||||||
{
|
{
|
||||||
if (hdr->buf) {
|
|
||||||
free((void*)hdr->buf);
|
|
||||||
}
|
|
||||||
free((void*)hdr);
|
free((void*)hdr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user