Sunday, May 22, 2011

Google Chrome - 2

Обнаружил пару интересный настроек: about:flags и включил пару интересных флагов:

  • GPU Accelerated Compositing
  • GPU Accelerated Canvas 2D


Маленькое изменение результатов с этими флагами:

  • chrome - CPU1 - 60% , CPU2 - 80%, GPU - 11%, FPS - 32-36
  • chrome, linux, WebGL on - CPU1 - 30% , CPU2 - 90%, GPU - ?, FPS - 17-19
  • chrome, linux, WebGL off - CPU1 - 50% , CPU2 - 80%, GPU - ?, FPS - 1

Saturday, May 14, 2011

Google Chrome

Обнаружилось что WebGL в chrome под linux отключен, про отключение ff слышал, про хром както пропустил. Причем отключен он только для radeon и intel.

Проверить это очень легко вводим about:gpu и если видим что-то подобное: ATI cards in Linux are crash-prone. То усилием воли закрываем все вкладки и перезапускаем с 'google-chrome --ignore-gpu-blacklist' и радуемся новым впечатлениям :-)

И немного тестов рыбками из демок под ie:
  • ie9 - CPU1 - 8% , CPU2 - 10%, GPU - 40%, FPS - 60
  • chrome - CPU1 - 40% , CPU2 - 90%, GPU - 10%, FPS - 35
  • chrome, linux, WebGL on - CPU1 - 30% , CPU2 - 90%, GPU - ?, FPS - 15
  • chrome, linux, WebGL off - CPU1 - 50% , CPU2 - 80%, GPU - ?, FPS - 16
  • ff 4.0, linux, WebGL off - CPU1 - 75% , CPU2 - 75%, GPU - ?, FPS - 60
В тестах использовал 20 рыбок. Нагрузку на GPU измерял в AMD System Monitor, которая есть только под Windows. Тест представляет собой движение спрайта по канвасу(в ресурсах есть картинка c полной анимацией движения рыбки).

Sunday, May 8, 2011

Еще пара мелких оптимизаций

Использование более удобный для кеширование url(пример для Apache):
  • создаем папочку с файлом .htaccess:
    RewriteEngine On
    RewriteRule ^/?(.*)/(.*)$ /$1?$2 [L]
  • И запрашиваем все файлы из нее по url вида имя папки/нужный ресурс/старый путь относительно корня/параметры вызова - в результате получим, что то подобное /img/avatar.sh?user=1 => /stat/img/avatar.sh/user=1.
И возможность заставить всех ходить через https без перенаправления - стоит пользователю один раз зайти через https - и в течении указаного в заголовке Strict-Transport-Security времени браузер обязан сам заменять все запросы к http на https без запроса к серверу. То есть человек один раз делает запрос на http - мы его перенаправляем на https, и уже на запрос по https мы ему указываем что в течении определенного времени делать запросы только на https.