Pull to refresh

Comments 17

UFO just landed and posted this here
Угу Canvas с прозрачностью в ФФ тормозит. Хром спокойно и 200 частиц кушает.
стоило в вектора добавлять шумы, а так же эмитить частицы не разом а хаотично, а то что у вас получилось можно сделать при помощи картинок
Как при помощи картинок? :)
1. В вектора и так шуми добавляются.
2. Частицы появляются не разом, а в зависимости от скорости потока.
покрути мышь кругами, увидишь что огонь разбивается на шаблонные элементы, соответственно можно отрисовать такой шаблонный элемент и далее отрисовывать множество его копий (можно даже дивами, благо браузеры понимают альфа канал)
не работает в опере 10.10, но работает в 10.50 :)
Чем больше интереса к этой области, тем возможно быстрее будут внедряться новинки и тем тщательнее над ними буду работать.
Судя по быстродействию (даже в хроме), делать браузерные игры на Canvas еще рановато…
Кстати, а уже есть такие?
В планах только)
Судя по намечающейся тенденции, производительность JS в браузерах скоро станет вполне себе ничего.
Там достаточно сложный процесс отрисовки — прозрачность, если не делать это через OpenGL/D3D то будет медленно. Как будут ускорять так сразу очень сложные эффекты будут доступны.
Ну и как я писал ниже — нужна встроенная библиотека по работе с векторами.
Кто-то из браузеропроизводителей планирует отрисовывать Canvas через OpenGL/D3D? Или пишет такой плагин?
Думаю для этого будет canvas.getContext('3d');
Уже есть…
Canvas 3D
Медленно слишком, пока софтовый рендеринг. Если OpenGL/DirectX рендеринг реализуют, то будет счастье.
Кстати, а в хроме не через openVG ли это реализовано? Может потому и быстро (относительно)
Пара комментариев:
Если на маленьком экране прокрутить страницу вниз, текстуры летят не туда. Вообще для вычисления углов есть функция Math.atan2(da, db).

Такой большой канвас для сцены не нужен. С небольшими канвасами порядка 400*400 уже можно делать игрушки аркадного типа с фиксированным фреймрейтом порядка 30.

Если интересует что-то большее, советую присмотреться к технологии WebGL, которая поддерживается в последних версиях Firefox и Chrome.
Ну WebGL уже давно интересует, но это пока в моём TODO.
Что на счёт Math.atan — углы тут не нужны, тут нужны нормализованные вектора. :) Было бы хорошо если бы в math на уровне C/C++ были бы записаны все функции по работе с векторами (pow, dot3 и проч.). Да и SSE оптимизацию можно было бы туда впихнуть. Тогда игры уже достаточно серьёзные можно было бы писать но тест показал — проблема скорости не в математике, а в отрисовке.
Sign up to leave a comment.

Articles