Comments 74
А какие версии браузеров?
у меня в опере 10.54 (3388) среднее — 40
в хроме 4.1.249.1064 (45376) — 27
в статье наверно хром 5?
у меня в опере 10.54 (3388) среднее — 40
в хроме 4.1.249.1064 (45376) — 27
в статье наверно хром 5?
График крайне невнятный, видно только лидеров (и то догадываешься)
Сделайте пожалуйста более явные цвета и легенду побольше, а то по ниточкам сложно цвет понять, а также добавьте версии браузеров и ос, которые вы использовали.
WebGL в разы быстрее, чем все эти велосипеды. 20 fps на 960 полигонах (Chrome 6.0.401.1, Mac OS X Snow Leo, Mac mini с GMA 950).
WebGL'ный Quake 2 летает :)
WebGL'ный Quake 2 летает :)
Красиво, черт возьми!
Samsung i5700, Android 2.1 (JE1)
960 — 1.3
1200 — 1.1
1440 — 1
1680 — 0.8
1920 — 0.7
Дальше тестить некогда, работа. Если надо позже продолжу тестить
960 — 1.3
1200 — 1.1
1440 — 1
1680 — 0.8
1920 — 0.7
Дальше тестить некогда, работа. Если надо позже продолжу тестить
2160 — 0,7
2400 — 0.6
2640 — 0.6
2880 — 0.5
P.S. Не удержался, растянул перерыв, интерес поборол желание поработать. Нельзя такие темы посреди рабочего дня кидать, все сразу кидаются тестировать!
P.P.S. Могла быть погрешность, т.к. в фоне постоянно синхронизировался по WiFi.
2400 — 0.6
2640 — 0.6
2880 — 0.5
P.S. Не удержался, растянул перерыв, интерес поборол желание поработать. Нельзя такие темы посреди рабочего дня кидать, все сразу кидаются тестировать!
P.P.S. Могла быть погрешность, т.к. в фоне постоянно синхронизировался по WiFi.
ой спасиба! ввечером надеюсь на ipad'e потестировать.
Мне куда интереснее тесты на Nexus One и HTC HD2 (под Opera Mobile 10)
на HTC HD2 Opera Mobile 10
1920 — 0.8
пока что мобильные устройства не для таких целей. Надо аккумуляторы поемче — тогда и гигахерцы пойдут повыше. А там, глядишь, и ускорители графики помощней)
1920 — 0.8
пока что мобильные устройства не для таких целей. Надо аккумуляторы поемче — тогда и гигахерцы пойдут повыше. А там, глядишь, и ускорители графики помощней)
Nokia 5800 с Opera Mobile, 960 полигонов — 1 fps :)
Стандартный браузер не отображает :(
Стандартный браузер не отображает :(
Записывайте результаты для Epiphany (Дефолтный браузер для Gnome) и Midori (Дефолтный браузер для XFCE):
960 полигонов 38
1200 полигонов 34.1
1440 полигонов 32.2
1680 полигонов 29.1
1920 полигонов 26.5
2160 полигонов 24.7
2400 полигонов 23.8
2640 полигонов 22.2
2880 полигонов 20.5
Вообщем, Safari — подвинься, Opera — держись, «босота» на пятки наступает. :)
960 полигонов 38
1200 полигонов 34.1
1440 полигонов 32.2
1680 полигонов 29.1
1920 полигонов 26.5
2160 полигонов 24.7
2400 полигонов 23.8
2640 полигонов 22.2
2880 полигонов 20.5
Вообщем, Safari — подвинься, Opera — держись, «босота» на пятки наступает. :)
Chrome 6.0.408.1 dev
960 полигонов — 61 fps
2880 полигонов — 33 fps
960 полигонов — 61 fps
2880 полигонов — 33 fps
Желательно перед тем как меряться указывать процессор и частоту (если разогнан)
Core i5 750 @ default Turbo Boost on,
Chrome 6.0.408.1 все ядра:
960 — 63
2888 — 40
Chrome 6.0.408.1 одно 4-ое ядро:
960 — 68 (загрузка ядра ~45%)
2888 — 40 (загрузка ядра ~55%)
Core i5 750 @ default Turbo Boost on,
Chrome 6.0.408.1 все ядра:
960 — 63
2888 — 40
Chrome 6.0.408.1 одно 4-ое ядро:
960 — 68 (загрузка ядра ~45%)
2888 — 40 (загрузка ядра ~55%)
Core i5 750 @ default, Nvidia GT 220
Firefox 3.7 Alpha 4 (D2D) enabled
960 — 115
2888 — 45
Видуха слабовата, офисная лошадка, все-таки
Firefox 3.7 Alpha 4 (D2D) enabled
960 — 115
2888 — 45
Видуха слабовата, офисная лошадка, все-таки
Видяха тут особого значения не имеет
В данном случае имеет, ибо включено аппаратное ускорение видеокартой.
Это не webgl, это обычный 2d canvas, все расчеты по 3d преобразованиям выполняет скрипт.
Вот лишь бы затроллить. Кто говорил WebGL?
Пусть расчеты по преобразованию вершин делают скрипт, а вот отрисовка полигонов ускоряется видеокартой, причем отрисовка ест куда больше ресурсов, чем просчет координат.
Прирост должен быть больше, просто скрипт как-то неоптимизировано кушает ресурсы, ни один из браузеров не нагружал ядро больше чем на 70%.
Пусть расчеты по преобразованию вершин делают скрипт, а вот отрисовка полигонов ускоряется видеокартой, причем отрисовка ест куда больше ресурсов, чем просчет координат.
Прирост должен быть больше, просто скрипт как-то неоптимизировано кушает ресурсы, ни один из браузеров не нагружал ядро больше чем на 70%.
при отрисовке — самые ресурсоёмкие операции — это заливка замкнутого контура и сглаживание, которые аппаратно поддерживаются(на уровне драйвера видеокарты) с незапамятных времён, это объясняет ваш потрясающий резулатат в 115 против моих 29 (без аппаратного ускорения)
Это мне как раз понятно, megahertz писал что видяха тут особого значения не имеет, с чем я не согласен.
Теоретически дома фпс должен быть больше, т.к. 8800GTS, приду потестирую.
Теоретически дома фпс должен быть больше, т.к. 8800GTS, приду потестирую.
Отрисовка 3000 полигонов это не та задача которая загрузит современный GPU. Заливка действительно выполняется долго, но если посмотреть загрузку GPU то она находится на уровне 0-1% (Opera 10.53, 6600GT), так что потери где-то выше.
Троллить никого не собирался, если в чем-то не прав или не так понял, то извиняюсь.
Троллить никого не собирался, если в чем-то не прав или не так понял, то извиняюсь.
Chromium 6.0.415.0 (48135):
2880 полигонов — Средний fps: 35.7
960 полигонов — Средний fps: 62.2
2880 полигонов — Средний fps: 35.7
960 полигонов — Средний fps: 62.2
MacBook Pro 2.16 GHz Intel Core Duo
Mac OS X 10.6.3
Firefox 3.6.3
Tекущий fps: 8
Средний fps: 8.3
Полигонов: 2880
Вершин: 1440
Mac OS X 10.6.3
Firefox 3.6.3
Tекущий fps: 8
Средний fps: 8.3
Полигонов: 2880
Вершин: 1440
Когда же уже Q3 Arena сделают на яваскрипте… а ведь когда-то сделают =)
Думаю, к тому времени мы будем смотреть на Q3 Arena Javascript как сейчас смотрим на эмулятор Денди или сборки первого Принца персии, лишь как на нечто далекое и ностальгическое. К тому времени процессоры станут настолько быстры, что Q3 можно будет написать на любом языке для этого не предназначенном. Хотя к тому времени наверное все забудут про Javascript.
Интересно заливку Гуро добавить… Когда цветовая координата всего одна (градации красного, например), она должна сводиться к LinearGradient…
Добавил :-)
habrahabr.ru/blogs/crazydev/94519/
habrahabr.ru/blogs/crazydev/94519/
AMD Athlon 64 X2 5000+, 2Gb Ram, Radeon 4650
Opera 10.54 Beta (3394):
Текущий fps: 22
Полигонов: 2880
Вершин: 1440
Chrome 5.0.396.0:
Текущий fps: 27.6
Полигонов: 2880
Вершин: 1440
Opera 10.54 Beta (3394):
Текущий fps: 22
Полигонов: 2880
Вершин: 1440
Chrome 5.0.396.0:
Текущий fps: 27.6
Полигонов: 2880
Вершин: 1440
Intel core 2 cpu 6300 1.86GHz, 2gb Ram, Nvidia 7900
Opera 10.54
Средний fps: 24
Полигонов: 2880
Вершин: 1440
Chrome 5.0.396.0:
Средний fps: 14.7
Полигонов: 2880
Вершин: 1440
Opera 10.54
Средний fps: 24
Полигонов: 2880
Вершин: 1440
Chrome 5.0.396.0:
Средний fps: 14.7
Полигонов: 2880
Вершин: 1440
Интересно было-бы узнать сколько ресурсов потребляют расчеты, и сколько — отрисовка в canvas.
Мой адблок зачем-то скушал все картинки. в посте. Буду думать(
Кпк HP rw6815
opera mobile:
960 — 0.4
2880 — 0. На глаз, где-то 1 кадр в 5-7 секунд
Остальные не пробовал. Опера при этом работает стабильно, не тормозит.
opera mobile:
960 — 0.4
2880 — 0. На глаз, где-то 1 кадр в 5-7 секунд
Остальные не пробовал. Опера при этом работает стабильно, не тормозит.
iPhone 3G:
safari: среднее ~1.1-1.2 / 960 полигонов.
opera — (нет результата)
safari: среднее ~1.1-1.2 / 960 полигонов.
opera — (нет результата)
может сделать отдельную сводную таблицу для мобильных устройств?
Chrome 6.0.401.1
Текущий fps: 43.3
Средний fps: 41.6
Полигонов: 1440
Текущий fps: 29.6
Средний fps: 27.8
Полигонов: 2880
Текущий fps: 43.3
Средний fps: 41.6
Полигонов: 1440
Текущий fps: 29.6
Средний fps: 27.8
Полигонов: 2880
Провел тестирование дома, чуть позже попробую добавить IE9 Preview 2.
Резкое падение/прирост производительности в FF 3.7, могу объяснить только тем что сработал EIST, проверял раз 20, результат один.
Проверка проводилась на чистом браузере без плагинов, все приложения были переведены на первое ядро, тестируемый браузер на второе (в Хроме поставил главному процессу Affinity на второе ядро, все следующие процессы форкались с правильным Affinity). Перед каждым тестом открывалась новая пустая вкладка, закрывалась вкладка с тестом, после чего в оставшейся пустой вставлялась, скопированная заранее, ссылка на тест. Тест проводился 3 раза на каждый режим в обе стороны.
Была замечена очень странная особенность, объяснение которой не могу найти:
если тест закрывать во время того как фигура повернута на 0-40 градусов относительно старта — результат на 5-20% больше. Причем во всех браузерах. Картина повторяется если вместо закрытия вкладки просто клацать по ссылке.
Проверка проводилась на чистом браузере без плагинов, все приложения были переведены на первое ядро, тестируемый браузер на второе (в Хроме поставил главному процессу Affinity на второе ядро, все следующие процессы форкались с правильным Affinity). Перед каждым тестом открывалась новая пустая вкладка, закрывалась вкладка с тестом, после чего в оставшейся пустой вставлялась, скопированная заранее, ссылка на тест. Тест проводился 3 раза на каждый режим в обе стороны.
Была замечена очень странная особенность, объяснение которой не могу найти:
если тест закрывать во время того как фигура повернута на 0-40 градусов относительно старта — результат на 5-20% больше. Причем во всех браузерах. Картина повторяется если вместо закрытия вкладки просто клацать по ссылке.
Поставил последний IE9 Preview, работает просто ужасно, видать из-за ExCanvas.
Щас попробую сохранить и отключить эмуляцию для IE9, stay tuned
Щас попробую сохранить и отключить эмуляцию для IE9, stay tuned
Очень не понравилась строка:
Да и надо было максимально разгрузить функцию которая повторяется, чтобы не создавать там каждый раз новый таймер, достаточно сделать это всё в начале скрипта один раз, а в зацикливание оставить только преобразование координат и отрисовку. Вы же сейчас считаете также скорость создания объектов, выделения памяти, помимо собственно отрисовки и преобразования.
P.S. Сделал минимальную оптимизацию:
удалил указанную строчку, а в onload поставил setInterval(draw, 0); — результат в FF3.7 с D2D при 960 полигонах вырос до 183фпс, ядро наконец-то загружено полностью.
setTimeout(draw, 40);
Вы же ограничиваете производительность. Да и надо было максимально разгрузить функцию которая повторяется, чтобы не создавать там каждый раз новый таймер, достаточно сделать это всё в начале скрипта один раз, а в зацикливание оставить только преобразование координат и отрисовку. Вы же сейчас считаете также скорость создания объектов, выделения памяти, помимо собственно отрисовки и преобразования.
P.S. Сделал минимальную оптимизацию:
удалил указанную строчку, а в onload поставил setInterval(draw, 0); — результат в FF3.7 с D2D при 960 полигонах вырос до 183фпс, ядро наконец-то загружено полностью.
результат в FF3.7 с D2D при 960 полигонах вырос до 183фпс
Было 129…
самому не очень, но «setInterval(draw, 0)» ещё хуже — загрузка цп 100%, правилная реализация есть в процессинге и заключается она в том, что бы держать планку не ниже ~24 кадров в секунду и не перегружать ЦП
Если вы ставите счетчик фпс и приводите сравнение разных браузеров, то не корректно неполностью нагружать проц. Это уже не бенч а демка и счетчик надо убрать.
Плюс ко всему у вас скорость вращения привязана к фпс, а не ко времени, что есть не гуд. Неужели нельзя было сделать
Плюс ко всему у вас скорость вращения привязана к фпс, а не ко времени, что есть не гуд. Неужели нельзя было сделать
cam.z_rotation = (Date.now() % 10000) / 10000 * 2 * Math.Pi;
?AMD Athlon II X2 245@3.48, без видеокарты (AMD785G)
Полигонов: 2880
Chrome 5.0.375:
fps: 49
Firefox 3.6.3:
fps: 19
Opera 10.50:
fps: 34
Полигонов: 2880
Chrome 5.0.375:
fps: 49
Firefox 3.6.3:
fps: 19
Opera 10.50:
fps: 34
Вроде пока никто не написал, напишу. Итак, Nokia n900.
Microb@960: 1.7 fps
Opera 10@960: 3.6 fps
Chromium@960 (ого): 4.8 fps
Who's your, как грицца, daddy :P
Microb@960: 1.7 fps
Opera 10@960: 3.6 fps
Chromium@960 (ого): 4.8 fps
Who's your, как грицца, daddy :P
Текущий fps: 13.4
Средний fps: 13.6
Полигонов: 1920
Вершин: 960
FF 3.6.3, Archlinux x64, Core2 Duo E8200 @ 2.66GHz, Nvidia GeForce 8600 GT, драйвер nvidia 195.36.15
Cpu0: 64.5%us, 6.5%sy, 0.0%ni, 29.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1: 64.1%us, 5.8%sy, 0.0%ni, 30.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
FF ощутимо напрягся…
Из Майки бы как-нить попробовать, а то облом ставить макс :), тем более онглючит и тормозит в вмвари.
Средний fps: 13.6
Полигонов: 1920
Вершин: 960
FF 3.6.3, Archlinux x64, Core2 Duo E8200 @ 2.66GHz, Nvidia GeForce 8600 GT, драйвер nvidia 195.36.15
Cpu0: 64.5%us, 6.5%sy, 0.0%ni, 29.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1: 64.1%us, 5.8%sy, 0.0%ni, 30.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
FF ощутимо напрягся…
Из Майки бы как-нить попробовать, а то облом ставить макс :), тем более он
Sign up to leave a comment.
3d движок на js + canvas