Как Google Body загружается так быстро? - PullRequest
8 голосов
/ 08 июля 2011

http://bodybrowser.googlelabs.com/

Я знаю источник их данных и даже для использования в режиме реального времени, эти сетки и текстуры часто составляют сотни КБ или даже несколько МБ каждая.Даже в низком разрешении трудно понять, как они могут заставить его работать в течение 1 с после загрузки ... Я вижу некоторые признаки потоковой передачи текстур, если я сразу переключаюсь на другой слой, но получить даже загруженные полигоны вовремя впечатляет.

Как они достигли этого - сверхнизкие значения поли или просто очень умная прогрессивная загрузка?

Ответы [ 2 ]

6 голосов
/ 09 июля 2011

Некоторые трюки, которые Google делает для быстрого начального Загрузка тела и общая производительность - это сжатие дельта-данных, ограничение числовой точности и атласов текстур.

Заголовки кэша помогают только уменьшить это при последующих посещениях.

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

Google I / O 2011: методы и производительность WebGL: http://www.youtube.com/watch?v=rfQ8rKGTVlg

Презентация Google Body в лагере WebGL # 3: http://www.youtube.com/watch?v=vsHHNClzJPg

3 голосов
/ 08 июля 2011

Это все манипуляции с кешем волшебный приятель.Я делаю это и в своей игре, чтобы ускорить загрузку модели, текстуры и звука.Их заголовок контроля кэша:

Cache-Control:public, max-age=31536000

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

Мне потребовалось на моей широкополосной сети с холодным кэшем 2,3 минуты, чтобы загрузить 23,89 МБ, если вы хотите, чтобы я мог опубликовать файл Chrome HAR, чтобы вы могли проверить все мои времена загрузкиподробно.

...