AvaloniaUI / Avalonia

Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
https://avaloniaui.net
MIT License
26.08k stars 2.26k forks source link

[Feature Request] `OpenGlControlBase` rendering in user thread #10853

Open jcyuan opened 1 year ago

jcyuan commented 1 year ago

After a period of time experiencing on what i have finished with the OpenGlControlBase in my project so far, i found that the UI always lags the control's rendering, especially when the ColorPicker pops up or a new window dialog pops up, this makes a little bad UI experience and it affects my other things e.g. it stops the FFmpeg frame queue from consuming, thus the packet queue will be full and it makes the frame sync clock delays a lot... and, usually this control is used for some complex rendering purpose i believe. so please consider making this control's rendering runnable in a user thread.

This might affects: 1, the way submitting texture to server composition. 2, a way to call context.EnsureCurrent maybe with a session way or whatever.

thanks so much! 💪

kekekeks commented 1 year ago

We have plans for a free-threaded version of ICompositionGpuInterop and CompositionDrawingSurface, but not for 11.0. May be somewhere around Q3-Q4 this year.

jcyuan commented 1 year ago

We have plans for a free-threaded version of ICompositionGpuInterop and CompositionDrawingSurface, but not for 11.0. May be somewhere around Q3-Q4 this year.

sounds very interesting! thanks so much kekeke!