mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Fix client-side performance of chat UI (#11612)
This commit is contained in:
parent
40ea4ddef1
commit
e79d6154fc
5 changed files with 47 additions and 18 deletions
|
@ -804,7 +804,7 @@ private:
|
|||
CameraOrientation *cam);
|
||||
void handleClientEvent_CloudParams(ClientEvent *event, CameraOrientation *cam);
|
||||
|
||||
void updateChat(f32 dtime, const v2u32 &screensize);
|
||||
void updateChat(f32 dtime);
|
||||
|
||||
bool nodePlacement(const ItemDefinition &selected_def, const ItemStack &selected_item,
|
||||
const v3s16 &nodepos, const v3s16 &neighbourpos, const PointedThing &pointed,
|
||||
|
@ -2922,7 +2922,7 @@ void Game::processClientEvents(CameraOrientation *cam)
|
|||
}
|
||||
}
|
||||
|
||||
void Game::updateChat(f32 dtime, const v2u32 &screensize)
|
||||
void Game::updateChat(f32 dtime)
|
||||
{
|
||||
// Get new messages from error log buffer
|
||||
while (!m_chat_log_buf.empty())
|
||||
|
@ -2938,8 +2938,14 @@ void Game::updateChat(f32 dtime, const v2u32 &screensize)
|
|||
chat_backend->step(dtime);
|
||||
|
||||
// Display all messages in a static text element
|
||||
m_game_ui->setChatText(chat_backend->getRecentChat(),
|
||||
chat_backend->getRecentBuffer().getLineCount());
|
||||
auto &buf = chat_backend->getRecentBuffer();
|
||||
if (buf.getLinesModified()) {
|
||||
buf.resetLinesModified();
|
||||
m_game_ui->setChatText(chat_backend->getRecentChat(), buf.getLineCount());
|
||||
}
|
||||
|
||||
// Make sure that the size is still correct
|
||||
m_game_ui->updateChatSize();
|
||||
}
|
||||
|
||||
void Game::updateCamera(u32 busy_time, f32 dtime)
|
||||
|
@ -3861,9 +3867,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
|
|||
Get chat messages from client
|
||||
*/
|
||||
|
||||
v2u32 screensize = driver->getScreenSize();
|
||||
|
||||
updateChat(dtime, screensize);
|
||||
updateChat(dtime);
|
||||
|
||||
/*
|
||||
Inventory
|
||||
|
@ -3957,6 +3961,8 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
|
|||
/*
|
||||
Profiler graph
|
||||
*/
|
||||
v2u32 screensize = driver->getScreenSize();
|
||||
|
||||
if (m_game_ui->m_flags.show_profiler_graph)
|
||||
graph->draw(10, screensize.Y - 10, driver, g_fontengine->getFont());
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue