Comments (7)
flutter/flutter#16912 is the Flutter engine issue for changing message loop handling.
from flutter-desktop-embedding.
I am using this work-around currently:
glfwWaitEventsTimeout(0.016);
while (gtk_events_pending()) {
gtk_main_iteration();
}
from flutter-desktop-embedding.
__FlutterEngineFlushPendingTasksNow is related to receiving plugin messages, not drawing, so frame rate isn't the issue. We have no way of knowing how frequently plugins might message.
Significant changes are in the works to how the embedding API handles message loops, so I don't think there's any point in trying to tune the current implementation, which is basically a hack around the currently-missing functionality (note that we're calling a method with leading underscores and has a comment in the embedding API header that it will be removed).
from flutter-desktop-embedding.
with "i think that flutter engine has some sort of flag to comunicate when a new frame" i'm not referring to the "__FlutterEngineFlushPendingTasksNow" function but the functions used by dart part of flutter cuminicate with the engine asynchronously(with the message system of course).
from flutter-desktop-embedding.
Sorry, I'm not sure what communication system you are referring to, and I'm still not sure what relationship you think there is between frame availability and FlutterWindowLoop rate.
from flutter-desktop-embedding.
I think this suggestion might be about wanting to use glfwWaitEvents instead of glfwPollEvents inside FlutterWindowLoop. That might be tricky since the wait form might not know about the kind of events that __FlutterEngineFlushPendingTasksNow is meant to handle. If instead of __FlutterEngineFlushPendingTasksNow being called, the embedder could post an event to whatever glfwWaitEvents is monitoring, then we could probably implement a more efficient main loop.
from flutter-desktop-embedding.
Significant changes are in the works to how the embedding API handles message loops
@stuartmorgan
Is there an issue or a public channel where we can follow these discussions?
from flutter-desktop-embedding.
Related Issues (20)
- window_size null-safety HOT 1
- Flutter launch error HOT 7
- setInitialRoute for Windows flutter::FlutterViewController HOT 1
- Window size is not correct when i first lunch the app unless i drag it HOT 3
- can't set window size. HOT 4
- App crashes if first minimize the window and then call setWindowVisibility(visible: true) HOT 1
- Throws MissingPluginException during test HOT 2
- setWindowMinSize and setWindowMaxSize not working in Flutter 2.8.0 on Windows 11 HOT 2
- Could not find a file named "plugins/file_chooser/pubspec.yaml HOT 4
- File Description HOT 1
- Linux on ARM: window_size causes "pub get" to hang HOT 3
- [menubar] 'MenuItem' is imported from both 'package:flutter/src/widgets/platform_menu_bar.dart' and 'package:menubar/src/menu_item.dart' HOT 1
- [window_size] Window size cause GitHub timeout during flutter pub get HOT 1
- [menubar] Add "disabled" boolean on NativeMenuItem HOT 1
- Auto-Update flutter desktop app like Discord and Telegram desktop apps HOT 2
- DPI scale reactor needed HOT 1
- Git error. Command: `git clone --mirror git://github.com/google/flutter-desktop-embedding.git HOT 1
- [window_size] setWindowMinSize calculates window size without using DPI on some Windows version HOT 1
- is there in Flutter itself already ? HOT 1
- Run Flutter app in windows 32 bit HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-desktop-embedding.