Который имеет более высокую производительность Java или JavaScript? - PullRequest
0 голосов
/ 09 сентября 2010

С тех пор javascript компилируется в машинный код браузерами. Мне было интересно, какой язык программирования получает лучшую производительность между Java и JavaScript. Я думаю о написании 3D-браузера FPS или MMO и пытаюсь сделать выбор между ними.

И что есть мысли о совместимости? Кажется, что с java и opengl я мог бы достичь большей аудитории, чем с помощью javascript и webgl, так как поддержка не была объявлена ​​IE.

Ответы [ 6 ]

5 голосов
/ 09 сентября 2010

Как заядлый геймер FPS, вот мои предвзятые два цента:

Если вы собираетесь написать 3D FPS, следуйте примеру QuakeLive и создайте расширение для браузера, которое используетскомпилированный код.

В играх FPS учитывается каждый дополнительный кадр и каждые несколько миллисекунд.Таким образом, кросс-браузерное решение, такое как Flash, Silverlight, Java и т. Д., Может и не сократить его.

Это другая история, если вы пишете пошаговую игру или MMORPG, где задержка или низкая частота кадров нене обязательно имеет значение.

5 голосов
/ 09 сентября 2010

Как говорит @Benoit, это сложный вопрос:

  • Сравнение (прежде всего) клиентского и серверного языков - это сравнение яблок и апельсинов.
  • Различные языки работают лучше / хуже в зависимости от приложения / задачи.
  • Вы можете только тестировать язык реализации не языки.

Сказав это, вот пара ссылок на "Игры по тестированию компьютерных языков", в которых сравниваются реализации Java и Javascript:

Обратите внимание, что они сравнивают Javascript с интерпретируемой Java. Вы можете поиграть с настройками, чтобы сравнить (например) с серверным режимом Java.

4 голосов
/ 09 сентября 2010

Очень сложно дать вам ответ.Java и Javascript - это совершенно разные языки:

  • Javascript выполняется вашим браузером: производительность зависит от вашего браузера javascript engine
  • Java (если выполняется на клиентском компьютере, например, JNLP), работать в среде JVM: производительность зависит от вашей JVM

Так что нет абсолютного ответа на ваш вопрос.

Эти два языка также имеют очень разные функциональные возможности, которые не могутсравнивать ...

3 голосов
/ 09 сентября 2010

Как бы то ни было, производительность JavaScript значительно улучшилась, так как в Browser Wars 2.0 сделан акцент на скорость написания сценариев;Ява развивалась менее радикально.Однако непосредственное сравнение таких принципиально разных языков не очень практично.И если честно, я не думаю, что производительность основного языка, как правило, будет вашей главной проблемой, если вы делаете что-то столь же амбициозное, как 3D-игра в браузере.

Чтобы добавить еще один вариант, сегоднявы обычно делали бы этот Flash, используя одну из 3D-библиотек.

Java - это то, что вы использовали бы вчера (его прием на десктоп / апплет находится на убывающей IMO);Надеемся, что WebGL будет использоваться завтра.Все трое в настоящее время очень раздражают, когда пишут 3D-приложения.Получите кучу практики написания некоторых 2D-игр, прежде чем переходить в браузер где-нибудь рядом с 3D!

Бонус, если вы не возражаете против произвольных закрытых плагинов: Unity

Бонусный вариант, если вы безумны: JavaScript, выполняющий рендеринг, to <canvas>.

1 голос
/ 24 сентября 2010

В зависимости от уровня детализации, который вы притворяетесь, Java может обрезать его или нет.

Взгляните на Minecraft современный пример многопользовательской среды Java (увы, очень блочный один)

Да, Javascript не сможет дать вам никакого разумногоОпыт работы с 3D, пока WebGL (или то, что займет свое место в окончательной редакции HTML5) не начался.

Но до тех пор, как я узнал, вы можете взглянуть на Google O3D , интерфейс более высокого уровня для Javascript 3D, который доступен сейчас как устанавливаемый плагин (для IE тоже) и имеет неопределенные обещания доступности позже какреализация pure Javascript , , построенная на WebGL

В общем, в общем, использование Java в браузере снижается (Minecraft - неуклюжее исключение), а HTML5 -новое модное слово g * dam.

0 голосов
/ 09 сентября 2010

Для браузерных игр, я не думаю, что вы должны использовать либо.Flash - это путь.

Кроме того, 3D-игры, даже простые, являются довольно тяжелой задачей.Я подозреваю, что вы не знаете, во что вы ввязываетесь, но есть только один способ узнать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...