Почему этот CSS вызывает зависание / сбой Firefox? - PullRequest
1 голос
/ 26 сентября 2011

Следующий CSS-размер фона и градиент при применении к большим элементам div приводят к зависанию / падению Firefox. Рендеринг градиентов может быть довольно интенсивным, но кто-нибудь знает, почему Firefox вылетает, в то время как Webkit обрабатывает подобный CSS без сбоев?

background-size: 4px 4px;
background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, .02) 25%, transparent 25%,
    transparent 50%, rgba(255, 255, 255, .02) 50%, rgba(255, 255, 255, .02) 75%,
    transparent 75%, transparent);

Похоже, что уменьшение размера фона приводит к сбою Firefox "сильнее", так как я предполагаю, что это приводит к увеличению количества градиентов.

Сбой на 6.0.2, 5.0.1, но очень медленно рендеринг на 3.6.22.

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Вы сталкиваетесь с https://bugzilla.mozilla.org/show_bug.cgi?id=632324

2 голосов
/ 26 сентября 2011

Нет сбоя для меня, используя http://jsfiddle.net/C8dTT/2/ в качестве тестового примера в Firefox 6 или Firefox 9.0a1, он просто зависает на некоторое время, но в конце концов это делается.Очевидно, что неэффективно вычислять градиент, это занимает слишком много времени - и это не помогает, если вы попросите браузер повторить этот расчет для каждого поля 4x4 на веб-странице.Интересно, что когда я прекращаю выполнение в отладчике, выполняемый код принадлежит графическому драйверу Intel.Также нет проблем, если в Firefox для gfx.direct2d.disabled установлено значение false.Таким образом, основной причиной, скорее всего, является ошибка либо в Direct2D, либо в графическом драйвере - все же стоит подать отчет об ошибке на https://bugzilla.mozilla.org/, однако они захотят обойти эту патологическую ситуацию.что Firefox 3.6 не имеет ускорения на GPU, поэтому вы не видите здесь зависания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...