2013-03-25 3 views
3

Я хочу выбрать структуру холста для проекта, который я собираюсь начать. Поэтому я начал исследование, чтобы найти тот, который подойдет моим потребностям. При поиске плюсов и минусов различных библиотек я наткнулся на этот тест производительности (http://jsdo.it/djankey/test-kineticjs).Производительность каркаса холста

Я был действительно впечатлен тем, как отличаются эти три библиотеки. поэтому я хотел бы спросить, отражает ли этот тест фактическую производительность, которую демонстрируют Kinetic.js, Fabric.js и Easel.js.

Кажется, что первые два очень медленные (по крайней мере, на моем компьютере).

+0

Мои результаты, когда ткань (60/60fps), мольберт (55/60fps), затем кинетическаяJS (20/60fps). На каких платформах вы нацеливаетесь? только рабочий стол? – Jarrod

+0

Я нацелен на мобильные и настольные платоформы. – ppoliani

+2

Для мобильных устройств (iPhone5, 6.1.3) Мольберт был самым быстрым (~ 39FPS), а затем Fabric (~ 17FPS), затем Kinetic, который сосал (~ 5FPS). Надеюсь, что помогло – Jarrod

ответ

2

На моей системе fabric.js довольно быстро, но он не взаимодействует с моей мышью. Я развиваюсь с помощью EaselJS, и я очень доволен этим, потому что его API очень близок к AS3 - поэтому, если вы уже разработали Flash раньше, вы можете его рассмотреть.

С другой стороны, возможно, что любой из этих фреймворков удовлетворит ваши потребности по производительности. Я предполагаю, что ваш проект не будет простым ящиком размером 300x300 с 1000 точками, и я бы сказал, что любая из 100 спрайтов должна быть хорошо обработана любой из этих фреймворков. Это становится интересным, когда ваш холст становится больше (полноэкранный, например), потому что тогда рендеринг больше полагается на аппаратные и браузерные операции рендеринга, чем на холст-рамки. И afaik все эти рамки редертуют весь холст на «тике» (но я не уверен на 100%).

1

Это зависит от того, какой тип проекта вы строите. Как уже упоминалось выше, если вы знакомы с ActionScript и/или вы строите игру с большим количеством движущихся спрайтов, то это требует производительности процессора, тогда Easel.js определенно будет вашим лучшим выбором из трех фреймворков, о которых вы упомянули. Мольберт также является разумным выбором, если вы хотите интегрироваться с другими библиотеками в наборе CreateJS.

Если вы строите игру и не против сбросить деньги на поддерживаемое решение, вы можете изучить impactjs - я не использовал его лично, но я слышал хорошие вещи от моих друзей-разработчиков ,

Вы можете создавать простые приложения в Kinetic очень быстро - это API очень простой и понятный, но если производительность ключевая - тогда я, вероятно, уклоняюсь от нее.

Если вам требуется много интерактивности и нужна библиотека, которая облегчает пользователям манипулирование объектами на экране, то fabricjs - отличный инструмент из коробки и имеет множество встроенных функций, которые позволяют разрабатывать такие приложение быстро, и производительность тоже неплохая.

Смежные вопросы