Форум программистов, компьютерный форум, киберфорум
gyrgen
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
В данном блоге я буду вести записи о состоянии компашки ProFire ( https://vk.com/profirecommunity ) // группа в ВК

Почему OpenGL

Запись от gyrgen размещена 20.11.2017 в 22:38
Показов 3343 Комментарии 19

Почему же OpenGL?

Мы посчитали что OpenGl самый распространённый в рунете и имеет больше информации в освоении, так же наша компания провела небольшой опыт (краштест) и по итогам оказалось что OpenGl более устойчива по FPS (да сам fps у неё ниже чем у DirectX, но при больших нагрузках fps держится стабильнее).

Возможно некоторые задались вопросом -"Можно ли будет пересесть на DirectX?", наш ответ -"Да, можно. В будущем мы планируем добавить функцию переключения этого режима, но это будет возможно только в поздних версиях движка. В первую очередь будет доступна компиляция сцены в DirectX, а затем уже и выбор в редактора в самом движке".
Размещено в ProEngine Движок
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 19
Комментарии
  1. Старый комментарий
    Почему вы выбрали именно C# для написания движка, а не Си или C++? Ваша компания проводила какие-нибудь краштесты по этой теме?
    Запись от 8Observer8 размещена 25.11.2017 в 10:08 8Observer8 вне форума
  2. Старый комментарий
    Аватар для gyrgen

    Сравнивание

    Цитата Сообщение от 8Observer8
    Почему вы выбрали именно C# для написания движка, а не Си или C++? Ваша компания проводила какие-нибудь краштесты по этой теме?
    В будущем мы будем использовать не только C#, а ещё и C++, но об этом я буду рассказывать чуть позже.

    Скорее всего вы знакомы с 3ds Max, Maya, Unity и другим некоторые программы, так вот эти программы включают в себя C#.
    Точной информацией о том как написана хоть одна из этих программ я не обладаю, но есть разные предположения. Знаю точно я только то, что 3ds Max использует SharpDX для отображения трёхмерной графики. В будущих версиях мы тоже собираемся его внедрить в интерфейс программы (WPF)

    Следовательно раз такие популярные программы используют этот язык, значит он практичен и хорош в своём деле. Это нам очень хорошо показывает 3ds max, у которого при огромном количестве полигонов сохраняется приличный fps.

    Этим комментарием я не хотел обидеть другие языки, мы просто имеем своё личное мнение об CSharp
    Запись от gyrgen размещена 25.11.2017 в 14:40 gyrgen вне форума
  3. Старый комментарий
    На Википедии 3ds Max справа написано: Написана на C++. Откуда у вас информация, что 3ds Max написан на C#?

    Цитата Сообщение от gyrgen
    Точной информацией о том как написана хоть одна из этих программ я не обладаю
    На Википедии по Unity написано: Written in C, C++ (Runtime) C# (Unity API)
    На Википедии по Maya написано: C++, MEL, Python, C#

    Да, они включают в себя C#, но они включают так же C++ и это, скорее всего, неслучайно. Можно только гадать, для чего используется C++ в этих программах. Да, CryEngine 5 включает в себя C#, да и Unity включает, но только для написания игровых скриптов и вспомогательных плагинов (расширений движка). Но это нельзя проверить. Может CryEngine 5 использует C# и в своём ядре. C# - это язык со сборщиком мусора и это одна из причин его более медленной работы по сравнению с Си и C++. Языки Си и C++ традиционно считаются языками для написания игровых движков AAA класса и 3D пакетов моделирования, то есть там где нужна очень высокая производительность, то есть скорость. Я не знаю ни одного игрового движка AAA класса, который был бы полностью написан на C#. Может вам лучше сразу писать на Си или C++, а для скриптинга взять C#, Python или Lua?

    Стоит ли использовать SharpDX? На github видно, что он не обновлялся с марта 2016, то есть почти 2 года (1 год и 9 месяцев)
    Запись от 8Observer8 размещена 25.11.2017 в 16:26 8Observer8 вне форума
  4. Старый комментарий
    Аватар для gyrgen
    Цитата Сообщение от 8Observer8
    Стоит ли использовать SharpDX? На github видно, что он не обновлялся с марта 2016, то есть почти 2 года (1 год и 9 месяцев)
    Ну 3ds max работает же, и служит как проффесиональный инструмент для моделирования.

    Писать можно на чём угодно, главное что бы руки откуда надо росли
    Запись от gyrgen размещена 25.11.2017 в 16:54 gyrgen вне форума
  5. Старый комментарий
    Цитата Сообщение от gyrgen
    Ну 3ds max работает же, и служит как проффесиональный инструмент для моделирования.
    3ds Max написана на C++, как указано в Википедии (хотя на вики бывает ложная информация). Я не знаю, где вы нашли, что он использует SharpDX, потому что похоже SharpDX давно заброшен. Если бы 3ds Max её использовала, то библиотека SharpDX бы развивалась активно. Я ещё поверю, что для пользовательского интерфейса 3ds Max использует WPF, но всё остальное должно быть написано на С++, это логично. Но даже информации, что 3ds Max использует WPF нигде нет.

    Цитата Сообщение от gyrgen
    Писать можно на чём угодно, главное что бы руки откуда надо росли
    Не могу с вами согласиться. Возьмём для сравнения три языка: Python, C# и C++. Представьте себе три команды, которым дали задание написать коммерческие игровые движки AAA класса. Одна пишет без C++, только на Python, вторая только на C#, а третья использует только C++, как в Unreal Engine 4 (да, там есть скриптовый язык Blueprint, но там можно всё писать на C++). При прочих равных движок написанный на C++ будет работать быстрее, чем движки на Python или C#. Или всё-таки есть игровые движки AAA класса уровня Frostbite/CryEngine/UE4, которые написаны на чистом C#?
    Запись от 8Observer8 размещена 25.11.2017 в 17:54 8Observer8 вне форума
  6. Старый комментарий
    Аватар для gyrgen

    Всё гениальное просто

    Цитата Сообщение от 8Observer8
    Я не знаю, где вы нашли, что он использует SharpDX, потому что похоже SharpDX давно заброшен.
    Я рылся по библиотекам в самой программе. Установите 3dsmax и сразу в первой папке с exe'шником будут нужные библиотеки, то есть SharpDX Скрин . Вот в 2017 и 2016 версии используется точно, проверял лично.

    По поводу различного быстродействия C++ и C# я не знаю, но слухи такие слышал не раз. Сам работал с Java'ой и C# и разницы производительности не заметил
    Ну да конечно если брать Pascal и C# сравнивать, то конечно куда быстрее будет C#, хотя и Pascal можно тоже заточить что бы он всё быстро обрабатывал. Даже если и есть разница в скорости у C# и C++, то я не думаю что она будет большой, т.к. всё таки это продвинутые языки и большое количество программистов на их пишет. Возможно я не прав, но это моё личное мнение. Как говориться люди учатся на ошибках, а лучше всего на своих.
    Запись от gyrgen размещена 25.11.2017 в 21:27 gyrgen вне форума
  7. Старый комментарий
    Цитата Сообщение от gyrgen
    Даже если и есть разница в скорости у C# и C++, то я не думаю что она будет большой
    Для бизнес приложений не только нет разницы между C# и C++, но её уже нет даже между C++, Python, JavaScript и т.д. Другое дело - игры, где особые требования к времени выполнения алгоритмов и потреблению памяти. Между двумя кадрами за 16 мсек (1000мсек/60fps) нужно успеть выполнить возможные алгоритмы: пересчёт путей по A* (A стар), просчёт столкновений, сортировки и т.д. Может C# с запасом будет справляться, а может нет. Ещё один вопрос открыт для меня - это потребление памяти и как оно будет влиять на скорость работы алгоритмов. В C++ полный контроль над управлением памяти, в C# памятью занимается сборщик мусора. Мне неизвестно, какие проблемы могут быть со сборщиком мусора, как он влияет на потребление памяти и на время выполнения алгоритмов. В работе CLR я не разбирался. Рихтера не читал. Если будете проводить краштесты по сравнению времени выполнения алгоритмов (и потреблению памяти) на C# и C++, то напишите в своём блоге о результатах. Желательно, с указанием сложности алгоритмов по О-большому. В общем, подробно насколько это будет возможно. Может, действительно, C# не имеет проблем, как язык для написания движков ААА класса и зря его используют только как язык скриптинга игровой логики и для плагинов. Я думаю, лучше на раннем этапе выяснить этот вопрос выбора: C# или C++ для игрового движка.
    Запись от 8Observer8 размещена 25.11.2017 в 22:24 8Observer8 вне форума
  8. Старый комментарий
    С помощью какой библиотеки вы получаете доступ к OpenGL из C#? OpenTK?
    Запись от 8Observer8 размещена 26.11.2017 в 07:32 8Observer8 вне форума
  9. Старый комментарий
    Аватар для gyrgen
    Цитата Сообщение от 8Observer8
    С помощью какой библиотеки вы получаете доступ к OpenGL из C#? OpenTK?
    TaoFramework
    Запись от gyrgen размещена 26.11.2017 в 11:18 gyrgen вне форума
  10. Старый комментарий
    Это репозитарий TaoFramework? https://github.com/mono/tao
    Запись от 8Observer8 размещена 26.11.2017 в 11:32 8Observer8 вне форума
  11. Старый комментарий
    Цитата Сообщение от 8Observer8
    Это репозитарий TaoFramework? https://github.com/mono/tao
    Последняя активность на репозитарии была 7 лет назад. Другого репозитария с Tao я не нашёл.
    Запись от 8Observer8 размещена 26.11.2017 в 11:50 8Observer8 вне форума
  12. Старый комментарий
    Аватар для gyrgen
    Цитата Сообщение от 8Observer8
    Последняя активность на репозитарии была 7 лет назад. Другого репозитария с Tao я не нашёл.
    Какая разница когда он был написан??? Что вы прицепились к этим датам.
    Важно не то когда он был написан, а то как он был написан и как он работает!!!
    Запись от gyrgen размещена 26.11.2017 в 18:22 gyrgen вне форума
  13. Старый комментарий
    Какую версию OpenGL вы используете? Какая версия GLSL?
    Запись от 8Observer8 размещена 26.11.2017 в 19:38 8Observer8 вне форума
  14. Старый комментарий
    Мы посчитали что OpenGl самый распространённый в рунете и имеет больше информации в освоении, так же наша компания провела небольшой опыт (краштест) и по итогам оказалось что OpenGl более устойчива по FPS (да сам fps у неё ниже чем у DirectX, но при больших нагрузках fps держится стабильнее).
    Какие версии OpenGL и DirectX вы сравнивали? Я, надеюсь: OpenGL 3 и DirectX 11. По моим наблюдениям это самые распространённые версии. По ним больше всего туториалов. Надеюсь, вы не используете какую-нибудь устаревшую нешейдерную версию OpenGL? Которую ещё называют deprecated/legacy.
    Запись от 8Observer8 размещена 27.11.2017 в 11:30 8Observer8 вне форума
  15. Старый комментарий
    Аватар для gyrgen
    Цитата Сообщение от 8Observer8
    Надеюсь, вы не используете какую-нибудь устаревшую нешейдерную версию OpenGL? Которую ещё называют deprecated/legacy.
    Нет
    Запись от gyrgen размещена 28.11.2017 в 19:21 gyrgen вне форума
  16. Старый комментарий
    Какая разница когда он был написан??? Что вы прицепились к этим датам.
    Важно не то когда он был написан, а то как он был написан и как он работает!!!
    На Википедии https://en.wikipedia.org/wiki/Tao_Framework написано, что стабильная версия Tao вышла 9 лет назад. Там же написано "Tao Framework has been superseded by OpenTK", то есть "Tao Framework был заменён на OpenTK". На официальной страничке Tao написано, что "Superseded by OpenTK", то есть "заменён на OpenTK". Если посмотреть в исходники Tao на github, то во всех папках последний раз исправляли ошибки 10-11 лет назад (и только в одной папке Tao.FreeType исправляли 7 лет назад). Судя по всему, Tao заброшен. В нём не исправлялись ошибки 10 лет. Не бывает идеального ПО, оно должно развиваться, как, наприер, OpenTK. Сами разработчики написали на Википедии и на официальной странице для скачки, что Тао заменён на OpenTK.

    Похоже, что единственная популярная библиотека для связи C# и OpenGL - это OpenTK. Посмотрите активность на GitHub: https://github.com/opentk/opentk. OpenTK используют Xamarin и MonoGame. Почему бы вместо Tao не взять OpenTK? Это, конечно, ваше личное дело. Я просто хотел помочь.
    Запись от 8Observer8 размещена 28.11.2017 в 20:04 8Observer8 вне форума
  17. Старый комментарий
    Почему бы и не OpenGL?
    Почему бы и не deprecated/legacy?
    [пафосное троеточие]
    Запись от 532235 размещена 28.11.2017 в 20:52 532235 вне форума
  18. Старый комментарий
    Цитата Сообщение от 532235
    Почему бы и не OpenGL?
    Почему бы и не deprecated/legacy?
    [пафосное троеточие]
    Разработчик продаёт копии своего движка. В группе vk висит ценник - $27. Мне, как потенциальному покупателю, интересны подробности. В одном месте я узнал, что движок пишется на C#, что меня удивило, потому что я думал, что игрвые движки пишутся на C++. Здесь я узнал, что он использует Tao для доступа к OpenGL. Я узнал достаточно. Моё любопытство удовлетворено.
    Запись от 8Observer8 размещена 28.11.2017 в 21:46 8Observer8 вне форума
  19. Старый комментарий
    Аватар для gyrgen
    Цитата Сообщение от 8Observer8
    Разработчик продаёт копии своего движка. В группе vk висит ценник - $27. Мне, как потенциальному покупателю, интересны подробности. В одном месте я узнал, что движок пишется на C#, что меня удивило, потому что я думал, что игрвые движки пишутся на C++. Здесь я узнал, что он использует Tao для доступа к OpenGL. Я узнал достаточно. Моё любопытство удовлетворено.
    Сегодня перечитал наш диалог, я был не прав, сглупил, прошу прощения
    Запись от gyrgen размещена 23.12.2019 в 14:22 gyrgen вне форума
 
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru