Не удается получить 60 кадров в секунду при переходе непрозрачности в Chrome

Мне нужен переход непрозрачности со скоростью 60 кадров в секунду или лучше, и я тестирую временную шкалу инструментов разработчика Chrome. Я создал jsfiddle (http://jsfiddle.net/jnoody/Zt8nd/), чтобы продемонстрировать , но в основном это просто div, у которого класс переключается каждые несколько секунд и переходы по непрозрачности для двух состояний. На глаз это выглядит хорошо, но меня убедили, что 60 кадров в секунду должны быть достижимы.

HTML:

<div id="fader"></div>

CSS:

#fader {
    height: 1000px;
    width: 1000px;
    background-color: grey;
    opacity: 1;
    transition: 1s opacity;
}

#fader.fadeOut {
    opacity: 0;
    transition: 1s opacity;
}

JavaScript:

var fader = document.getElementById('fader');
setInterval(function () {
    fader.classList.toggle('fadeOut');
}, 2000);

Я также пробовал использовать хак с нулевым преобразованием, но в любом случае он находится в своем собственном слое (с использованием «рендеринга составных граничных слоев»).


person user3135693    schedule 26.12.2013    source источник
comment
А как ты меряешь фпс?   -  person jfriend00    schedule 26.12.2013
comment
Вы пытаетесь сказать fadeOut и fadeIn 60 раз за 1 секунду? Как спросил @jfriend00, какая у вас длина кадра?   -  person sanjeev mk    schedule 26.12.2013
comment
@sanjeevmk - посмотрите на CSS. Переходы длятся по 1 секунде. постепенное появление в течение 1 секунды, 1 секундная пауза, затем постепенное исчезновение в течение 1 секунды и т. д.   -  person jfriend00    schedule 26.12.2013
comment
@jfriend00 Да. Возможно, ОП хочет, чтобы переход происходил 60 раз за 1 секунду, то есть каждый переход длился 1/60 секунды. И он мог спутать эту мысль с кадрами в секунду.   -  person sanjeev mk    schedule 26.12.2013
comment
Я измеряю FPS с помощью временной шкалы кадров chrome dev tools. Я не хочу, чтобы переход происходил 60 раз за 1 секунду. Я хочу 1-секундный переход для достижения 60 кадров в секунду.   -  person user3135693    schedule 03.01.2014


Ответы (1)


Не совсем уверен, поможет ли это, но я получаю 60 кадров в секунду на скрипке, работая в полном окне (то есть добавляя /show к скрипке)

Снимок Chrome

Есть только один момент, когда частота кадров падает, но я считаю, что это когда выполняется javascript (так что это не имеет ничего общего с возможным ускорением GPU)

person vals    schedule 26.12.2013