Ziya1995 Ответов: 3

HTML/CSS/JS vs .Net Framework: производительность


Я кодирую с использованием C# и .Net Framework более года, изучая его.
Но я всегда боялся HTML, из - за его скорости.
Я много читал в интернете, и мне кажется, что управляемый C# имеет более высокую производительность, чем HTML5.

Прямо сейчас я собираюсь делать игры в реальном времени на C# WPF, но я хочу переключиться на HTML5, потому что он кросс-платформенный (пишите один раз в любом месте).
А теперь дело доходит до производительности, хорош ли для этого HTML5?

Производительности в HTML5 проблема?
Я слышал, что это не очень хорошо для приложений реального времени?

3 Ответов

Рейтинг:
27

Kornfeld Eliyahu Peter

Реальной проблемы с производительностью нет - единственное, что я испытал, - это время загрузки страницы в самый первый раз...(относительно большие файлы JavaScript)...
Читать здесь:https://blog.mozilla.org/blog/2013/03/27/mozilla-is-unlocking-the-power-of-the-web-as-a-platform-for-gaming/[^]
Анс проверьте некоторые игры здесь: http://html5games.com/[^]


Ziya1995

Я думаю, что вы имеете в виду отсутствие проблем для простых приложений, но не для действительно сложных приложений.

Kornfeld Eliyahu Peter

Определенно нет! Некоторые из этих игр (и другие вы можете найти с помощью Google) являются самыми сложными приложениями, которые только можно себе представить!

Рейтинг:
2

Afzaal Ahmad Zeeshan

HTML (или его 5-я версия) - это просто язык разметки, и он используется только для визуализации объектов на экране. Конечно, нет никаких проблем с производительностью для написания приложений в HTML, потому что на стороне C# вы также собираетесь использовать разметку XAML для создания пользовательского интерфейса для объектов. Таким образом, проблема производительности будет поднята на стороне языка программирования, например, с одной стороны, есть C#, а с другой - JavaScript.

Если вы говорите о движках, которые позволяют писать приложения на HTML, CSS и JavaScript, то это может позволить вам создавать игровые приложения и для ваших пользователей. Я сам никогда не пробовал Apache framework, поэтому не буду пытаться обвинять их в том, что они плохие. Кроме того, в Windows API также включены языки веб-разработки, такие как HTML5, CSS и JavaScript, поэтому вы можете писать приложения в HTML и запускать их с помощью JavaScript, а после компиляции они будут работать как приложения Windows на .NET framework.

As far as gaming is concerned, if you're going to create a game, although HTML and JavaScript is capable of creating game platforms for you and you will be able to create games using OpenGL or other JavaScript libraries, that let you create offline games which run in browser, or since I talked about Apache they can run as a software application too, but I would still like to suggest that you stick to C#. Did you try out Unity? Unity is a gaming engine which lets you create games just by giving away an object for your game (player) and by writing the code for what it is going to do. Same code of yours, will be re-used for other platforms too. So that means, using C# you're not just going to stick to .NET framework or Windows OS but other platforms like, mobiles such as Android, iOS and others too. C# is better and you will find a lot of more resources that are going to help you out in C#, but you might find yourself alone for JavaScript. Game programming for offline applications using JavaScript is not being used widely although is going on, or at most it is being used in creating games for browser, still Silverlight and other tools are used for those platforms too.


Ziya1995

Реальный вопрос-это Javascript vs C# WPF.
Насколько я понимаю, Javascript не имеет проблем для простых игр, но когда дело доходит до более сложных игр, он создает проблемы. Он также медленнее, чем C#.
Поэтому, если я выберу C# WPF, я могу быть на 100% уверен, что проблем с производительностью нет.
Нет, я говорю о чистом HTML/CSS/JS и чистом WPF, а не о движках.

Теперь я в замешательстве и не знаю, что выбрать.
Сейчас единственная проблема-это производительность.

Afzaal Ahmad Zeeshan

WPF-это фреймворк, используемый для создания программного обеспечения с использованием XAML и C#, конечно, существует огромная разница между C# и JavaScript, связанная с их производительностью. Использование чистых языков и создание собственных фреймворков для запуска игр не будет хорошей идеей, брат. Вы можете хорошо использовать эти фреймворки и движки..

Ziya1995

> Вы можете хорошо использовать эти фреймворки и движки..
Я использую.net Framework.
Я бы выбрал C# WPF .Net Framework для создания игр, потому что он имеет более высокую производительность, чем Javascript.

Что мне нравится в управляемом коде, таком как C# WPF, так это то, что:
Родной язык C++ - это высокая производительность, но очень жесткий.
Гибридный Javascript прост и кросс-платформенен, но имеет низкую производительность.
Управляемый C# WPF .Net Framework прост, высокопроизводителен и будет WORA - писать один раз, запускать в любом месте, как Java.

Вот почему я хотел бы выбрать управляемый C# WPF .net Framework.

Рейтинг:
0

BillWoodruff

Я думаю, что вы должны посмотреть на то, кто будет играть в ваши игры, "модальные пользователи", относительно того, является ли его производительность медленнее/медленнее/регулярнее/быстрее/быстрее: тип аппаратного обеспечения (особенно GPU, если ваши игры являются графическими интенсивными, делают 3-d рендеринг и т. д.), который имеет пользователь, может иметь большое значение.

И, если вы используете какой-то "игровой движок" в C#, то степень, в которой он использует все преимущества GPU, вступает в игру.

Итак, если ваша игра создает огромную нагрузку на CPU/GPU, то "среднее" оборудование ваших пользователей мочь станьте ограничивающим фактором.

Но это, безусловно, совершенно новая "игра в мяч" для высокопроизводительных графических приложений, использующих стек HMTL5, по сравнению с тем, что было возможно в браузере всего несколько лет назад.

Вы видели это веб-приложение, упомянутое в CodeProject недавно: [^] ?

Это делается с помощью OpenGL и стека HMTL/JavaScript, и я нахожу это довольно умопомрачительным.


Ziya1995

Я хочу выбрать Javascript, потому что он кросс-платформенный, но я не уверен в его производительности, и именно поэтому я в замешательстве.
Если я выберу C# WPF, я уверен, что нет никаких проблем с производительностью.