Google Chrome krótko się zawiesza przed renderowaniem nowej karty

9

Ilekroć chcę przejść do innej karty niż renderowana, Chrome zawiesza się na około 2 sekundy przed renderowaniem nowej karty. Dzieje się tak, gdy trzeba wyświetlić nową kartę, na przykład klikając przycisk „Nowa karta” lub zamykając bieżącą kartę.

Oto informacje o mojej wersji:

Google Chrome 14.0.835.163 (oficjalna wersja 101024)

System operacyjny: Linux (Ubuntu 11.04)

WebKit 535.1 (oddziały / chrom / 835 @ 94713)

Jedyne rozszerzenie, którego używam, to AdBlock, a wyłączenie go nie przyniosło żadnego efektu.

Zdarzyło mi się to dopiero od czasu aktualizacji do najnowszej wersji Chrome.

Wiesz, co się dzieje?

Alex Dias
źródło
Czy próbowałeś wyłączyć domyślną stronę „Nowa karta”? Możesz to zrobić z rozszerzeniem „Przekierowanie nowej karty” . Spróbuj zmienić to na about:blank. Czy to robi różnicę?
Duijf,
Nie jestem pewien, czy wszystko było jasne. Dzieje się tak, nawet jeśli mam otwarte dwie zakładki, powiedzmy jedną na www.google.com, a drugą na www.youtube.com, i chcę przełączać się między nimi (problem nie zależy od zawartości zakładek: Mogę mieć dwie zakładki na temat: wersja, a przełączanie się między nimi powoduje opóźnienie).
Alex Dias,
O ile mogłem zobaczyć, nie było raportów o błędach dotyczących tego problemu. Czy może to być aplikacja powodująca konflikt?
Duijf,
Być może dzieje się tak również wtedy, gdy niewiele więcej działa. Tuż przed aktualizacją Chrome (co spowodowało problem) zainstalowałem gcc-4.4, g ++ - 4.4 i ich zależności (dając mi dwie wersje zarówno gcc, jak i g ++: 4.4 i 4.5). Jednak robienie tego na Live CD nie spowodowało żadnych problemów, więc chyba dwie zainstalowane wersje gcc i g ++ nie są przyczyną problemu. Ponadto właśnie zainstalowałem Chromium, a problem nie istnieje.
Alex Dias,
Co ciekawe, zaczęło mi się to teraz przy aktualizacji do nowej wersji 13.04.2012. Dzieje się tak teraz ze stabilnymi, niestabilnymi i beta wersjami. Widzę wiele innych sporadycznych raportów o błędach na ten temat, ale nie ma prawdziwych odpowiedzi. Będę kontynuować dochodzenia.
Daniel Andersson,

Odpowiedzi:

4

Spotkałem podobne zachowanie z kartami, które nie były (wstępnie) renderowane w tle, a czasem nawet nie były wyświetlane. Na szczęście przypomniałem sobie, że aktywowałem GPU-Compositing w około: flagach (które działały dobrze do jednego lub dwóch tygodni temu). Wyłączenie go ponownie rozwiązało ten problem.

Maximilian Jänicke
źródło
Dziwne, to NAPRAWDĘ przyspieszyło proces renderowania w Chrome.
mowwwalker
1

Właśnie teraz wyśledziłem inny problem z libcairo2obecną wersją Debiana Sid. Zobacz błąd Debiana # 682308 .

Ze cairo-1.12.0nie jest to błąd regresji powoduje przełączanie tab i otwierania nowych kart w przeglądarce Google Chrome i chromu znacznie opóźnić Spike xorgużycie procesora.

W raporcie o błędzie wspomniano o trzech różnych obejściach, oczekujących na poprawkę:

  • Bieganie

    nvidia-settings -a InitialPixmapPlacement=0
    
  • Przypinanie pakietu do wersji 1.10.2-7.
  • Budowanie najnowszych libcairozmian src/cairo-xlib-display.cze zmianami łatek poprzez ustawienie display->buggy_gradientsby zawsze TRUE(od postu na forach Debiana ) (rozważ też przypięcie go, na wypadek gdyby przyszłe libcairo2aktualizacje nadal nie były poprawione).

To w końcu rozwiązało moje problemy.

AKTUALIZACJA

Jest to rzekomo naprawione w sterowniku Nvidia 304.30 wydanym 2012-07-30. Z dziennika zmian (jeszcze nie online, z powodu niedawnego hakowania NvNews i własnej strony Nvidii, która nie hostuje dziennika zmian, ale znajduje się w pakiecie binarnym, który zapewniają):

- Fixed a problem where RENDER Glyphs operations would exhibit severe
  performance issues in certain cases, such as when used with gradients
  by Cairo and Chromium.

AKTUALIZACJA 2

... a teraz ta wersja sterownika przynajmniej uderzyła w Debian Unstable.

Daniel Andersson
źródło
0

Ponieważ karty Google Chrome są trapezoidalne, używają w sterowniku określonej funkcji zwanej „przyspieszeniem trapezoidalnym”, która jest obsługiwana sprzętowo przez nowsze obwody Nvidii .

Na starszych obwodach bez tego wsparcia pojawił się błąd, który pojawił się w połączeniu z aktualizacjami do X.org 1.11 (gdzie, jak sądzę, X.org zaczął obsługiwać bezpośrednie renderowanie trapezoidalne), co spowodowało, że renderowanie trapezoidalne było znacznie wolniejsze niż powinno być (dużo wolniej niż w przypadku wcześniejszych kombinacji sterowników / serwerów X.org). Korzystam z GeForce 9400, który jest jednym z obwodów, których dotyczy problem.

Raport o błędzie Debiana .

Ogłoszenie sterownika Nvidii w 290.03 .

Osobiście miałem ten problem z jeszcze nowszymi wersjami Nvidii (295.40), które utrzymywały się przez restart, ale z jakiegoś powodu po prostu nvidia-settingsnaprawiłem to.

Chrome jest nadal dużo wolniejszy niż np. Opera w przełączaniu kart i tworzeniu na moim komputerze, ale nie powoduje już opóźnień o kilka sekund. Z tego, co mogę powiedzieć, wrócił do prędkości sprzed wprowadzenia błędu.


EDYCJA: Ta informacja jest tak samo jak poprzednio, ale pojawił się dodatkowy błąd, który wpłynął na wszystkie karty Nvidii. Zobacz moją drugą odpowiedź, aby uzyskać więcej informacji.

Daniel Andersson
źródło