Terrible Youtube lag (Opera 12.16)
-
v1vil last edited by
Same here.
The lag is caused by YouTube's new layout JavaScript.
This may be because of bug or because Opera 12 JS engine is just a lot slower than FF for example.
Sadly it's not possible to use YT with JS turned off.I hope we will find a solution to this because I don't want to switch to other browsers just yet.
EDIT: I'm quite sure it's a bug because people on high-end machines are also lag when opening YT pages.
-
zerothepiratecat last edited by
Any solution yet? A good percent of my use of Opera is focused on YouTube
-
2slow2handle last edited by
Yep, youtube freezing while loading sidebar content, seems it depends on subscribed channels count, playlists etc.
If you log off or block http://youtube.com/watch_fragments_ajax (this will remove sidebar on "/watch"-pages) - all works fine. -
j7nj7n last edited by
I'm using YouTube exlusively with Opera (real Opera) because of this extension, which captures direct links to the video data, and allows to save it or pass to a media player for comfortable viewing in full screen. No other browser allows me to do this.
The site is slow as hell on a 1.6 GHz CPU, but not so much slower than the rest of the web. It hasn't frozen for me yet. Uploading occasionally failed though.
I'm not sure what the sidebar is. I got 11 subscriptions, which generate some recommended channels, recommended videos. Playlists and history appear at the top of the page when I click my name.
-
2slow2handle last edited by
<— This is the sidebar. I have ~200 subscriptions and opera just freezes during loading all that stuff
Okay, I didn't like that list anyway :3
Add this as user CSS:#guide-subscriptions-container {display: none;}
-
j7nj7n last edited by
Oh I see, you mean the menu that comes down when clicking the "≡" button. (Which looks like what we had in MS-DOS programs, like dos navigator, lol ...). I can confirm that the main page of YT is extremely slow to load (before the menu is clicked even). I hadn't loaded it in a while, and was going to the site from bookmarks, such as the now mostly defunct inbox or subscriptions. Videos are about as quick as before if browsing is started from there.
-
zerothepiratecat last edited by
Originally posted by 2slow2handle:
#guide-subscriptions-container {display: none;}
Worked like a charm. Gj.
-
iairbiscuit last edited by
Originally posted by 2slow2handle:
Okay, I didn't like that list anyway :3
Add this as user CSS:#guide-subscriptions-container {display: none;}
That did the trick, thank you
-
v1vil last edited by
Originally posted by 2slow2handle:
<— This is the sidebar. I have ~200 subscriptions and opera just freezes during loading all that stuff
Okay, I didn't like that list anyway :3
Add this as user CSS:#guide-subscriptions-container {display: none;}
Thanks. It works.
Quick tutorial for newbies:
1. Right-click on YouTube
2. Edit site preferences...
3. Display
4. Create a file with path said in My style sheet
5. Add this to created file#guide-subscriptions-container {display: none;}
6. Save
-
A Former User last edited by
Originally posted by 2slow2handle:
Okay, I didn't like that list anyway :3
Add this as user CSS:#guide-subscriptions-container {display: none;}
Thanks! I was logged out a moment and the front page didn't freeze - it still is "laggy", though. Scrolling isn't smooth like on other web pages, but at least it works. I have ~100 subscriptions. Yeah, nothing lost in not having that sidebar there.
Thanks, v1vil! I, for one, did not know that.
I'll add that you may have to run Notepad as administrator (right click on Notepad, select 'run as administrator') to be allowed to save to the styles folder in Opera.
-
A Former User last edited by
Glad I found this thread, because this was driving me round the bend!
Every time I load any YouTube page, the browser (Opera 12.16) is freezing for about 30 seconds.I've tried the User CSS fix, but it's not making any difference, so I just want to check that I'm not doing anything stupid.
I opened Notepad, and pasted the string -
"#guide-subscriptions-container {display: none;}"
into it, (without the quotes, the forum seems to mess it up without them, removes the # and makes it large and bold!) and saved it as youtube.css in my Opera\Profile folder.
I then used the site preferences in YouTube to set this file under the "Display" tab to be "My style sheet".
Restarted Opera, absolutely no difference whatsoever!
Any idea what I'm doing wrong?What's with a forum with no smilies BTW?!
-
A Former User last edited by
Ah, OK I fixed it after a bit of research, which I should have done in the first place!
I didn't realise that it wouldn't work unless "my style sheet" was ticked under "author mode".
D-oh!
-
donnymaan89 last edited by
Cheers gentlemen.
This youtube freeze thing got so irritating I started to look into why the new version of Opera I had used at work had turned into just like every other browser that doesn't have vertical tab stacking (apart from having it as an ugly tumor like extension designed by a programmer).
I wasn't happy to find out about what has become of my beloved browser that I had used for 10 years now.
Needless to say, when they add the next button (great for browsing pages with multiple pictures) and vertical tab stacking they can have me bite the bullet and downgrade to chrOpera. My job involves in me having multiple browsers and one opera where I keep my tons of tabs for multitasking. But until they get their chrOpera together to even half of what 12.16 is I'll roam the internet and find you smart guys who can help me patch up this old friend and keep it running nice and smoothly.Again, thank you.
-
hitanykey last edited by
Had the same problem (12.16), using the info from v1vil and davehawley I got it to work. For now. Thanks guys/gals.
-
ksandom last edited by
Hi guys,
The CSS hack above worked for me also.
#guide-subscriptions-container {display: none;}
Before finding this, I did a lot of digging with strace and made a little headway, so I'd like to add some more details that might help the Opera devs solve it on their side more cleanly.
But first some general observations.
Problem
- Any youtube page I tried would freeze for period of time.
- The freeze begins say 3-5 seconds after the video/pre-roll-ad has begun playing and lasts between 5-30 seconds.
Scope
- I've tested a few versions of opera. All have the problem.
- I have not successfully reproduced the problem in any other browser. I have tested Opera, Firefox, Chrome, Rekonq.
- I've noted both Windows and Linux users reporting this problem. I haven't seen and mac reports, but I haven't been looking for them.
- On brief inspection, Opera mini on android does not appear to have this problem, though it appears video playback may be provided by another application. The home page did not cause the problem. Note that opera mini goes to m.youtube.com which will be using a substantially cut back code base.
- Changing the useragent to IE, firefox etc does not alter the result. eg maybe browser specific javascript/css was being delivered.
My setup
- I have a large number of youtube subscriptions (163), and a long history of activity (2008).
- Low end laptop
- Opera 12.16
- 16GB RAM
- Kubuntu 12.10
- Linux 3.5.0-22-generic
- x86_64
- Intel(R) Celeron(R) CPU B820 @ 1.70GHz
- Desktop
- Opera 12.16
- 32GB RAM
- Kubuntu 13.04
- Linux 3.8.0-30-generic
- x86_64
- AMD FX(tm)-8120 Eight-Core Processor
Debug observations
- While running strace and then loading a youtube page, there are two freezes in close succession. The first one is the longest, and the second is over pretty quickly.
- When running opera on two wildly differntly spec'd machines I get very similar freeze times, however the low-end machine sometimes takes long enough for the flash plugin to crash. This suggests to me that a timeout is forming a large part of the problem, and raw processing power as a much smaller part.
- As already established, this is not a plugin causing this problem. Disabling all plugins and browsing youtube using the HTML5 player still yeilds the freeze.
- v1vil suggests that this problem is caused by new javascript on youtube. I agree, although I don't have an conclusive proof.
- Using strace I'm seeing a huge number of "Resource temporarily unavailable", which I originally thought was part of the problem since it happens on the line before the epoll_wait before the freeze, but later came to the conclusion that it was irrelevant since it happens when the browser is running fine. The full line looks like this:
"recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)" - If I'm reading that right, the "Resource temporarily unavailable" is related to this:
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 - In each case, the line immediately before the freeze is:
epoll_wait(8, {}, 16, 0) = 0 - If I reading it right, that relates to the following line which happens fairly early in the output: "epoll_create(20) = 8". However I haven't yet established what is actually being polled.
- Here is the epoll_create documentation: http://linux.die.net/man/2/epoll_create
- Here is the epoll_wait documentation: http://linux.die.net/man/2/epoll_wait
strace output
Producing the strace output
The strace output is huuuuge. So rather than pasting it all here, here is how I produced it:
- Closed all tabs in opera, then closed opera.
- I set my terminal (konsole) to unlimited scroll back, so I could see all output from the start.
- Ran
strace opera 2>&1 | tee /tmp/opera-debug
. That gave me output on the terminal, and saved it to /tmp/opera-debug. - Loaded the youtube home page.
- When ever there was a freeze, I'd hold enter in the terminal so I had an effective bookmark to see where it was.
- Closed opera.
The strace output around the first freeze
writev(3, [{"H\2\4\357\24\0`\4\31\0`\4\316\0)\1\r\0\246\1\0\30\2\0", 24}, {"\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377"..., 244728}, {"", 0}], 3) = 208832 poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"..., 35920}, {"", 0}], 2) = 35920 epoll_wait(8, {}, 16, 0) = 0 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f222687c000 mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2226864000 recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) epoll_wait(8, {}, 16, 0) = 0 recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) epoll_wait(8, {}, 16, 0) = 0 recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) epoll_wait(8, {}, 16, 0) = 0
The freeze happens here.
recvfrom(3, "\2$\352\4\360\240{\1\355\0\0\0\t\0`\4\0\0\0\0\327\6\353\4\330\6\263\1\20\0\1\0"..., 4096, 0, NULL, NULL) = 128 recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"H\0029\377\24\0`\4\31\0`\4e\1\267\0\0\0\230\0\0\30\2\0", 24}, {"\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377"..., 261324}, {"", 0}], 3) = 208832 poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}])
The strace output around the second freeze
write(66, "0\n1394236194\n-1\nSuper Hot Pizza "..., 4096) = 4096 write(66, "rceid=opera&ie=utf-8&oe=utf-8&ch"..., 2423) = 2423 close(66) = 0 munmap(0x7f2226892000, 4096) = 0 recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) epoll_wait(8, {}, 16, 0) = 0
*The freeze happens here.8
recvfrom(3, 0x333cb14, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"H\2\243\373\24\0`\4\31\0`\4\357\0043\0\0\0\230\0\0\30\6\202", 24}, {"\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377"..., 257652}, {"", 0}], 3) = 257676 poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"H\2\243\373\24\0`\4\31\0`\4\357\0043\0\0\0\313\0\0\30\6\202", 24}, {"\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377\31\27\17\377"..., 257652}, {"", 0}], 3) = 257676
I hope this is useful.
- Kevin
-
r1cky909 last edited by
Originally posted by 2slow2handle: <— This is the sidebar. I have ~200 subscriptions and opera just freezes during loading all that stuffOkay, I didn't like that list anyway :3Add this as user CSS:#guide-subscriptions-container {display: none;} Thanks. It works.Quick tutorial for newbies:1. Right-click on YouTube2. Edit site preferences...3. Display4. Create a file with path said in My style sheet5. Add this to created file#guide-subscriptions-container {display: none;}6. Save
I'm new and also having this problem and have no idea what steps 4 and 5 mean. I also don't know what to do with that
file#guide-subscriptions-container {display: none;}
Part. -
A Former User last edited by
Originally posted by r1cky909:
I'm new and also having this problem and have no idea what steps 4 and 5 mean. I also don't know what to do with that file#guide-subscriptions-container {display: none;} Part.
This is very late, but I wanted to make the steps as easy as I can for everyone, as well as myself (I had some problem understanding the solution even though I did it before).
- Open Notepad as administrator (right-click, select 'run as administrator')
- Put the following into Notepad:
#guide-subscriptions-container {display: none;}
- Save it as youtube.css and in 'Save as type', choose 'All Files'. Put it in the styles folder where Opera is installed (typically C:\Program Files\Opera\styles).
- In Youtube, right-click and select Edit site preferences. Select 'Display', go to the styles folder, and choose the youtube.css file you just created.
- Refresh, and Youtube should work.
@Kevin: Brilliant bug hunt!
-
Deleted User last edited by
@2slow2handle: Thanks for the css hack, works a treat, and everyone else with helpful comments.
Because nobody else has mentioned it, if you move your cursor over the top of the video then it'll start to freeze and stutter... so um, don't do that.