infocodes
Июль 3, 2014 09:57:00
у меня такой вопрос питон в соатоянии потянуть игровой движок 3D на pyopengl или фпс будет равен 0?
Shaman
Июль 3, 2014 10:33:05
Движки бывают разные, как и игрушки на них. Для ААА вариант не очень.
john123
Июль 3, 2014 10:41:46
Ваш вопрос изначально поставлен неправильно.
Во-первых “игровой движок” как правило состоит не только из графической библиотеки. Это еще и звук, сеть, игровые контроллеры, физика тел (опционально), AI соперников и т.д.
Во-вторых Python - это просто интерпретируемый язык программирования. Да, программы на нём не компилируются в бинарный код и из-за этого выполняются как правило медленнее, чем скомпилированные.
В-третьих, pyopengl и т.д. - это сторонние библиотеки для Python, которые позволяют вызывать функции этих библиотек в языке Python.
Т.к. OpenGL - обособленная библиотека, написанная на C, то в процессе выполнения, Ваша программа на Python будет просто передавать управление функциям этой библиотеки, поэтому прямой зависимости FPS от использования языка программирования просто НЕТ. Отрисовку изображения в конечном счете выполняет видеокарта.
Исходя из этого, отвечая на Ваш вопрос можно сказать что: да, Python “потянет” “игровой движок” и фпс будет таким, каким сможет поддерживать его Ваша видеокарта.
john123
Июль 3, 2014 10:47:40
Shaman
Движки бывают разные, как и игрушки на них. Для ААА вариант не очень.
Для игр AAA класса обычно используется целая инфраструктура, которая представлена, например в движках UnrealEngine, CryEngine, или SeriousEngine.
Я так понимаю, что если человек задает такие вопросы, то он явно не готов сейчас к тому, чтобы писать свою инфраструктуру на Python и одновременно с тем движок
infocodes
Июль 3, 2014 10:51:57
спасибо за ответ. но даже вызов функций gl у каждого языка по времени разный. и орерации с масивами вертекс тоже занимают время. тем более связка разных библиотек таких тяжеловесов как gl и bullet требует большую пропускную способность я зыка. вот я и спросил. хватит ли у потона тиктайма для синхронизации работы библеотек.
Shaman
Июль 3, 2014 10:55:53
Возьмите да и посчитайте накладные расходы в требуемых сценариях использования OpenGL.
infocodes
Июль 3, 2014 10:59:58
Shaman
Возьмите да и посчитайте накладные расходы в требуемых сценариях использования OpenGL.
в gl я не сомниваюсь мне нужно знать способности питона. мне нравится синтаксис языка
Shaman
Июль 3, 2014 11:02:01
infocodes
в gl я не сомниваюсь мне нужно знать способности питона.
Об нём и речь. Посчитайте сколько уходит на питон при каждом вызове pyopengl и всё станет ясно.
infocodes
Июль 3, 2014 11:04:16
а как это сделать в доках нет времени исполения
john123
Июль 3, 2014 11:08:35
infocodes
а как это сделать в доках нет времени исполения
http://stackoverflow.com/a/157423Если сомневаетесь в скорости расчетов матриц и векторов, используйте биндинги существующих движков к языку. Например PyOgre.
Сам по себе Python не дает возможности использования расширений процессора типа MMX/SSE, поэтому здесь придется воспользоваться какими-то готовыми библиотеками для расчетов.