High CPU in IsSandboxedProcess() during video playback.
-
So - in relation to another user's problems with high CPU I had a look at my own system, and found I actually have somewhat of a similar issue. But since my system is more powerful, I've hardly noticed it to the same extent someone with for instance a Core2 Duo would.
The issue is that Vivaldi uses a lot more CPU when playing back video than the same in browsers like Opera and Firefox. Some have claimed this is because Vivaldi cannot afford the same decoders as other browsers, but I don't buy it - since mostly the FFMpeg decoder is used anyway.
However what I didn't do earlier when checking it was run in a clean profile... and today I did. Turns out running in a clean profile I don't see the same issues at all. D'oh! So it's to do with my profile and some setting. The decoder theory is out the window as is the theory of a build introducing this. Something is wrong in my profile and I need help to figure out what it is.
Here's the CPU usage during playback. In my current profile on the left (~200%), and a new profile on right (~30%)
Obviously this is in the internal Task Manager in Vivaldi, which does not take into account multiple CPUs so the first number is high (200+%). In Process Explorer the usage is a lot less, but the relation is the same. The usage in Opera and Firefox is about the same as in the last image.
Here's a video showing the issue with the CPU usage in Process Explorer. You can see the high CPU usage from the IsSandboxedProcess calls which accounts for most of the CPU:
https://drive.google.com/open?id=1O0Ksdh7DXLIR45JROaScR0yHe0rspNdJI've reported this issue as VB-56987: IsSandboxedProcess in vivaldi_child.dll uses a lot of CPU cycles.
I've not done a profile reset at all since installing Vivaldi a long time ago. But I really don't want to do it either. First, it's a lot of work. Second, it will be admitting defeat and taking the easy way out which is for schmucks. I want to figure out what causes it to happen - and by doing so will likely learn something and possibly help others as well. Hopefully
What I've already tried:
- Disabled all extensions
- Reset all Chromium flags to default. The only ones I had set are: Password import, EV certificate details in Page Info, Security interstitials dark mode.
- Set Override software rendering list to Disabled. Current is Default which I assume is Enabled.
Any ideas what else can be done? I'm open to everything but a profile reset. There must be a setting somewhere that can fix this.
System:
Windows 10 Pro 64-bit Intel Core i7 4790K @ 4.00GHz 32 °C 16,0GB Dual-Channel DDR3 @ 799MHz (10-10-10-30) ASRock Z97 Extreme4 (CPUSocket) 31 °C 4095MB NVIDIA GeForce GTX 970 (MSI) 59 °C ASUS BW-16D1HT SCSI CdRom Device Realtek High Definition Audio
About:
Vivaldi 2.8.1664.30 (Official Build) (32-bit) Revision 707ff5fa167e9914f6a01e693e963db635a9fd20 OS Windows 10 OS Version 1903 (Build 18362.295) JavaScript V8 7.7.299.11 Flash 32.0.0.238 C:\WINDOWS\SysWOW64\Macromed\Flash\pepflashplayer32_32_0_0_238.dll User Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.78 Safari/537.36 Vivaldi/2.8.1664.30 Command Line "D:\bin\Vivaldi\Application\vivaldi.exe" --flag-switches-begin --enable-features=EvDetailsInPageInfo,PasswordImport,SecurityInterstitialsDarkMode --flag-switches-end --ppapi-flash-path="C:\WINDOWS\SysWOW64\Macromed\Flash\pepflashplayer32_32_0_0_238.dll" --save-page-as-mhtml Executable Path D:\bin\Vivaldi\Application\vivaldi.exe Profile Path C:\Users\Stian\AppData\Local\Vivaldi\User Data\Default
About GPU:
Graphics Feature Status Canvas: Hardware accelerated Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Out-of-process Rasterization: Disabled Hardware Protected Video Decode: Unavailable Rasterization: Hardware accelerated Skia Renderer: Disabled Video Decode: Hardware accelerated Viz Display Compositor: Enabled Viz Hit-test Surface Layer: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated
-
@Pathduck Someone (able to do so) should test a similar constellation in Win7. I remember there was a post about a Win10 bug that could hit here as well in conjunction with a different load profile and different user profile settings.
-
@kahukura Not sure the OS is related here, as this is running differently in different profiles on the same machine. But it might be a weird one. I'd love to have a dev chime in here
For completeness, here are graphs from Process Explorer during video playback. Left is current profile, right is clean profile:
I notice memory use on the left is higher, but that might just be from caching the video in memory. As for the IO, it seems more "spiky" on the left, and generally higher, not sure what to make of that... But CPU usage is clearly about four times higher.
-
@Pathduck What I can imagine is, that some setting requires the decoder to permanently "ping" if condition has a match before a function call rather than to the beginning of that process. That's a wild guess of mine as I am not into Win programming.
Edit: Have you tried w/ HW-accel and w/o?
-
@kahukura Disabling H/W acceleration doesn't make much of a difference. In fact - the Vivaldi GPU process still uses GPU with it disabled so not sure what's going on there.
And yes, there's something "pinging" the IsSandboxedProcess() method and creating this high CPU. CPU usage in the actual ChromeMain() is not that high. Looking at for instance Opera, ChromeMain() does most of the work, and very little in IsSandboxedProcess().
-
@Pathduck I remember there was once a topic with Process Explorer on how to drill down an issue like this (find the entry point in the process called and who does it). Unfortunately it's beyond my capabilities to assist w/ active debugging. From the naming convention it could give a clue here, permanently asking if sandboxed() perhaps?
Edit: Just activating one option after another from a clean profile is for sure not the way to debug.
Another Edit: Have you changed any options regarding the Use of Google services? That makes sense to me to have a look there in your profile.
-
@kahukura I know - I could probably install the debugging SDK for Windows to have Symbols support in Process Explorer and see what might be calling.
Here's also a video showing how it looks in a clean profile:
https://drive.google.com/file/d/13Ulzi8YxZNVKHYybMCI0WZchcF22AZGO/view
Here it's clear the ChromeMain() is doing most of the work and CPU use is hardly noticeable. -
@Pathduck Is ProcMon a viable option? I know it produces a wealth of information.
Edit: Procdump could also be called if the process is activated and that would create a crashdump that might aid in debugging (TMK).
-
Hello up there, not coincidence, fellow Jörg, just in case.
@Pathduck We have been through the topics couple 'x' time ago. High Cpu Usage is ignored. There is sys monitor permanently visible on my Desktop.
Would you mind telling us about that DLL? The flash plugin was a single file.
@kahukura Can you remember the file extension name? -
-
@kahukura Yes I've used ProcMon a lot. But it's usually for finding file and registry operations, reads and writes and network calls. Don't know how much it will do for CPU issues. But I might take a look.
A dump might be useful, but maybe mostly for finding stuff like memory leaks etc. And a dump is really only useful for the developers themselves, who know the code, analysing it would be waaay over my head...
@lamarca Are you drunk again? Who is Jörg? :smiling_face_with_open_mouth_closed_eyes:
Vivaldi_child.dll is just one of the standard Vivaldi DLLs and it exports the IsSandboxedProcess() function.
-
@kahukura It's the Conky.
People installed the program, Presto needed one single file. -
@Pathduck No beer!
Jörg is here. -
@Pathduck said in Need help debugging high CPU with video playback.:
@lamarca Are you drunk again? Who is Jörg? :smiling_face_with_open_mouth_closed_eyes:
Indeed it has more in common with my first name.
-
Sorry, guys. Let's stay on topic.
-
Yes for sure. I think the theory that some process is called way too often is a good one. But what makes it behave like that?
-
@kahukura In that time, The flash player installed on your OS were almost mandatory. The users from Presto forum installed flash twice. Duplicated plugin caused the 100% of resources.
-
@lamarca I had not much use for flash but was a happy O user since 3.62 (according to my records).
I am confident someone checked that multiple times but if it is so evident why not have another look (for the goods).
-
I had pending to ask about that and the situation on latest computers.
I have same High CPU problem, so currently I'm using FF for watch media, it has a very different function.
FF keeps around 68°, Vivaldi and Opera Dev around 80/90° because the CPU usage.
Opera Stable seems to be some degrees colder.
Tested on Clean Profiles.
Just noticed that muting the video there is less CPU usage and degrees.Searching, just read that Chrome uses as much Hardware acceleration as it can, so maybe is something related.
It happens on every video, even on YouTube and even at 480p definition.
It has a dual Graphics and even selecting the NVidia to be used, it uses the CPU, which I don't understand.
In my case, the specifications are:
Intel I5 2410 | 2.6Ghz
Intel HD3000 + NVidia 520M
6Gb DDR3
Hitachi HDDW7 x64
Wonder if it's because hardware related or newest computers are having same problems, so it's a Bug or Chromium programing.
-
@Zalex108 Hey, your sys specs was build up to execute lots of instruction per second. If you could provide a link for us. Twitter is resource hog, pause one of those silly videos and check the usage via our Task Manager.