pichillilorenzo / flutter_inappwebview

A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window.
https://inappwebview.dev
Apache License 2.0
3.3k stars 1.64k forks source link

Windows demo gpu bug #2387

Open lihuayu315 opened 3 weeks ago

lihuayu315 commented 3 weeks ago

Is there an existing issue for this?

Current Behavior

I'm currently using the Windows platform of this project with the built - in webview function. However, I've found that even when the web page is static, the program still consumes a lot of GPU resources. At present, I'm in a multi - screen setup. It's consuming 3D resources on a 4K screen and copy resources on a 2K screen. I want to know what's causing this problem 20241031-135603 20241031-135643

Expected Behavior

I think the GPU resources shouldn't be consumed when the web page is static.

Steps with code example to reproduce

none

Stacktrace/Logs

none

Flutter version

v3.24.4

Operating System, Device-specific and/or Tool

Version: Windows 11 Professional Workstation Edition Version number: 23H2 Installation date: November 16, 2023 Operating system version: 22631.4391

Plugin version

v6.1.5

Additional information

No response

Self grab

albe-jj commented 1 week ago

I'm having the same issue of an unexpectedly high GPU usage. I noticed that also another flutter library webview-windows has a similar issue https://github.com/jnschulze/flutter-webview-windows/issues/308

pichillilorenzo commented 1 day ago

As Microsoft WebView2 Windows API doesn't currently have an offscreen rendering API, it uses the same implementation of webview_windows plugin, otherwise, we won't have a way to make it work on Flutter.

When WebView2 will have an offscreen rendering API, this issue will be resolved. Here is the issue about it on the official WebView2 repo: https://github.com/MicrosoftEdge/WebView2Feedback/issues/20, https://github.com/MicrosoftEdge/WebView2Feedback/issues/547

Unfortunately, 4 years have passed but this feature has not yet been implemented by the Microsoft WebView2 team.

Also, there are some other issues with the current implementation: https://github.com/MicrosoftEdge/WebView2Feedback/issues/4944