Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.04.2013, 23:39
Новичок на форуме
Отправить личное сообщение для Eugene Varf Посмотреть профиль Найти все сообщения от Eugene Varf
 
Регистрация: 10.04.2013
Сообщений: 7

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

Тормозит - анимация CSS3 для примерно 350 элементов. Попробуйте сделать ее на чистом Javascript - она вообще не запустится Можно делать на WebGL, но я не пробовал. Скорость зависит от браузера: в Opera быстрее всех, в FireFox медленнее всех, в IE 9 вообще без анимации. Если анимация мешает, то там есть кнопка, чтобы ее отключить - будет намного быстрее.
Ответить с цитированием
  #12 (permalink)  
Старый 10.04.2013, 23:50
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Eugene Varf
тормозит - анимация CSS3 для примерно 350 элементов. Попробуйте сделать ее на чистом Javascript - она вообще не запустится
Да ща
это конечно интересно, наверное, грузить браузер перерисовками при каждом малейшем изменении стилей любого из 350 элементов .
Только вот принципы анимации давно сложились , и нет смысла перерисовывать окно браузера чаще 30-60 раз в секунду, и реализация на JS не только запуститься, но и сожрёт гораздо меньше ресурсов браузера - при правильной реализации

Последний раз редактировалось dmitriymar, 10.04.2013 в 23:59.
Ответить с цитированием
  #13 (permalink)  
Старый 11.04.2013, 00:35
Новичок на форуме
Отправить личное сообщение для Eugene Varf Посмотреть профиль Найти все сообщения от Eugene Varf
 
Регистрация: 10.04.2013
Сообщений: 7

Вы меня почти убедили - я попробую.

Изменения стилей анимируются, конечно, не малейшие, а как раз составляющие разницу в положении модели до клика по кнопке поворота и после.

Признаться, я поверил на слово Илье Кантору в главе учебника про CSS-анимацию, что она "Гораздо «легче» для процессора, чем анимации JavaScript. Лучше используется графический ускоритель. Это очень важно для мобильных устройств." Кстати, на "мобильном устройстве", где я это читал, разница между Javascript-анимацией и CSS-анимацией и впрямь была огромная.

Но раз dmitriymar так авторитетно заявляет иное, надо испытать.
Ответить с цитированием
  #14 (permalink)  
Старый 11.04.2013, 11:26
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Eugene Varf
Признаться, я поверил на слово Илье Кантору в главе учебника про CSS-анимацию, что она "Гораздо «легче» для процессора, чем анимации JavaScript. Лучше используется графический ускоритель. Это очень важно для мобильных устройств." Кстати, на "мобильном устройстве", где я это читал, разница между Javascript-анимацией и CSS-анимацией и впрямь была огромная.
Сообщение от Eugene Varf
Изменения стилей анимируются, конечно, не малейшие, а как раз составляющие разницу в положении модели до клика по кнопке поворота и после.
а на этом пути изменения каждого разве не заставляют перерисовываться браузер? если нет -как бы вы их видели?

так и есть , но у вас 350 объектов , шаг трансформации каждого заставляет браузер перерисовываться. -посчитайте сколько раз в секунду вы пытаетесь перерисовать браузер. в то время как для человеческого глаза достаточно 30 -60 раз.
всё хорошо но в меру, вы же эту меру раз в 350 превысили для CSS

Последний раз редактировалось dmitriymar, 11.04.2013 в 11:29.
Ответить с цитированием
  #15 (permalink)  
Старый 11.11.2013, 01:56
Новичок на форуме
Отправить личное сообщение для Eugene Varf Посмотреть профиль Найти все сообщения от Eugene Varf
 
Регистрация: 10.04.2013
Сообщений: 7

Сообщение от dmitriymar Посмотреть сообщение
а на этом пути изменения каждого разве не заставляют перерисовываться браузер? если нет -как бы вы их видели?

так и есть , но у вас 350 объектов , шаг трансформации каждого заставляет браузер перерисовываться. -посчитайте сколько раз в секунду вы пытаетесь перерисовать браузер. в то время как для человеческого глаза достаточно 30 -60 раз.
всё хорошо но в меру, вы же эту меру раз в 350 превысили для CSS
Недавно добавил в проект "Лермонтовский проспект" и "Жулебино". Заметил, что Chrome (который несколько раз обновился за это время) стал неприлично медленно показывать CSS-анимацию. Сделал JS-анимацию по Вашему совету - все стало работать лучше. Спасибо! Правда, частота кадров не возросла, зато исчезли хромовские баги отрисовки CSS-анимации и появилась поддержка IE.
Ответить с цитированием
  #16 (permalink)  
Старый 15.11.2013, 20:53
Аватар для ANAGAMA
Аспирант
Отправить личное сообщение для ANAGAMA Посмотреть профиль Найти все сообщения от ANAGAMA
 
Регистрация: 29.05.2013
Сообщений: 49

Круто, что можно сказать. Сама идея хороша.

Можно много говорить, по поводу управления — это не важно, его можно улучшать, фишка не в этом.

Понятное дело, что по нему ездить не будут, но, повторюсь, идея прекрасная!!!

Я бы добавил по возможности

1. Отключить линии, тогда можно видеть будет одну, две линии.
2. Мега задача — наложить рельеф местности.

Успехов!
Ответить с цитированием
  #17 (permalink)  
Старый 15.11.2013, 22:49
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Было бы клево сделать поворот при помощи мыши: чтобы при таскании карты, менялись phi/theta в зависимости от положения курсора. Я вчера пытался это допилить, но так и не осилил.
Ответить с цитированием
  #18 (permalink)  
Старый 29.12.2013, 19:11
Профессор
Отправить личное сообщение для alexan0308 Посмотреть профиль Найти все сообщения от alexan0308
 
Регистрация: 11.04.2011
Сообщений: 207

Сообщение от Eugene Varf Посмотреть сообщение
Можно делать на WebGL, но я не пробовал.
Жаль, сделал бы легко и непринужденно =)))
Ответить с цитированием
  #19 (permalink)  
Старый 06.01.2014, 14:02
Новичок на форуме
Отправить личное сообщение для MrNSky Посмотреть профиль Найти все сообщения от MrNSky
 
Регистрация: 06.01.2014
Сообщений: 6

Мне кажется ? или там действительно можно было обойтись одним лишь CCS3+Html5? В качестве критики могу выдвинуть предложние, когда заходишь на сайт и видишь карту не сразу понимаешь че с ней делать надо, я лишь прочитав остальные посты в эфтой ветке форму понял что там что то крутить можно. Я предлагаю сделать так чтобы когда юзер заходил на карту она демонстрационно так и боковито вращалась до тех пор пока он ее не тронет.
Ответить с цитированием
  #20 (permalink)  
Старый 15.03.2014, 04:57
Новичок на форуме
Отправить личное сообщение для Eugene Varf Посмотреть профиль Найти все сообщения от Eugene Varf
 
Регистрация: 10.04.2013
Сообщений: 7

Я прикрутил управление мышкой: левой кнопкой повороты, правой зумирование. Также сделал возможность просмотра модели за любой год, начиная с 1935-го. Не советую смотреть в Firefox - там почему-то это работает на порядок медленнее, чем в остальных современных браузерах, включая IE.

update: Теперь приемлемо работает и в Firefox: помогло подключение requestAnimationFrame для рендеринга.

Последний раз редактировалось Eugene Varf, 20.03.2014 в 10:28.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
ищу схему метро на javascript Volonter Работа 5 06.03.2011 00:58
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34