Replies: 6 comments 35 replies
-
Same thing here, for now I'm using AIR 32.0.89 on Windows until one day this resolves. |
Beta Was this translation helpful? Give feedback.
-
Without actually checking the metrics (yet) to see whether we can do something about this in the short term, the major change between the Adobe version 32.0.0.89 and subsequent versions (including 32.0.0.116) was that they took out some patent-protected software a/v decoders... so, instead we are using Windows multimedia APIs for decoding the videos. TBH I'm a little surprised that the performance is so significantly worse, I am wondering whether there's something else happening within the Window media foundation integration code that's adding a bottleneck; the earlier decoders were heavily optimized but still just software... We can look at this but we've also been working (slowly, I'm afraid) on new multimedia integrations that aim to be a bit more optimised and flexible. Currently it's only at the state on Windows where you can play a video with the output being a NativeWindow object (so a bit like being always StageVideo that covers the whole stage area...), the next step is to look at a custom output renderer to be able to push this to VideoTexture, StageVideo, and Video outputs. But we can have a check to see if there's a quick-win solution to improve things from where they are now... thanks |
Beta Was this translation helpful? Give feedback.
-
Andrew -- Thanks kindly for jumping on this so quickly. We've done a little more work that may provide some insight here. We ran DXVA checker while running the two different runtimes. With Adobe 31, we can see that in fact video decoding is being performed by the GPU. With the Harman runtime, the GPU is never called for decoding and thus must be falling back to software (event though an "accelerated" event is reported by the video texture) See attached DXVA screenshots. Adobe Traces Harman Traces |
Beta Was this translation helpful? Give feedback.
-
@ajwfrost I gather from some comments you have made that the new a/v pipeline development may have stalled out. From the looks of what you have been accomplishing with the Linux runtime, we would be perfectly happy migrating to Linux should hardware-accelerated video decoding via the Videotexture class become available. Do you have any updates on where video fits into your Linux development roadmap? Is there anything sort of contribution that the community could make to help move this along? Thanks ever so much. Cheers! josh |
Beta Was this translation helpful? Give feedback.
-
I agree with @BwackNinja here: progress in this area would make all my holiday dreams come true! #makeOurDreamsComeTrue |
Beta Was this translation helpful? Give feedback.
-
Andrew,Thank you for your reply. Fyi: It never did it with 29 or 32 version we used however appreciate you found issue with it. The thread seems to have disappeared or atleast on my end. Do you have a ETA for fix? Best Regards,Keith Disbro317 800 ***@***.*** Jan 6, 2025 1:33 PM, Andrew Frost ***@***.***> wrote:
Thanks @DIZ56 @istoan - that usage showed we had a thread synchronisation issue because two different threads were both trying to stop the feeder thread due to the seek happening right at the start; we also then found a recursive issue with the metadata object being dispatched repeatedly because of the seek(0) call - so we've had to ensure we don't trigger onMetaData when we're in the middle of a seek.
But we should be able to fix this use case in our next release.
I'm not actually sure how come this worked with the Adobe version of the SDK because the dispatch of metadata when seeking to zero appears to have been present then too. Actually I've just run this on AIR32 and I do get the same:
Starting
NS1: NetConnection.Connect.Success
NS1: NetStream.Play.Start
NS1: NetStream.Buffer.Full
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
NS1: NetStream.Buffer.Full
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
NS1: NetStream.Buffer.Full
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
NS1: NetStream.Buffer.Full
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
NS1: NetStream.Buffer.Full
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.SeekStart.Notify
NS1: NetStream.Seek.Notify
NS1: NetStream.Buffer.Full
metadata: duration=46.439909297052154 width=1280 height=720 framerate=undefined
NS1: NetStream.Seek.Failed
and then it plays.
So, sounds like the main issue in our build was the thread synchronisation; once that's sorted, behaviour is the same; but we can make it a little better by only dispatching the metadata when the stream actually starts up for the first time rather than after every seek(0).
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hello all!
I've seen some significant video performance degradation on Windows since moving to the Harman runtime which appears to be caused by much higher CPU/GPU utilization (for example an Adobe runtime on an Intel i3 system uses 2-4% CPU, 46% GPU when playing a 4K video while the Harman runs at 70-85% CPU and 65% GPU.).
Has anyone else experience this issue?
I've opened up this bug if you'd like to see the particulars:
#2503
Thanks kindly!
josh
Beta Was this translation helpful? Give feedback.
All reactions