Какое преимущество делает C++, имеют по.NET когда дело доходит до к разработке игр и приложениям как VirtualBox

используйте все ссылки правильно, попробуйте это ... Я изменил ваш класс <nav/>, вместо bg-faded я использовал bg-dark navbar-dark

<script src="http://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link href="http://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>

<script src="http://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>

<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>

<nav class="navbar navbar-expand-md bg-dark navbar-dark my-auto mx-0 p-0">
<a href="/" class="navbar-brand text-center app-logo">
            <div class="d-lg-none d-sm-block"><strong>mAn</strong></div>
            <div class="d-none d-lg-block d-sm-none">my App name</div>
        </a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsingNavbar3">
    <span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse col-md-10 m-0 p-0" id="collapsingNavbar3">
    <ul class="navbar-nav mr-auto">
        <li class="nav-item active">
            <a class="nav-link active" href="#">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">About</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Contact</a>
        </li>
    </ul>
    <ul class="nav navbar-nav right-nav">
        <li class="nav-item ">
            <a class="nav-link" href="#" id="displayName">UserName</a>
        </li>
        <li class="nav-item ">
            <a id="btnBack" class="nav-link" style="" href="/logout">logout</a>
        </li>
    </ul>
</div>
</nav>

9
задан deft_code 22 January 2009 в 17:07
поделиться

7 ответов

Как профессиональная игра dev работающий над заголовками AAA я могу сказать Вам. Причиной номер 1 является C++, и C будет компилировать и работать на любой платформе, говорят PS3 или NDS. Следующие производители платформы только обеспечивают устойчивые библиотеки C для взаимодействия через интерфейс с аппаратными средствами. Причиной позади этого является C, и C++ свободны, и не принадлежавшие одной корпорации, и потому что они были разработаны для близко к металлическому низкоуровневому программированию. Это означает, что игра devs должна знать C/C++, который формирует обратную связь. Однако много devs в наше время делают свои наборы инструментов в C# или Java, но поэтому производительность не очень важна.

Теперь это положение могло бы казаться фанатиком большинству веб-разработчиков, но игры должны обработать все части сложных моделирований и рендеринга до 60 раз в секунду, немного веб-приложений обязаны остаться в том уровне задержки, таким образом, потребности отличаются. И та же причина немного веб-сервисов производится с C++.

Однако AI высокого уровня и геймплей (правила) заданы сценарием из-за увеличения скорости разработки и способности точно настроить игру. Также, потому что это составляет приблизительно примерно 15% ресурсов, таким образом, мы можем пустить пыль в глаза здесь и позволить разработчикам сделать свое задание. Также обратите внимание, что кодирование системы правила fexible взяло бы о тех же ресурсах так или иначе даже если сделанный в C++. О, и не все платформы позволяют код Монеты в пять центов, который был бы хорош :)

И конечно как упомянутое управление памятью при использовании даже на 1 байт большей памяти, чем обеспеченный аппаратными средствами она не замедляется как ПК. Это отказывает. Таким образом, мы любим наши явные указатели, пользовательские средства выделения и RAII.

27
ответ дан 4 December 2019 в 06:07
поделиться

Существует много потенциальных причин:

  • Скорость увеличивается или воспринятый или реальный.
  • Предыдущие знания. Существует много людей там, которые программировали C++ для 20 + годы. Не так с C#.
  • Существующий код. Это верно, что .NET имеет большую возможность, обернутую в платформе. Даже затем это все еще не выдерживает сравнение с десятилетиями библиотек, которые существуют для C++.
  • Кросс-платформенная разработка. C++ намного легче к порту.
  • Детерминизм. Я бесстыдно украду из ответа ctacke. Он подводит итог его лучше всего, но способность определить точно, что происходит, когда на очень низком уровне может быть очень необходимым для программирования чего-то как игра, которая строго ограничена во времени.
8
ответ дан 4 December 2019 в 06:07
поделиться

Для большого набора приложений это сводится к скорости и детерминизму.

Собственный код просто работает быстрее, потому что у Вас есть компилятор, который может взять, пора сделать самое лучшее задание при создании машинного языка. Единственный человек, который должен ожидать, является разработчиком. Управляемый код должен пойти от IL до машинного языка при выполнении. Получение сделанного быстро более важно, чем получение его в самой лучшей форме, потому что пользователь должен ожидать, в то время как это происходит. Лучшая скорость == лучший пользовательский опыт.

Детерминизм является ключом во многих вещах (как игры), потому что требуется знать, точно, когда дела, которые занимают время, идут произойти. Когда я делаю выделение памяти или освобождение, оно занимает время. Я хотел бы, чтобы это произошло, когда мы загрузим новый игровой уровень, и никто не заметит, не, в то время как пользователь обстреливает оставленное получение его выстрела задницы прочь его другом в окончательном соответствии смерти. Задержка там заканчивается со сквернословием и игровым контроллером с другой стороны комнаты. С собственным кодом Вы явно управляете, когда эти вещи происходят. С управляемым кодом GC решает, когда это происходит, и нет никакого способа точно знать, когда или какой длины это может быть.

5
ответ дан 4 December 2019 в 06:07
поделиться

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

1
ответ дан 4 December 2019 в 06:07
поделиться

Кажется мне как это, хорошая сводка ответа:

  1. Более тонкая настройка того, как код выполнен
  2. Мобильность
  3. Знания и опыт с языком
  4. Выполнение кода ближе к чистому металлу
  5. Эффективность
  6. Работает на чем-либо
  7. язык не принадлежит никакой конкретной организации
0
ответ дан 4 December 2019 в 06:07
поделиться

Основные причины могли бы быть:

  1. Производительность
  2. Более высокий уровень управления низкоуровневыми вещами
  3. Существующая кодовая база
2
ответ дан 4 December 2019 в 06:07
поделиться

Легче сделать приложение кросс-платформенным с C++, чем с .NET (огромное преимущество в моей точке зрения, поскольку можно нацелить игру пользователям Mac также, например),

3
ответ дан 4 December 2019 в 06:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: