Skip to content

Commit 984de15

Browse files
committed
Fix Linux WebView CPU Usage
1 parent 3084ff3 commit 984de15

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/webui.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11190,36 +11190,38 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) {
1119011190

1119111191
while (true) {
1119211192

11193-
if (_webui_mutex_is_webview_update(win, WEBUI_MUTEX_NONE)) {
11193+
// Check if there is any WebUI Messages
1119411194

11195+
if (_webui_mutex_is_webview_update(win, WEBUI_MUTEX_NONE)) {
1119511196
_webui_mutex_is_webview_update(win, WEBUI_MUTEX_FALSE);
11196-
1119711197
if (win->webView) {
11198-
1119911198
// Stop this thread
1120011199
if (win->webView->stop) {
1120111200
break;
1120211201
}
11203-
1120411202
// Window Size
1120511203
if (win->webView->size) {
1120611204
win->webView->size = false;
1120711205
_webui_wv_set_size(win->webView, win->webView->width, win->webView->height);
1120811206
}
11209-
1121011207
// Window Position
1121111208
if (win->webView->position) {
1121211209
win->webView->position = false;
1121311210
_webui_wv_set_position(win->webView, win->webView->x, win->webView->y);
1121411211
}
11215-
1121611212
// Navigation
1121711213
if (win->webView->navigate) {
1121811214
win->webView->navigate = false;
1121911215
_webui_wv_navigate(win->webView, win->webView->url);
1122011216
}
1122111217
}
1122211218
}
11219+
else {
11220+
11221+
// At this moment, there is no WebUI messages
11222+
// let's IDLE for 250ms in this current thread.
11223+
_webui_sleep(250);
11224+
}
1122311225
}
1122411226
}
1122511227

0 commit comments

Comments
 (0)