Браузеры отображают элементы холста, которые не находятся внутри области просмотра?

У меня есть страница, которая имеет довольно тяжелый (средний вес)canvas операции продолжаются. Для обслуживания пользователей на мобильных устройствах и старых компьютерах я подумал, что мог бы реализовать механизм, который будет проверять, действительно ли элемент canvas виден, и решать, нужно ли выполнять постоянные вычисления и обновления холста (анимация, работающая со скоростью 30 кадров в секунду) или нет ,

Это работает нормально, но при выполнении теста производительности с Chrome Dev Tools я заметил, что даже когда я отключаю свою проверку видимости и просто позволяю вещам рендериться все время, использование ЦП рассматриваемой функции довольно сильно падает, когда ни одна из частей элемент (ы) canvas виден (хотя теоретически он должен выполнять те же задачи). Итак: по крайней мере, на моем компьютере с Chrome 17 не будет никакой разницы, если я проверю фактическую видимость элемента.

Короче говоря: мне нужно сделать это или браузеры достаточно умны, чтобы справиться с таким случаем, даже не сказав им (и я могу сохранить проверку видимости)?

РЕДАКТИРОВАТЬ:

Так что я сделал некоторые "исследования" по этой теме и построилэта скрипка

Что происходит, так это то, что он просто генерирует шум со скоростью 30 кадров в секунду. Не слишком приятный для глаз, но, ну ... Верхняя часть просто равнинаdiv заблокировать окно просмотра. Когда я прокручиваю вниз и получаюcanvas Элемент в окне просмотра Использование процессора говорит мне, что он занимает около 40%, так что, видимо, браузер действительно должен здесь многое сделать. Когда я прокручиваю назад вверх, чтобы у меня просто был темно-бордовыйdiv В моем окне просмотра и профилирования загрузка процессора снижается до 10%. Когда я прокручиваю обратно вниз, использование снова возрастает.

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

Поэтому мне все еще интересно, является ли это некоторым побочным эффектом чего-то, о чем я не знаю (или я делаю какую-то серьезную ошибку при профилировании), или я могу ожидать, что браузеры будут достаточно умными, чтобы справляться с такими ситуациями?

Если бы кто-нибудь мог пролить свет на это, я был бы очень благодарен!

Ответы на вопрос(2)

Ваш ответ на вопрос