JohnCoates / Aerial

Apple TV Aerial Screensaver for Mac
MIT License
20.78k stars 1.05k forks source link

Videos are stuttering starting from 1.8.0 #940

Closed levrik closed 3 years ago

levrik commented 4 years ago

General troubleshooting tips

Before logging an issue please check that:

If none of this fixes your issue, tell us about the problem you are experiencing or the feature you'd like to request.

Required information

In order to help us sort your issue, we ask that you provide the following information:

If appropriate, please enable Debug mode and Log to disk in Advanced tab and replicate your bug, then attach the AerialLog.txt file (You can access this file through the Advanced tab).

Description of issue / Feature request

After upgrading from 1.6.1 to 1.8.0 videos are stuttering now making the screensaver completely unusable. It sometimes freezes up to ~1.5 seconds, running for a few seconds with reduced framerate, freezes again. Downgrading to 1.6.1 fixes this issue. It's running completely smooth.

glouel commented 4 years ago

Hi @levrik

That's weird, could you possibly give me a debuglog with 1.8.0 ?

The most likely explanation is that your cache is being ignored and that the stuttering is caused by the videos streaming. I would double check that your videos are not streaming with 1.8.0. Especially if you store your videos outside of the sandboxed container.

levrik commented 4 years ago

@glouel I have streaming disabled in the settings. Not sure if this is an important detail but the clock doesn't freeze while the video is freezing.

glouel commented 4 years ago

Ok, please send me a debuglog if you can with 1.8.0 (enable that in Advanced tab). Aerial may still stream if there are no videos at all cached, so it's not 100% out of the question.

Noted for the clock, in general the video playback is completely handled by Apple's API so it's very likely still that you are steaming. Thanks !

levrik commented 4 years ago
2020-03-02 14:37:08.026 : avInit .saver (0.0, 0.0, 2560.0, 1440.0) p: true o: false
2020-03-02 14:37:08.027 : <AerialView: 0x7f9877f0e980> AerialView setup init (V1.8.0) preview: false
2020-03-02 14:37:08.027 : Probing availability of an update
2020-03-02 14:37:08.028 : Checking for update (probe mode)
2020-03-02 14:37:08.030 : Time Management initialized
2020-03-02 14:37:08.030 : Display Detection initialized
2020-03-02 14:37:08.031 : ***Display Detection***
2020-03-02 14:37:08.031 : 2 display(s) detected
2020-03-02 14:37:08.031 : 1cm = 48.425197577667205 points
2020-03-02 14:37:08.032 : npass: dict [__C.NSDeviceDescriptionKey(_rawValue: NSDeviceBitsPerSample): 8, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceColorSpaceName): NSCalibratedRGBColorSpace, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceResolution): NSSize: {72, 72}, __C.NSDeviceDescriptionKey(_rawValue: NSScreenNumber): 724042126, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceIsScreen): YES, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceSize): NSSize: {2560, 1440}]
2020-03-02 14:37:08.032 :        bottomLeftFrame (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 14:37:08.032 : npass: dict [__C.NSDeviceDescriptionKey(_rawValue: NSDeviceBitsPerSample): 8, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceColorSpaceName): NSCalibratedRGBColorSpace, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceResolution): NSSize: {144, 144}, __C.NSDeviceDescriptionKey(_rawValue: NSScreenNumber): 69731840, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceIsScreen): YES, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceSize): NSSize: {1440, 900}]
2020-03-02 14:37:08.033 :        bottomLeftFrame (687.0, -900.0, 1440.0, 900.0)
2020-03-02 14:37:08.033 : src orig : (0.0, 0.0)
2020-03-02 14:37:08.034 : left 0.0 below 1.0
2020-03-02 14:37:08.034 : src orig : (687.0, -900.0)
2020-03-02 14:37:08.035 : left 0.0 below 0.0
2020-03-02 14:37:08.035 : [id=724042126, width=2560, height=1440, bottomLeftFrame=(0.0, 0.0, 2560.0, 1440.0), topRightCorner=(2560.0, 1440.0), isMain=true, backingScaleFactor=1.0]
2020-03-02 14:37:08.036 : [id=69731840, width=1440, height=900, bottomLeftFrame=(687.0, -900.0, 1440.0, 900.0), topRightCorner=(2127.0, 0.0), isMain=false, backingScaleFactor=2.0]
2020-03-02 14:37:08.036 : (0.0, -900.0, 2560.0, 2485.2755927330018)
2020-03-02 14:37:08.037 : ***Display Detection Done***
2020-03-02 14:37:08.037 : Using : Optional([id=724042126, width=2560, height=1440, bottomLeftFrame=(0.0, 0.0, 2560.0, 1440.0), topRightCorner=(2560.0, 1440.0), isMain=true, backingScaleFactor=1.0])
2020-03-02 14:37:08.037 : <AerialView: 0x7f9877f0e980> setting up player layer with bounds/frame: (0.0, 0.0, 2560.0, 1440.0) / (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 14:37:08.039 : allDisplays
2020-03-02 14:37:08.040 : allDisplays
2020-03-02 14:37:08.040 : allDisplays
2020-03-02 14:37:08.041 : Using dot workaround for video driver corruption
2020-03-02 14:37:08.041 : Manifest init
2020-03-02 14:37:08.042 : app support exists
2020-03-02 14:37:08.042 : No customvideos.json at : /Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial/customvideos.json
2020-03-02 14:37:08.043 : isManifestCached 10 true
2020-03-02 14:37:08.043 : isManifestCached 11 true
2020-03-02 14:37:08.044 : isManifestCached 12 true
2020-03-02 14:37:08.045 : isManifestCached 13 true
2020-03-02 14:37:08.045 : 2020-03-02
2020-03-02 14:37:08.046 : Interval : Optional(-52627.27096295357)
2020-03-02 14:37:08.046 : No need to check for new videos
2020-03-02 14:37:08.047 : Manifests files were not loaded in class
2020-03-02 14:37:08.047 : Files were not already loaded in memory
2020-03-02 14:37:08.048 : Manifests are cached on disk, loading
2020-03-02 14:37:08.048 : Poi Strings Provider initialized
2020-03-02 14:37:08.049 : Language overriden to Optional("en")
2020-03-02 14:37:08.049 : Community Language overriden to : en
2020-03-02 14:37:08.050 : path : /Users/levrik/Library/Screen Savers/Aerial.saver/Contents/Resources/en.json
2020-03-02 14:37:08.050 : Community JSON : 99 entries
2020-03-02 14:37:08.050 : Using exiting customCacheDirectory : /Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial
2020-03-02 14:37:08.051 : cache to be used : Optional("/Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial")
2020-03-02 14:37:08.051 : Total videos processed : 99 callbacks : 0
2020-03-02 14:37:08.052 : <AerialView: 0x7f9877f0e980> Setting player for all player layers in []
2020-03-02 14:37:08.052 : initvideocache
2020-03-02 14:37:08.053 : cached video file with length: 169454212
2020-03-02 14:37:08.054 : <AerialView: 0x7f9877f0e980> playing video (OFFLINE MODE) : file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/BO_A018_C029_SDR_20190812_SDR_2K_AVC.mov
2020-03-02 14:37:08.055 : <AerialView: 0x7f9877f0e980> observing current item <AVPlayerItem: 0x600000d21480, asset = <AVURLAsset: 0x600000f6e3e0, URL = file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/BO_A018_C029_SDR_20190812_SDR_2K_AVC.mov>>
2020-03-02 14:37:08.055 : <AerialView: 0x7f9877f0e980> observeValue Optional("readyForDisplay") false (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 14:37:08.056 : AssetLoaderDelegate deinit
2020-03-02 14:37:08.057 : <AerialView: 0x7f9877f0e980> backing change 1.0 isDisabled: false frame: (0.0, 0.0, 2560.0, 1440.0) preview: false
2020-03-02 14:37:08.602 : avInit .saver (687.0, -900.0, 1440.0, 900.0) p: true o: false
2020-03-02 14:37:08.603 : <AerialView: 0x7f9877d152d0> AerialView setup init (V1.8.0) preview: false
2020-03-02 14:37:08.603 : Probing availability of an update
2020-03-02 14:37:08.603 : Checking for update (probe mode)
2020-03-02 14:37:08.604 : Using : Optional([id=69731840, width=1440, height=900, bottomLeftFrame=(687.0, -900.0, 1440.0, 900.0), topRightCorner=(2127.0, 0.0), isMain=false, backingScaleFactor=2.0])
2020-03-02 14:37:08.604 : <AerialView: 0x7f9877d152d0> setting up player layer with bounds/frame: (0.0, 0.0, 1440.0, 900.0) / (0.0, 0.0, 1440.0, 900.0)
2020-03-02 14:37:08.605 : allDisplays
2020-03-02 14:37:08.605 : allDisplays
2020-03-02 14:37:08.605 : allDisplays
2020-03-02 14:37:08.606 : Using dot workaround for video driver corruption
2020-03-02 14:37:08.606 : <AerialView: 0x7f9877d152d0> Setting player for all player layers in []
2020-03-02 14:37:08.607 : initvideocache
2020-03-02 14:37:08.608 : cached video file with length: 368658451
2020-03-02 14:37:08.608 : <AerialView: 0x7f9877d152d0> playing video (OFFLINE MODE) : file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/FK_U009_C004_SDR_20191220_SDR_2K_AVC.mov
2020-03-02 14:37:08.609 : <AerialView: 0x7f9877d152d0> observing current item <AVPlayerItem: 0x600000d21600, asset = <AVURLAsset: 0x600000f6f880, URL = file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/FK_U009_C004_SDR_20191220_SDR_2K_AVC.mov>>
2020-03-02 14:37:08.609 : <AerialView: 0x7f9877d152d0> observeValue Optional("readyForDisplay") false (687.0, -900.0, 1440.0, 900.0)
2020-03-02 14:37:08.609 : AssetLoaderDelegate deinit
2020-03-02 14:37:08.610 : <AerialView: 0x7f9877d152d0> backing change 2.0 isDisabled: false frame: (0.0, 0.0, 1440.0, 900.0) preview: false
2020-03-02 14:37:08.626 : <AerialView: 0x7f9877f0e980> startAnimation frame (0.0, 0.0, 2560.0, 1440.0) bounds (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 14:37:08.652 : <AerialView: 0x7f9877f0e980> observeValue Optional("readyForDisplay") true (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 14:37:08.652 : start playback: (0.0, 0.0, 2560.0, 1440.0) (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 14:37:08.654 : //////// No update is available !
2020-03-02 14:37:08.666 : <AerialView: 0x7f9877d152d0> observeValue Optional("readyForDisplay") true (0.0, 0.0, 1440.0, 900.0)

Also both screens are freezing at the same time. If this is an important detail.

glouel commented 4 years ago

Ok, doesn't look like you are streaming in that instance.

It looks like you are using 1080p H.264 as your video setting, is that correct ? Can you double check the settings ? Around 1.7.0 I did reset the video setting preference (not backward compatible with 1.6), so one scenario I can think of is you had for example 1080pHEVC previously, updated, it was reset to 1080pH264 and started restreaming (and recaching) your videos again (that, or the other way around). Could you look into that ?

Both screens freezing is normal as it's using only one player for both views in the background to optimize for power consumption ;)

levrik commented 4 years ago

I already deleted the whole cache and re-downloaded with 1080p H.264 set. Didn't help.

glouel commented 4 years ago

I see ! Sorry about all that and sorry to insist, but could you give me a log where the slowdown is occuring ? It didn't seem to register in the log you sent me (there should be some lines mentionning the framerate going to 0).

Again, sorry about that, assuming your videos are cached and you are using H.264, there's no issue I know of right now, so it could be something new where a log would help.

There are a few things that could slow down Aerial in the background (iPhotos processing your videos/photos), but the issue would equally happen with any Aerial versions. If you can consistently reproduce the issue only with 1.8.0 then that's not it (but if it happened only a few times, could be that). Always worth mentioning.

levrik commented 4 years ago

I cleared the log file, triggered the screen saver and sent you the then newly created log file. I don't use iPhotos. The default Photos app is not even set up. I'll verify again if downgrading consistently fixes the issue.

glouel commented 4 years ago

Understood, sorry if I wasn't clear.

What I meant was, that log doesn't show any freeze, it just shows about 1 second of startup time. A log where you saw the slowdown happening (optionnally, look at the time it happens and report it too) is what I was hoping for ? This may take some time to gather so no hurry.

Sorry again about your issue, hopefully we can track it down.

levrik commented 4 years ago

The stuttering actually happens every time I start the screensaver. So of course the log file I've sent you was captured while the issue was happening. I just verified. 1.6.1 is behaving completely smoothly. I'll try to upgrade to intermediate versions to track down when it starts to happen.

levrik commented 4 years ago

Okay. I can confirm. Last version running smoothly is 1.7.1. The stuttering starts with version 1.8.0.

levrik commented 4 years ago

image Running smooth

image Videos are stuttering

glouel commented 4 years ago

Maybe the log is truncated, what you pasted goes from 14:37:08.026 to 14:37:08.666, so about half a second. Sometimes the writes are delayed for a bit, you didn't even get the "start playback" log entry, was what I was getting to (so no chance to get a stall message).

In any case, looks like you found what's causing it. What this does is launch a network check for a new version with Sparkle. It's possible that on your laptop it's taxing the CPU a bit, although it's a bit weird to me...

Do you happen to run a firewall (something like Little Snitch) on your Mac by any chance ?

levrik commented 4 years ago

Nope. No custom firewall installed. But the version check. How often is it happening? The stuttering seems to go on forever. At least I let it run for like 5 minutes and it didn't get really better. Just the full freezes seem to stop after ~30 seconds. Then it continues with reduced framerate. With the update notifier disabled it runs smoothly. No freezes, no reduced framerate.

Should I try to get another log for you?

glouel commented 4 years ago

Ok that's a bit crazy then. Another log may help yes, although it's interesting to note that in your log, the check was done even before the playback started (it's really just checking a file on github if there's no version).

You have this entry :

2020-03-02 14:37:08.654 : //////// No update is available !

Which shows that check was done, and playback wasn't even started (which happens most of the time with a good connexion and github working well)... The other entries in your logjust show the preloading stuff. So that's super weird...

Currently the check happens at every startup if enabled (and I enabled it by default).

Please try and record another log if you have some time, and I'll have another look. Ideally, when running in dual screen (not in control panel mode).

There's definitely something weird going on here, could be related to something going awry with that check on multi monitor setups maybe... Very weird. Sorry about the issue, that's definitely a bit wild I'll try to think about it.

Thanks for your report and very quick checks.

levrik commented 4 years ago
2020-03-02 15:52:10.586 : UI allowScreenSaverModeUpdatesChange: true
2020-03-02 15:52:14.219 : <AerialView: 0x7f94a6f074e0> startAnimation frame (0.0, 0.0, 296.0, 184.0) bounds (0.0, 0.0, 296.0, 184.0)
2020-03-02 15:52:14.220 : restarting playback
2020-03-02 15:52:15.034 : <AerialView: 0x7f94a6f074e0> stopAnimation
2020-03-02 15:52:47.703 : avInit .saver (0.0, 0.0, 2560.0, 1440.0) p: true o: false
2020-03-02 15:52:47.703 : <AerialView: 0x7ff521707ca0> AerialView setup init (V1.8.0) preview: false
2020-03-02 15:52:47.704 : Probing availability of an update
2020-03-02 15:52:47.704 : Checking for update (probe mode)
2020-03-02 15:52:47.707 : Time Management initialized
2020-03-02 15:52:47.707 : Display Detection initialized
2020-03-02 15:52:47.708 : ***Display Detection***
2020-03-02 15:52:47.708 : 2 display(s) detected
2020-03-02 15:52:47.709 : 1cm = 48.425197577667205 points
2020-03-02 15:52:47.709 : npass: dict [__C.NSDeviceDescriptionKey(_rawValue: NSDeviceIsScreen): YES, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceBitsPerSample): 8, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceResolution): NSSize: {72, 72}, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceSize): NSSize: {2560, 1440}, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceColorSpaceName): NSCalibratedRGBColorSpace, __C.NSDeviceDescriptionKey(_rawValue: NSScreenNumber): 724042126]
2020-03-02 15:52:47.709 :        bottomLeftFrame (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:52:47.710 : npass: dict [__C.NSDeviceDescriptionKey(_rawValue: NSDeviceIsScreen): YES, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceBitsPerSample): 8, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceResolution): NSSize: {144, 144}, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceSize): NSSize: {1440, 900}, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceColorSpaceName): NSCalibratedRGBColorSpace, __C.NSDeviceDescriptionKey(_rawValue: NSScreenNumber): 69731840]
2020-03-02 15:52:47.710 :        bottomLeftFrame (687.0, -900.0, 1440.0, 900.0)
2020-03-02 15:52:47.710 : src orig : (0.0, 0.0)
2020-03-02 15:52:47.711 : left 0.0 below 1.0
2020-03-02 15:52:47.711 : src orig : (687.0, -900.0)
2020-03-02 15:52:47.711 : left 0.0 below 0.0
2020-03-02 15:52:47.712 : [id=724042126, width=2560, height=1440, bottomLeftFrame=(0.0, 0.0, 2560.0, 1440.0), topRightCorner=(2560.0, 1440.0), isMain=true, backingScaleFactor=1.0]
2020-03-02 15:52:47.712 : [id=69731840, width=1440, height=900, bottomLeftFrame=(687.0, -900.0, 1440.0, 900.0), topRightCorner=(2127.0, 0.0), isMain=false, backingScaleFactor=2.0]
2020-03-02 15:52:47.713 : (0.0, -900.0, 2560.0, 2485.2755927330018)
2020-03-02 15:52:47.713 : ***Display Detection Done***
2020-03-02 15:52:47.714 : Using : Optional([id=724042126, width=2560, height=1440, bottomLeftFrame=(0.0, 0.0, 2560.0, 1440.0), topRightCorner=(2560.0, 1440.0), isMain=true, backingScaleFactor=1.0])
2020-03-02 15:52:47.714 : <AerialView: 0x7ff521707ca0> setting up player layer with bounds/frame: (0.0, 0.0, 2560.0, 1440.0) / (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:52:47.716 : allDisplays
2020-03-02 15:52:47.717 : allDisplays
2020-03-02 15:52:47.717 : allDisplays
2020-03-02 15:52:47.717 : Using dot workaround for video driver corruption
2020-03-02 15:52:47.718 : Manifest init
2020-03-02 15:52:47.718 : app support exists
2020-03-02 15:52:47.719 : No customvideos.json at : /Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial/customvideos.json
2020-03-02 15:52:47.720 : isManifestCached 10 true
2020-03-02 15:52:47.720 : isManifestCached 11 true
2020-03-02 15:52:47.721 : isManifestCached 12 true
2020-03-02 15:52:47.721 : isManifestCached 13 true
2020-03-02 15:52:47.723 : 2020-03-02
2020-03-02 15:52:47.723 : Interval : Optional(-57166.80578303337)
2020-03-02 15:52:47.724 : No need to check for new videos
2020-03-02 15:52:47.724 : Manifests files were not loaded in class
2020-03-02 15:52:47.725 : Files were not already loaded in memory
2020-03-02 15:52:47.725 : Manifests are cached on disk, loading
2020-03-02 15:52:47.726 : Poi Strings Provider initialized
2020-03-02 15:52:47.726 : Language overriden to Optional("en")
2020-03-02 15:52:47.727 : Community Language overriden to : en
2020-03-02 15:52:47.727 : path : /Users/levrik/Library/Screen Savers/Aerial.saver/Contents/Resources/en.json
2020-03-02 15:52:47.728 : Community JSON : 99 entries
2020-03-02 15:52:47.728 : Using exiting customCacheDirectory : /Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial
2020-03-02 15:52:47.728 : cache to be used : Optional("/Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial")
2020-03-02 15:52:47.729 : Total videos processed : 99 callbacks : 0
2020-03-02 15:52:47.729 : <AerialView: 0x7ff521707ca0> Setting player for all player layers in []
2020-03-02 15:52:47.729 : initvideocache
2020-03-02 15:52:47.730 : cached video file with length: 252890736
2020-03-02 15:52:47.730 : <AerialView: 0x7ff521707ca0> playing video (OFFLINE MODE) : file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_A103_C002_0205DG_v12_SDR_FINAL_20180706_SDR_2K_AVC.mov
2020-03-02 15:52:47.730 : <AerialView: 0x7ff521707ca0> observing current item <AVPlayerItem: 0x600002d5d200, asset = <AVURLAsset: 0x600002f6dac0, URL = file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_A103_C002_0205DG_v12_SDR_FINAL_20180706_SDR_2K_AVC.mov>>
2020-03-02 15:52:47.731 : <AerialView: 0x7ff521707ca0> observeValue Optional("readyForDisplay") false (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:52:47.731 : AssetLoaderDelegate deinit
2020-03-02 15:52:47.732 : <AerialView: 0x7ff521707ca0> backing change 1.0 isDisabled: false frame: (0.0, 0.0, 2560.0, 1440.0) preview: false
2020-03-02 15:52:48.882 : avInit .saver (687.0, -900.0, 1440.0, 900.0) p: true o: false
2020-03-02 15:52:48.883 : <AerialView: 0x7ff521419930> AerialView setup init (V1.8.0) preview: false
2020-03-02 15:52:48.883 : Probing availability of an update
2020-03-02 15:52:48.884 : Checking for update (probe mode)
2020-03-02 15:52:48.884 : Using : Optional([id=69731840, width=1440, height=900, bottomLeftFrame=(687.0, -900.0, 1440.0, 900.0), topRightCorner=(2127.0, 0.0), isMain=false, backingScaleFactor=2.0])
2020-03-02 15:52:48.884 : <AerialView: 0x7ff521419930> setting up player layer with bounds/frame: (0.0, 0.0, 1440.0, 900.0) / (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:52:48.885 : allDisplays
2020-03-02 15:52:48.886 : allDisplays
2020-03-02 15:52:48.886 : allDisplays
2020-03-02 15:52:48.887 : Using dot workaround for video driver corruption
2020-03-02 15:52:48.888 : <AerialView: 0x7ff521419930> Setting player for all player layers in []
2020-03-02 15:52:48.889 : initvideocache
2020-03-02 15:52:48.891 : cached video file with length: 400154051
2020-03-02 15:52:48.892 : <AerialView: 0x7ff521419930> playing video (OFFLINE MODE) : file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_LA_A011_C003_DGRN_LNFIX_STAB_v57_SDR_PS_20181002_SDR_2K_AVC.mov
2020-03-02 15:52:48.894 : <AerialView: 0x7ff521419930> observing current item <AVPlayerItem: 0x600002d519d0, asset = <AVURLAsset: 0x600002f736c0, URL = file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_LA_A011_C003_DGRN_LNFIX_STAB_v57_SDR_PS_20181002_SDR_2K_AVC.mov>>
2020-03-02 15:52:48.896 : <AerialView: 0x7ff521419930> observeValue Optional("readyForDisplay") false (687.0, -900.0, 1440.0, 900.0)
2020-03-02 15:52:48.898 : AssetLoaderDelegate deinit
2020-03-02 15:52:48.902 : <AerialView: 0x7ff521419930> backing change 2.0 isDisabled: false frame: (0.0, 0.0, 1440.0, 900.0) preview: false
2020-03-02 15:52:48.931 : <AerialView: 0x7ff521707ca0> startAnimation frame (0.0, 0.0, 2560.0, 1440.0) bounds (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:52:48.940 : <AerialView: 0x7ff521707ca0> observeValue Optional("readyForDisplay") true (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:52:48.941 : start playback: (0.0, 0.0, 2560.0, 1440.0) (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:52:48.942 : //////// No update is available !
2020-03-02 15:52:48.956 : <AerialView: 0x7ff521419930> observeValue Optional("readyForDisplay") true (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:52:48.957 : start playback: (0.0, 0.0, 1440.0, 900.0) (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:52:49.261 : <AerialView: 0x7ff521419930> startAnimation frame (0.0, 0.0, 1440.0, 900.0) bounds (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:53:25.314 : <AerialView: 0x7f94a6f074e0> startAnimation frame (0.0, 0.0, 296.0, 184.0) bounds (0.0, 0.0, 296.0, 184.0)
2020-03-02 15:53:25.316 : restarting playback
2020-03-02 15:54:31.651 : <AerialView: 0x7f94a6f074e0> stopAnimation
2020-03-02 15:54:34.571 : UI allowScreenSaverModeUpdatesChange: false
2020-03-02 15:54:38.095 : <AerialView: 0x7f94a6f074e0> startAnimation frame (0.0, 0.0, 296.0, 184.0) bounds (0.0, 0.0, 296.0, 184.0)
2020-03-02 15:54:38.096 : restarting playback
2020-03-02 15:54:38.825 : <AerialView: 0x7f94a6f074e0> stopAnimation
2020-03-02 15:54:47.110 : avInit .saver (0.0, 0.0, 2560.0, 1440.0) p: true o: false
2020-03-02 15:54:47.111 : <AerialView: 0x7fea2f40c0d0> AerialView setup init (V1.8.0) preview: false
2020-03-02 15:54:47.111 : Time Management initialized
2020-03-02 15:54:47.111 : Display Detection initialized
2020-03-02 15:54:47.112 : ***Display Detection***
2020-03-02 15:54:47.112 : 2 display(s) detected
2020-03-02 15:54:47.113 : 1cm = 48.425197577667205 points
2020-03-02 15:54:47.113 : npass: dict [__C.NSDeviceDescriptionKey(_rawValue: NSScreenNumber): 724042126, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceBitsPerSample): 8, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceIsScreen): YES, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceResolution): NSSize: {72, 72}, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceColorSpaceName): NSCalibratedRGBColorSpace, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceSize): NSSize: {2560, 1440}]
2020-03-02 15:54:47.113 :        bottomLeftFrame (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:54:47.114 : npass: dict [__C.NSDeviceDescriptionKey(_rawValue: NSScreenNumber): 69731840, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceBitsPerSample): 8, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceIsScreen): YES, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceResolution): NSSize: {144, 144}, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceColorSpaceName): NSCalibratedRGBColorSpace, __C.NSDeviceDescriptionKey(_rawValue: NSDeviceSize): NSSize: {1440, 900}]
2020-03-02 15:54:47.114 :        bottomLeftFrame (687.0, -900.0, 1440.0, 900.0)
2020-03-02 15:54:47.115 : src orig : (0.0, 0.0)
2020-03-02 15:54:47.116 : left 0.0 below 1.0
2020-03-02 15:54:47.117 : src orig : (687.0, -900.0)
2020-03-02 15:54:47.118 : left 0.0 below 0.0
2020-03-02 15:54:47.118 : [id=724042126, width=2560, height=1440, bottomLeftFrame=(0.0, 0.0, 2560.0, 1440.0), topRightCorner=(2560.0, 1440.0), isMain=true, backingScaleFactor=1.0]
2020-03-02 15:54:47.119 : [id=69731840, width=1440, height=900, bottomLeftFrame=(687.0, -900.0, 1440.0, 900.0), topRightCorner=(2127.0, 0.0), isMain=false, backingScaleFactor=2.0]
2020-03-02 15:54:47.119 : (0.0, -900.0, 2560.0, 2485.2755927330018)
2020-03-02 15:54:47.120 : ***Display Detection Done***
2020-03-02 15:54:47.121 : Using : Optional([id=724042126, width=2560, height=1440, bottomLeftFrame=(0.0, 0.0, 2560.0, 1440.0), topRightCorner=(2560.0, 1440.0), isMain=true, backingScaleFactor=1.0])
2020-03-02 15:54:47.122 : <AerialView: 0x7fea2f40c0d0> setting up player layer with bounds/frame: (0.0, 0.0, 2560.0, 1440.0) / (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:54:47.124 : allDisplays
2020-03-02 15:54:47.125 : allDisplays
2020-03-02 15:54:47.125 : Using dot workaround for video driver corruption
2020-03-02 15:54:47.127 : Manifest init
2020-03-02 15:54:47.129 : app support exists
2020-03-02 15:54:47.130 : No customvideos.json at : /Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial/customvideos.json
2020-03-02 15:54:47.131 : isManifestCached 10 true
2020-03-02 15:54:47.132 : isManifestCached 11 true
2020-03-02 15:54:47.133 : isManifestCached 12 true
2020-03-02 15:54:47.134 : isManifestCached 13 true
2020-03-02 15:54:47.134 : 2020-03-02
2020-03-02 15:54:47.135 : Interval : Optional(-57285.395172953606)
2020-03-02 15:54:47.136 : No need to check for new videos
2020-03-02 15:54:47.136 : Manifests files were not loaded in class
2020-03-02 15:54:47.137 : Files were not already loaded in memory
2020-03-02 15:54:47.139 : Manifests are cached on disk, loading
2020-03-02 15:54:47.140 : Poi Strings Provider initialized
2020-03-02 15:54:47.142 : Language overriden to Optional("en")
2020-03-02 15:54:47.144 : Community Language overriden to : en
2020-03-02 15:54:47.146 : path : /Users/levrik/Library/Screen Savers/Aerial.saver/Contents/Resources/en.json
2020-03-02 15:54:47.146 : Community JSON : 99 entries
2020-03-02 15:54:47.147 : Using exiting customCacheDirectory : /Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial
2020-03-02 15:54:47.147 : cache to be used : Optional("/Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial")
2020-03-02 15:54:47.148 : Total videos processed : 99 callbacks : 0
2020-03-02 15:54:47.148 : <AerialView: 0x7fea2f40c0d0> Setting player for all player layers in []
2020-03-02 15:54:47.149 : initvideocache
2020-03-02 15:54:47.149 : cached video file with length: 619839252
2020-03-02 15:54:47.150 : <AerialView: 0x7fea2f40c0d0> playing video (OFFLINE MODE) : file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_HK_H004_C001_PSNK_DENOISE_v14_SDR_PS_FINAL_20180731_SDR_2K_AVC.mov
2020-03-02 15:54:47.150 : <AerialView: 0x7fea2f40c0d0> observing current item <AVPlayerItem: 0x600000b3cdd0, asset = <AVURLAsset: 0x60000091eac0, URL = file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_HK_H004_C001_PSNK_DENOISE_v14_SDR_PS_FINAL_20180731_SDR_2K_AVC.mov>>
2020-03-02 15:54:47.151 : <AerialView: 0x7fea2f40c0d0> observeValue Optional("readyForDisplay") false (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:54:47.151 : AssetLoaderDelegate deinit
2020-03-02 15:54:47.152 : <AerialView: 0x7fea2f40c0d0> backing change 1.0 isDisabled: false frame: (0.0, 0.0, 2560.0, 1440.0) preview: false
2020-03-02 15:54:47.857 : avInit .saver (687.0, -900.0, 1440.0, 900.0) p: true o: false
2020-03-02 15:54:47.857 : <AerialView: 0x7fea2f513dd0> AerialView setup init (V1.8.0) preview: false
2020-03-02 15:54:47.858 : Using : Optional([id=69731840, width=1440, height=900, bottomLeftFrame=(687.0, -900.0, 1440.0, 900.0), topRightCorner=(2127.0, 0.0), isMain=false, backingScaleFactor=2.0])
2020-03-02 15:54:47.858 : <AerialView: 0x7fea2f513dd0> setting up player layer with bounds/frame: (0.0, 0.0, 1440.0, 900.0) / (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:54:47.859 : allDisplays
2020-03-02 15:54:47.859 : allDisplays
2020-03-02 15:54:47.859 : Using dot workaround for video driver corruption
2020-03-02 15:54:47.860 : <AerialView: 0x7fea2f513dd0> Setting player for all player layers in []
2020-03-02 15:54:47.860 : initvideocache
2020-03-02 15:54:47.861 : cached video file with length: 413610907
2020-03-02 15:54:47.862 : <AerialView: 0x7fea2f513dd0> playing video (OFFLINE MODE) : file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_DB_D008_C010_PSNK_v21_SDR_PS_20180914_F0F16157_SDR_2K_AVC.mov
2020-03-02 15:54:47.862 : <AerialView: 0x7fea2f513dd0> observing current item <AVPlayerItem: 0x600000b29690, asset = <AVURLAsset: 0x600000919a00, URL = file:///Users/levrik/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application%20Support/Aerial/comp_DB_D008_C010_PSNK_v21_SDR_PS_20180914_F0F16157_SDR_2K_AVC.mov>>
2020-03-02 15:54:47.862 : <AerialView: 0x7fea2f513dd0> observeValue Optional("readyForDisplay") false (687.0, -900.0, 1440.0, 900.0)
2020-03-02 15:54:47.863 : AssetLoaderDelegate deinit
2020-03-02 15:54:47.865 : <AerialView: 0x7fea2f513dd0> backing change 2.0 isDisabled: false frame: (0.0, 0.0, 1440.0, 900.0) preview: false
2020-03-02 15:54:47.878 : <AerialView: 0x7fea2f40c0d0> startAnimation frame (0.0, 0.0, 2560.0, 1440.0) bounds (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:54:47.895 : <AerialView: 0x7fea2f40c0d0> observeValue Optional("readyForDisplay") true (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:54:47.896 : start playback: (0.0, 0.0, 2560.0, 1440.0) (0.0, 0.0, 2560.0, 1440.0)
2020-03-02 15:54:47.910 : <AerialView: 0x7fea2f513dd0> observeValue Optional("readyForDisplay") true (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:54:47.911 : start playback: (0.0, 0.0, 1440.0, 900.0) (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:54:48.363 : <AerialView: 0x7fea2f513dd0> startAnimation frame (0.0, 0.0, 1440.0, 900.0) bounds (0.0, 0.0, 1440.0, 900.0)
2020-03-02 15:55:00.152 : <AerialView: 0x7f94a6f074e0> startAnimation frame (0.0, 0.0, 296.0, 184.0) bounds (0.0, 0.0, 296.0, 184.0)
2020-03-02 15:55:00.153 : restarting playback

I've included the logs of two runs. One with the update check enabled, one disabled. You should be able to see from the logs when I changed it.

Interestingly this time one of the freezes affected one screen only.

glouel commented 4 years ago

Thanks for the log, I did see the two runs with and without the check. But I don't see anything wrong in the first run, sadly.

I suggest you keep the option disabled for now.

I'll try and reproduce with an external monitor here this week, to see if this is related, and will let you know what I find.

glouel commented 4 years ago

Thanks for the heads up @yueqianh ! Do you use an external monitor ?

teleport9000 commented 4 years ago

Hello good sir @glouel I am getting frame rate stuttering on an iMac Pro (late 2017, 32GB RAM with the VEGA 56). I was running Aerial 1.8.2 -- I tried upgrading to 1.8.3 beta 4 as well, with no change. Screen saver format prefs are: 4K HEVC non-HDR Running Catalina 10.15.4 Trying to not "stream" anything (I have the settings to pre-cache videos, to the best of my knowledge). Everything works fine for several "initiations" of Aerial after a macOS reboot, however after several instances of loading smoothly, they will start to stutter every time the screen saver comes up, until rebooting the machine.

Any suggestions welcome! Thank you

Edit: clarification: I am running two displays, each in independent mode. The built in 5K on the iMac Pro, and an externally connected Apple Thunderbolt Display.

glouel commented 4 years ago

Hi @teleport9000

First, can you check if Aerial's Updates tab, if you have "When the screensaver runs" checked near the bottom of the screen ? If so please disable it and try again and let me know if you still experience the issue ?

Edit : The fact that it goes away on a reboot is a bit weird. One thing that does happen is that when the screensaver runs, macOS starts some process to categorize your pictures and videos you may have added to iCloud/Photos. The video one especially seems to choke GPUs and slow down Aerial's video playback, although I had mostly that issue reported on laptops and wouldn't expect it in an iMac Pro. Could be some driver issue in macOS too as the reboot fixes it...

teleport9000 commented 4 years ago

@glouel Thanks for the quick response. Attached are the settings I have currently.

I actually just rebooted. Playback was smooth for one time (initiating screen saver via hot corner). On subsequent runs, it's now stuttering again (on the second Aerial run, after reboot). (1.8.3 beta 4)

BTW, when working smoothly, the GPU usage percentage seems to hover around 33% for 1 monitor doing 4K HEVC playback, the Skylake Xeon's in the iMac Pro's don't support hardware 10bit HEVC decoding. I think Apple has the GPU going it, so running two independent screens has the GPU plugging along at around 60-70%, regardless of wether the resulting videos are stuttering, or smooth.

Screen Shot 2020-04-22 at 11 26 15 AM Screen Shot 2020-04-22 at 11 26 05 AM

Edit in response to your edit: I do have my "system photo library" (that Photos.app pulls from) on an external SSD. If that could possible matter.

glouel commented 4 years ago

I actually just rebooted. Playback was smooth for one time (initiating screen saver via hot corner). On subsequent runs, it's now stuttering again (on the second Aerial run, after reboot). (1.8.3 beta 4)

I see, it kinda sounds like the delayed tasks that macOS runs.

BTW, when working smoothly, the GPU usage percentage seems to hover around 33% for 1 monitor doing 4K HEVC playback, the Skylake Xeon's in the iMac Pro's don't support hardware 10bit HEVC decoding. I think Apple has the GPU going it, so running two independent screens has the GPU plugging along at around 60-70%, regardless of wether the resulting videos are stuttering, or smooth.

So just to give you a bit more feedback on this, on an iMac Pro, you don't have a GPU on your Intel CPU as far as I remember (99.99% sure), so it's always deferring to the GPU. But the GPU usage you can't trust, as GPU video decoding is done by a fixed unit and not by the "GPU" units if that makes any sense. So any GPU usage is unexpected I'd say.

Edit in response to your edit: I do have my "system photo library" (that Photos.app pulls from) on an external SSD. If that could possible matter.

It might, my question would be, do you often add videos and photos to your library ? Because the analysis of those videos is usually what throws off Aerial. There was another user that had the issue here if you are interested in reading more details : https://github.com/JohnCoates/Aerial/issues/882

Long story short, if you see that mediaanalysisd is running while the screensaver is running, then that might be your issue. My original understanding was that mediaanalysis prevents the GPU decoding from running, which then make video get decoded on CPU and slow down. I'm not 100% sure that's your issue though.

Edit : I would check the Very common section here too on how to disable that recognition : https://github.com/JohnCoates/Aerial/blob/master/Documentation/Troubleshooting.md

Edit 2 : Can you clarify where you see your GPU usage ? I'm wondering if you don't have something else clogging your GPU than mediaanalysisd possibly as 70% makes little sense to me if we are talking about the shader cores...

teleport9000 commented 4 years ago

EDIT: never mind, spoke too soon. The stuttering continues with the Photo.app/system photo library disk ejected.

You were correct, I was able to resolve the issue (so far), by just ejecting the external volume that my macOS Photos library resides on (thereby stopping media/photoanalysisd).

I never did see the CPU spiking, to try to compensate (if media/photoanalysisd was indeed precluding Aerial from accessing GPU acceleration).

Correct, no built in Intel graphics on the iMac Pro. Ok thanks, I did not know that the AMD chips had dedicated playback/transcode units (I guess similar to NVENC on nvidia?)

I've attached an annotated screenshot of where I was getting those GPU usage figures from. iStat Menus. The clock speed reported for the main GPU remains low throughout Aerial playback (like 15-100MHz), even though the "usage percentage" increases the more screens that I add. Image 4-22-20 at 12 33 PM

glouel commented 4 years ago

You were correct, I was able to resolve the issue (so far), by just ejecting the external volume that my macOS Photos library resides on (thereby stopping media/photoanalysisd).

Awesome ! You can disable it as per the thread I linked so it doesn't run when the screensaver runs.

I never did see the CPU spiking, to try to compensate (if media/photoanalysisd was indeed precluding Aerial from accessing GPU acceleration).

It should be mild if anything on such a CPU. I do have a late 2015 iMac with a basic Skylake Core i5 here, and it seemlessly decodes 4K HEVC/HDR on the CPU as it's integrated GPU doesn't do HEVC (and the discrete AMD GPU on that iMac, while able, never kicks in to give a hand on HEVC).

Ok thanks, I did not know that the AMD chips had dedicated playback/transcode units (I guess similar to NVENC on nvidia?)

Yep exactly the same thing, it used to be called VCE on your Vega (more here : https://en.wikipedia.org/wiki/Video_Coding_Engine) but changed name recently to VCN. Intel iGPU have the same thing with QuickSync which is also a fixed unit. Videos basically never gets decoded by the GPU units.

I've attached an annotated screenshot of where I was getting those GPU usage figures from. iStat Menus. The clock speed reported for the main GPU remains low throughout Aerial playback (like 15-100MHz), even though the "usage percentage" increases the more screens that I add. Image 4-22-20 at 12 33 PM

Thanks ! Clock speed remaining low 100% means your GPU units (shader cores) aren't working/are idle. I'm not completely sure what that "usage" graphic corresponds to, since the clock is low there's practically no chance that's GPU unit usage (which is hard to gather in any case).

It would seem reasonable to me that this may be GPU memory usage though. And that could definitely explain the difference you see with multiple screens, especially since you run different videos on each screen. VCE is probably caching those videos in the GPU memory and that's the spike you are seeing with 2 screens.

If that's memory, I would assume that if you have 2 displays in Aerial's mirrored mode, you won't see a difference from 1 display since it won't cache the video twice.

teleport9000 commented 4 years ago

@glouel Thanks for your insights and feedback on this.

The fix in my last post, of ejecting the disk containing the system photo library, turned out to be a brief coincidence, I think.

I did get Aerial working with consistent smooth playback by removing all remnants of Aerial, including prefs and caches, and starting over with 1.8.2. (I had had v1.6 installed previously, at one point.) Since then, I've had the photo library mounted, seems to not be an issue.

Once I got it working, I did do some testing to see what the limits of the iMac Pro are with Aerial, if you are curious. I am also curious as to what you think might be happening.

Attached is another annotated screenshot from the iStat Menus data, for reported VEGA 56 "processor usage %", over about an hour. There is a corresponding screenshot showing "video memory" usage during the same time interval. TL;DR the iMac Pro seems to be capable of 3x 4K HEVC independent screens/streams. Stutters with 4. VRAM not maxed... think it could be an imposed limitation with VCE on the Vega 56 to 3 streams, or something like that? I know NVENC has a limitation for the consumer chips.

Thanks

Screen Shot 2020-04-22 at 3 45 57 PM

Screen Shot 2020-04-22 at 3 46 07 PM
glouel commented 4 years ago

The fix in my last post, of ejecting the disk containing the system photo library, turned out to be a brief coincidence, I think.

Ha, our posts crossed it seems.

I did get Aerial working with consistent smooth playback by removing all remnants of Aerial, including prefs and caches, and starting over with 1.8.2. (I had had v1.6 installed previously, at one point.) Since then, I've had the photo library mounted, seems to not be an issue.

This is troubling, well hopefully that fixed it for you but it's possible I have some issue with some old preference. I started moving some preferences around 1.8 to a new format and got rid of some older stuff, off the top of my head I have no idea how that could impact performance (I've had bugs but not of that kind because of that) but you never know.

Please keep monitoring in case it comes back. And I don't know if you happen to use time machine but... any chance you could grab the old preference file before you wiped it and attached it here ? That might be super helpful.

Once I got it working, I did do some testing to see what the limits of the iMac Pro are with Aerial, if you are curious. I am also curious as to what you think might be happening.

Of course!

Attached is another annotated screenshot from the iStat Menus data, for reported VEGA 56 "processor usage %", over about an hour.

So it's processor usage, hmm. I really need to install iStat Menus to see what they exactly measure. The Core clock still being low still implies no usage though, so I'm not sure how to reconcile those, unless they factor UVD/VCE in there.

The fixed units are in a separate clock domain, so that's consistent with low frequency being reported for the shader units.

There is a corresponding screenshot showing "video memory" usage during the same time interval. TL;DR the iMac Pro seems to be capable of 3x 4K HEVC independent screens/streams. Stutters with 4. VRAM not maxed... think it could be an imposed limitation with VCE on the Vega 56 to 3 streams, or something like that? I know NVENC has a limitation for the consumer chips.

So I'm not 100% sure but off memory, there is a limit to the number of simultaneously decoded streams in most of these fixed units, which may depend on codec and size. It might well be 3, I probably have a documentation somewhere about that here. I'm curious though when you mean stuttering, were some smooth and one stuttering, all stuttering in sync if you see what I mean ? I would expect 4 screens in mirrored in no issue also ?

It's getting late here so I'll try to dig a bit more into it tomorrow, I'm a bit puzzled by your GPU processor graph, whatever it means, that's hitting 100% as to what that exactly means.

Couple of complementary questions for you:

teleport9000 commented 4 years ago

Yes, will attach old prefs. When attempting 4 independent 4K HEVC from the VEGA 56, all are mostly stuttering in sync, or the same degree, but one (a 1080 display I had hooked up) was slightly smoother.

Have been selecting the 4K HEVC, non-HDR videos. Haven't tried any of the 1080p options. Achieving 4 independent screens is not really something that I need to accomplish currently, though I am curious to see if 3 is some sort of max for this specific AMD chip / iMac Pro.

Yeah, hard to know what iStat Menus is really representing there, with the main clock remaining minimal. (Also thermals aren't drastically shooting up, like when the GPU really is at full tilt.)

I did try doing 'mirrored' in Aerial, across 4 screens, it is totally smooth; iStat reports the same 'VEGA 56 processor usage %' it does as when just running a single monitor. (~30%.)

BTW, on this iMac Pro, I can play a locally stored 4K feature film (Apollo 11, HEVC 10-bit REMUX Blu-ray rip, ~60Mbps average video bitrate) through a media player like IINA or VLC. When doing this, iStat shows roughly the same "VEGA56 usage %" (~30%) as the presumably lower bitrate Aerial files.

com.JohnCoates.Aerial.C060F294-29ED-5DF9-ABD8-7CE6F032C79F.plist.zip

glouel commented 4 years ago

Yes, will attach old prefs.

Awesome ! I'll see if I can reproduce somehow, will let you know.

When attempting 4 independent 4K HEVC from the VEGA 56, all are mostly stuttering in sync, or the same degree, but one (a 1080 display I had hooked up) was slightly smoother.

Ok. I tried digging a bit but couldn't find precise info on the UVD 7 version that's on Vega. I remember the really early version were limited to 1 then 2 streams so 3 seems probable, although it could be somewhere else in the pipe.

Have been selecting the 4K HEVC, non-HDR videos. Haven't tried any of the 1080p options. Achieving 4 independent screens is not really something that I need to accomplish currently, though I am curious to see if 3 is some sort of max for this specific AMD chip / iMac Pro.

If you really want to dig more, you should try using Quicktime player. Aerial uses the exact same API for playback.

Yeah, hard to know what iStat Menus is really representing there, with the main clock remaining minimal. (Also thermals aren't drastically shooting up, like when the GPU really is at full tilt.)

The core clock is the best indicator that nothing is happenning there. I did give a shot to iStat menus and I also see some "gpu processor activity" :

Capture d’écran 2020-04-23 à 14 25 58

The first one in red was a 4K HDR video, the second one 4K HEVC. In both cases, I get a GPU usage, despite the video being decoded on the CPU on this iMac in both cases (only 1 video/5K screen).

So at that point, whatever that activity is, doesn't really matter. Could be some post processing (tone mapping) that macOS does (there are some fixed units for that too), or just show the activity at the back of the GPU around compositing/displaying to screens (I'd probably bet on that one).

I did try doing 'mirrored' in Aerial, across 4 screens, it is totally smooth; iStat reports the same 'VEGA 56 processor usage %' it does as when just running a single monitor. (~30%.)

Sounds about the same amount of usage I get here with 1 video so yeah, give a shot to multiple Quicktime on one screen if you want to dig more into that I guess.

BTW, on this iMac Pro, I can play a locally stored 4K feature film (Apollo 11, HEVC 10-bit REMUX Blu-ray rip, ~60Mbps average video bitrate) through a media player like IINA or VLC.

VLC does have it's own path to hardware acceleration (different than Aerial/Quicktime as in they don't use the Apple's API but go more low level), but even without, one such stream should play fine on pretty much anything. Your CPU can probably decode 3 of those too ;)

And for the fixed unit in your Vega, they don't care much about bitrate (they are tailored to handle the full BR profiles on recent iterations) so it should have 0 impact on them.

When doing this, iStat shows roughly the same "VEGA56 usage %" (~30%) as the presumably lower bitrate Aerial files.

Which makes me think this is either post processing or ROP activity/compositing, but certainly not decoding.

Thanks for the pref file I'll try to have a look soonish and let me know if the issues comes back or not (one possible thing if it's mediaanalysis is it was done with your stuff, so maybe make a few videos ;)).

teleport9000 commented 4 years ago

Hey,

So, the stuttering-with-multiple-video-streams issue recurred on this iMac Pro running Aerial 1.8.2 and 10.15.4. Aerial appears to be causing double the GPU usage after initial post-reboot run, making running two displays jerky. To recap: I have 2 displays. The iMac Pro itself, plus an external Thunderbolt Display; Aerial set to 4K HEVC video format.

After a reboot, before Aerial runs, I can smoothly play up to 3 HEVC streams of a test video in QuickTime Player. When I look in Activity Monitor, the “GPU %” shows about ~30% usage for each stream that I add.

Once Aerial runs, if I open QuickTime Player, a single of my test streams now takes ~60% GPU and I can only play 1 smoothly until I reboot again. (Aerial doesn’t run smoothly at all, until I trash the prefs like last time.)

Any ideas? Thanks!

Eric

On Apr 23, 2020, at 5:48 AM, Guillaume Louel notifications@github.com wrote:

Yes, will attach old prefs.

Awesome ! I'll see if I can reproduce somehow, will let you know.

When attempting 4 independent 4K HEVC from the VEGA 56, all are mostly stuttering in sync, or the same degree, but one (a 1080 display I had hooked up) was slightly smoother.

Ok. I tried digging a bit but couldn't find precise info on the UVD 7 version that's on Vega. I remember the really early version were limited to 1 then 2 streams so 3 seems probable, although it could be somewhere else in the pipe.

Have been selecting the 4K HEVC, non-HDR videos. Haven't tried any of the 1080p options. Achieving 4 independent screens is not really something that I need to accomplish currently, though I am curious to see if 3 is some sort of max for this specific AMD chip / iMac Pro.

If you really want to dig more, you should try using Quicktime player. Aerial uses the exact same API for playback.

Yeah, hard to know what iStat Menus is really representing there, with the main clock remaining minimal. (Also thermals aren't drastically shooting up, like when the GPU really is at full tilt.)

The core clock is the best indicator that nothing is happenning there. I did give a shot to iStat menus and I also see some "gpu processor activity" :

https://user-images.githubusercontent.com/37544189/80099762-498c0a80-856f-11ea-87d4-fcfc2c85fde8.jpg The first one in red was a 4K HDR video, the second one 4K HEVC. In both cases, I get a GPU usage, despite the video being decoded on the CPU on this iMac in both cases (only 1 video/5K screen).

So at that point, whatever that activity is, doesn't really matter. Could be some post processing (tone mapping) that macOS does, or just show the activity at the back of the GPU around compositing/displaying to screens.

I did try doing 'mirrored' in Aerial, across 4 screens, it is totally smooth; iStat reports the same 'VEGA 56 processor usage %' it does as when just running a single monitor. (~30%.)

Sounds about the same amount of usage I get here with 1 video so yeah, give a shot to multiple Quicktime on one screen if you want to dig more into that I guess.

BTW, on this iMac Pro, I can play a locally stored 4K feature film (Apollo 11, HEVC 10-bit REMUX Blu-ray rip, ~60Mbps average video bitrate) through a media player like IINA or VLC.

VLC does have it's own path to hardware acceleration (different than Aerial/Quicktime as in they don't use the Apple's API but go more low level), but even without, one such stream should play fine on pretty much anything. Your CPU can probably decode 3 of those too ;)

And for the fixed unit in your Vega, they don't care much about bitrate (they are tailored to handle the full BR profiles on recent iterations) so it should have 0 impact on them.

When doing this, iStat shows roughly the same "VEGA56 usage %" (~30%) as the presumably lower bitrate Aerial files.

Which makes me think this is either post processing or ROP activity but not decoding.

Thanks for the pref file I'll try to have a look soonish and let me know if the issues comes back or not (one possible thing if it's mediaanalysis is it was done with your stuff, so maybe make a few videos ;)).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/940#issuecomment-618382705, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJQB3QZGERVNZX477D34F3ROA2IBANCNFSM4K7UIVTA.

teleport9000 commented 4 years ago

UPDATE: Disconnected the external display, to take it out of the equation. After running Aerial a few times with just the built-in screen, both Aerial playback and my test HEVC file (in QuickTime Player) start requiring 2x more "GPU %" than normal to play. Thus making it only possible to play one HEVC file smoothly, because one stream is using ~60% GPU.

If I reboot, HEVC playback in QuickTime Player takes ~30% GPU, like normal, until running Aerial again.

Thanks

On May 10, 2020, at 4:05 PM, Eric Heyneker cosmologicalmoose@gmail.com wrote:

Hey,

So, the stuttering-with-multiple-video-streams issue recurred on this iMac Pro running Aerial 1.8.2 and 10.15.4. Aerial appears to be causing double the GPU usage after initial post-reboot run, making running two displays jerky. To recap: I have 2 displays. The iMac Pro itself, plus an external Thunderbolt Display; Aerial set to 4K HEVC video format.

After a reboot, before Aerial runs, I can smoothly play up to 3 HEVC streams of a test video in QuickTime Player. When I look in Activity Monitor, the “GPU %” shows about ~30% usage for each stream that I add.

Once Aerial runs, if I open QuickTime Player, a single of my test streams now takes ~60% GPU and I can only play 1 smoothly until I reboot again. (Aerial doesn’t run smoothly at all, until I trash the prefs like last time.)

Any ideas? Thanks!

Eric

On Apr 23, 2020, at 5:48 AM, Guillaume Louel <notifications@github.com mailto:notifications@github.com> wrote:

Yes, will attach old prefs.

Awesome ! I'll see if I can reproduce somehow, will let you know.

When attempting 4 independent 4K HEVC from the VEGA 56, all are mostly stuttering in sync, or the same degree, but one (a 1080 display I had hooked up) was slightly smoother.

Ok. I tried digging a bit but couldn't find precise info on the UVD 7 version that's on Vega. I remember the really early version were limited to 1 then 2 streams so 3 seems probable, although it could be somewhere else in the pipe.

Have been selecting the 4K HEVC, non-HDR videos. Haven't tried any of the 1080p options. Achieving 4 independent screens is not really something that I need to accomplish currently, though I am curious to see if 3 is some sort of max for this specific AMD chip / iMac Pro.

If you really want to dig more, you should try using Quicktime player. Aerial uses the exact same API for playback.

Yeah, hard to know what iStat Menus is really representing there, with the main clock remaining minimal. (Also thermals aren't drastically shooting up, like when the GPU really is at full tilt.)

The core clock is the best indicator that nothing is happenning there. I did give a shot to iStat menus and I also see some "gpu processor activity" :

https://user-images.githubusercontent.com/37544189/80099762-498c0a80-856f-11ea-87d4-fcfc2c85fde8.jpg The first one in red was a 4K HDR video, the second one 4K HEVC. In both cases, I get a GPU usage, despite the video being decoded on the CPU on this iMac in both cases (only 1 video/5K screen).

So at that point, whatever that activity is, doesn't really matter. Could be some post processing (tone mapping) that macOS does, or just show the activity at the back of the GPU around compositing/displaying to screens.

I did try doing 'mirrored' in Aerial, across 4 screens, it is totally smooth; iStat reports the same 'VEGA 56 processor usage %' it does as when just running a single monitor. (~30%.)

Sounds about the same amount of usage I get here with 1 video so yeah, give a shot to multiple Quicktime on one screen if you want to dig more into that I guess.

BTW, on this iMac Pro, I can play a locally stored 4K feature film (Apollo 11, HEVC 10-bit REMUX Blu-ray rip, ~60Mbps average video bitrate) through a media player like IINA or VLC.

VLC does have it's own path to hardware acceleration (different than Aerial/Quicktime as in they don't use the Apple's API but go more low level), but even without, one such stream should play fine on pretty much anything. Your CPU can probably decode 3 of those too ;)

And for the fixed unit in your Vega, they don't care much about bitrate (they are tailored to handle the full BR profiles on recent iterations) so it should have 0 impact on them.

When doing this, iStat shows roughly the same "VEGA56 usage %" (~30%) as the presumably lower bitrate Aerial files.

Which makes me think this is either post processing or ROP activity but not decoding.

Thanks for the pref file I'll try to have a look soonish and let me know if the issues comes back or not (one possible thing if it's mediaanalysis is it was done with your stuff, so maybe make a few videos ;)).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/940#issuecomment-618382705, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJQB3QZGERVNZX477D34F3ROA2IBANCNFSM4K7UIVTA.

glouel commented 4 years ago

Hi @teleport9000

The only thing I can say is that it looks like an API bug from Apple. After Aerial is done, it gets killed by the system so whatever would happen under Aerial, should have no impact afterwards.

By itself Aerial just uses AVPlayer to play videos, and doesn't do anything particularly magical. It has no access to the GPU, the API handles everything and Aerial has about 0 control on all of this . There are some calls that can let you specify a GPU but that part of the API doesn't seem to work. Actually, I just had a look and they updated their documentation with this info :

Important

You must specify an external GPU (or a slotted GPU in Mac Pro) with this property. You can’t switch decoding between the integrated graphics and the built-in discrete graphics.

https://developer.apple.com/documentation/avfoundation/avplayer/2942616-preferredvideodecodergpuregistry

I guess that explains why I couldn't get it to work ;) I can't even disable hardware acceleration for you, to give you an idea of how little control I have in all this.

So there's not much I can do except suggest you send a report to Apple via Feedback Assistant, this may prove helpful for them to debug the issue. Sorry that I can't do more on this.

glouel commented 4 years ago

@teleport9000 sorry if I sounded unhelpful yesterday, I did think of one more thing this morning : most of the time (if not all), a change made with screensavers and Catalina is that they get violently SIGKILLed by the OS without warning. In the pre Catalina days, we were warned that we were going to get killed and Aerial has some code to close the video player to free up ressources if any (again, with Swift, it's completely out of the developer control). It's quite likely that by getting SIGKILLed, some GPU ressources on some systems (like yours) may end up not being freed (whatever those are, for some reason I'm still thinking VRAM despite what the monitoring tool said).

So here's a suggestion that may help you reproduce the issue outside of Aerial:

You should get a couple of lines like this :

glouel           20217   0,0  0,2  4906980  31628   ??  S     2:04     0:00.29 /System/Applications/QuickTime Player.app/Contents/MacOS/QuickTime Player

Find the line with QuickTime Player and note the first number after your user account. That's the PID (process id). Then do this in terminal : kill -9 20217 (using the correct number above instead of 20217 ;) )

If you do, I would suggest filing a bug report to Apple via Feedback Assistant with both this test case, and an explanation of how this happens too with your screensaver, feel free to point them to this thread. It's likely that this is a GPU/driver specific issue so having your exact hardware/driver configuration (as they do when you use that assistant) will help them troubleshoot it.

teleport9000 commented 4 years ago

Hey, Thanks for the reply.

I did try "kill -9"ing QuickTime Player a few times. Resource usage seemed normal after (ie when starting playback again).

I was successful in resolving the issue temporarily, by trashing the Aerial prefs. I’m not sure if it’s helpful, but I’ve attached said prefs (that were in place when it was stuttering).

Thanks, Eric

On May 11, 2020, at 5:15 AM, Guillaume Louel notifications@github.com wrote:

@teleport9000 https://github.com/teleport9000 sorry if I sounded unhelpful yesterday, I did think of one more thing this morning : most of the time (if not all), a change made with screensavers and Catalina is that they get violently SIGKILLed by the OS without warning. In the pre Catalina days, we were warned that we were going to get killed and Aerial has some code to close the video player to free up ressources if any (again, with Swift, it's completely out of the developer control). It's quite likely that by getting SIGKILLed, some GPU ressources on some systems (like yours) may end up not being freed (whatever those are, for some reason I'm still thinking VRAM despite what the monitoring tool said).

So here's a suggestion that may help you reproduce the issue outside of Aerial:

Launch a video playback with QuickTime Player In a terminal, try this command : ps aux | grep -i Player You should get a couple of lines like this :

glouel 20217 0,0 0,2 4906980 31628 ?? S 2:04 0:00.29 /System/Applications/QuickTime Player.app/Contents/MacOS/QuickTime Player Find the line with QuickTime Player and note the first number after your user account. That's the PID (process id). Then do this in terminal : kill -9 20217 (using the correct number above instead of 20217 ;) )

Then open QuickTime Player again and try again to see if you also see a ressource spike ? If you do, I would suggest filing a bug report to Apple via Feedback Assistant with both this test case, and an explanation of how this happens too with your screensaver, feel free to point them to this thread. It's likely that this is a GPU/driver specific issue so having your exact hardware/driver configuration (as they do when you use that assistant) will help them troubleshoot it.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/940#issuecomment-626664687, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJQB3RHB2R3T7KHXK3C5T3RQ7T5JANCNFSM4K7UIVTA.

glouel commented 4 years ago

@teleport9000 sorry for the late reply, but can you let me know if deleting the preferences again solved it durably for you ?

teleport9000 commented 4 years ago

Hi,

Yes, it has continued to work, thanks.

It did take roughly two weeks for the issue to recur last time. I just looked at the calendar, it has been exactly two weeks since I trashed the prefs.

I’ll keep you posted if it recurs.

Thanks

On May 24, 2020, at 9:46 AM, Guillaume Louel notifications@github.com wrote:

@teleport9000 https://github.com/teleport9000 sorry for the late reply, but can you let me know if deleting the preferences again solved it durably for you ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/940#issuecomment-633258470, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJQB3VQP4XJB5NEAPLN3CDRTFFM5ANCNFSM4K7UIVTA.

jonfoxnj commented 4 years ago

Hey @glouel , I know you've addressed this but I can’t seem to find a fix...

High CPU usage/fan spinning all of a sudden: If you correctly configured the preferred video format according to your Mac and still experience high CPU usage/fan spinning all of a sudden, please look for the cause with Activity Monitor, you may see a com.apple.photos.ImageConversionService responsible for this CPU load. This is the iCloud Photos process, you can find more about what it does here and how to pause it.

The link doesn't seem to provide any useful insight on how to disable, i think it's since been changed. I am trying to run 4k HDR video, I know in SDR I don’t have this issue. Mac model: MacBook Pro 15-inch 2015 macOS version: macOS Catalina 10.15.5 Monitor setup: TV via HDMI in clamshell (Radeon Pro 560X 4 GB graphics)

Let me know if you can help. Thanks in advance!

glouel commented 4 years ago

Hi @jonfoxnj

I am trying to run 4k HDR video, I know in SDR I don’t have this issue. Mac model: MacBook Pro 15-inch 2015

So, in your case I think the issue is more simple, 2015 macs don't have full support for hardware decoding of those videos. So because of this, the video must be decoded by the CPU so it may stutter or spin your fan.

There's a help bubble next to where you pick the video format, I suggest you click it :

Capture d’écran 2020-05-27 à 20 09 14

There's a (not 100% but reliable) test at the bottom of the screen that tells you if you can play HEVC videos or not (with extra explanation). In your case, depending on whether it's an early or late 2015, it will either be red or yellow I think. In general, only 2017+ Macs can use GPU decoding (and thus no fan spinning and minimal power consumption) for 4K/HDR.

To double check you can try opening one of the 4K HDR videos with Quicktime (you can go into Aerial's cache tab to access the folder where the videos are stored, you will probably see exactly the same thing as you see with Aerial (I use the exact same APIs).

So not a lot you can do here on this laptop but go back to a lower setting, sorry.

jonfoxnj commented 4 years ago

*I’m an idiot, copied too fast from the template message, it’s a 2018. Here’s the confirmation screenshot as well. "https://user-images.githubusercontent.com/21955911/83058645-b1c68400-a026-11ea-9f0a-688a6fcebda9.png"

On May 27, 2020, at 2:17 PM, Guillaume Louel notifications@github.com wrote:

Hi @jonfoxnj https://github.com/jonfoxnj I am trying to run 4k HDR video, I know in SDR I don’t have this issue. Mac model: MacBook Pro 15-inch 2015

So, in your case I think the issue is more simple, 2015 macs don't have full support for hardware decoding of those videos. So because of this, the video must be decoded by the CPU so it may stutter or spin your fan.

There's a help bubble next to where you pick the video format, I suggest you click it :

https://user-images.githubusercontent.com/37544189/83056851-6035ed80-a056-11ea-82c2-820d0cb7771c.jpg There's a (not 100% but reliable) test at the bottom of the screen that tells you if you can play HEVC videos or not (with extra explanation). In your case, depending on whether it's an early or late 2015, it will either be red or yellow I think. In general, only 2017+ Macs can use GPU decoding (and thus no fan spinning and minimal power consumption) for 4K/HDR.

To double check you can try opening one of the 4K HDR videos with Quicktime (you can go into Aerial's cache tab to access the folder where the videos are stored, you will probably see exactly the same thing as you see with Aerial (I use the exact same APIs).

So not a lot you can do here on this laptop but go back to a lower setting.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnCoates/Aerial/issues/940#issuecomment-634850124, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFHQKRY3MPDSMYK4O3XY4ZTRTVKKXANCNFSM4K7UIVTA.

glouel commented 4 years ago

Ha, no worries. So yep it might be the other thing. You didn't tell me, does it happen 100% of the time or some of the time ?

I'll have a look in an hour or so and get back to you, thanks.

jonfoxnj commented 4 years ago

Happens 100% of the time. Yea sounds good thanks for the time!

glouel commented 4 years ago

@jonfoxnj please go to this issue : https://github.com/JohnCoates/Aerial/issues/999

I split it so we can separate your issue which look different. Thanks!

teleport9000 commented 4 years ago

Hi,

The stuttering issue came back on this iMac Pro (when using more than one display).

Too many possible factors this time: -time-up on the mysterious ~2 week durability observed so far? -upgraded to 10.15.5 -upgraded to 1.9.0

It is working for now, with new fresh prefs.

I am attaching the "corrupted" prefs along with the "fresh" ones, that I just set up (2nd file).

Thanks! Eric

Link to prefs: https://bearcrusher.duckdns.org:5001/sharing/AdFalpwn2

Hi, Yes, it has continued to work, thanks. It did take roughly two weeks for the issue to recur last time. I just looked at the calendar, it has been exactly two weeks since I trashed the prefs. I’ll keep you posted if it recurs. Thanks On May 24, 2020, at 9:46 AM, Guillaume Louel @.***> wrote: @teleport9000 https://github.com/teleport9000 sorry for the late reply, but can you let me know if deleting the preferences again solved it durably for you ? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#940 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJQB3VQP4XJB5NEAPLN3CDRTFFM5ANCNFSM4K7UIVTA.

glouel commented 4 years ago

Ok this is crazy, I grabbed your two preferences files and will have a look tomorrow and let you know !

teleport9000 commented 4 years ago

Great. Thanks so much for your time, etc. with this.

I love staring at these.

Eric

jonfoxnj commented 4 years ago

Lol I'll admit I love staring at these too, really appreciate the time and effort you've put into this.

ghost commented 3 years ago

Hey there,

I have the same Issues did a clean install etc. nothing special on my iMac Pro and getting stutter as soon as the new Big Sur Screensaver starts, when playing back HEVC 4K Content.

I noticed, that the Radeon 56 Vega won't clock up, staying at 14-26MHZ.

I have an iMac Pro 2017, 32GB Ram, 1TB SSD and Radeon 56.

after reboot problem disappears. so what could that really be? I think its something like a Power-State Bug happening on the GPU?!

glouel commented 3 years ago

Hey there,

I have the same Issues did a clean install etc. nothing special on my iMac Pro and getting stutter as soon as the new Big Sur Screensaver starts, when playing back HEVC 4K Content.

I noticed, that the Radeon 56 Vega won't clock up, staying at 14-26MHZ.

I have an iMac Pro 2017, 32GB Ram, 1TB SSD and Radeon 56.

after reboot problem disappears. so what could that really be? I think its something like a Power-State Bug happening on the GPU?!

Hey @raveya

Did you check the clock when it plays normally ? Decoding is done on a fixed unit so the clock isn't really indicative of decoding, but there's a tiny bit of GPU activity for the actual displaying of the video etc on 4K HEVC (there's more on HDR). With that said it should be 100% smooth for you.

Considering rebooting helps, and nothing "stays around" from one launch of Aerial to the other, this is perplexing. Next time you hit the bug, could you try opening one of Aerial's video in quicktime just to see if it lags there too ?

My quick guess is this is probably a graphics driver bug but any data may be useful. Thanks !