Godot Engine 4.0: Почему я решил приостановить разработку ChimbaBench Vulkan
реклама
Однажды я задумал разрабатывать свой бенчмарк (ChimbaBench), тем более Godot Engine 4.0 вышел из Альфа и Бета версий, но Godot четвёртой версии оказался мягко говоря не очень...
В итоге я решил разделить проект на две версии, главная на основе Godot 3.5.2 (OpenGL 3.0), и второстепенная на основе Godot 4.0 (Vulkan API).
Разработка главной версии идет нормально, в целом нет особых проблем, но я же хотел еще и Vulkan версию разрабатывать...
Vulkan API гораздо интереснее чем OpenGL, и я начал работу, сначала всё шло неплохо.
реклама
Но совсем скоро начались проблемы, функция get_video_adapter_driver_info явно нестабильна, она по сути возвращает массив с именем производителя и версией драйвера, но что-то пошло не так, и работа этой функции зависит от звёзд на небе при каждом запуске...
![]() |
![]() |
![]() |
![]() |
![]() |
А еще можно словить "падение" если посылать слишком много информации на "вывод"...
Я не могу вывести информацию о драйвере, операционной системе и название процессора одновременно, но если убрать "лишнее" всё начинает работать.
реклама
Но оно может перестать работать даже если работало совсем недавно, вполне вероятно виновата нестабильная функция get_video_adapter_driver_info, может быть даже функция str тоже причастна.
![]() |
![]() |
![]() |
![]() |
![]() |
А здесь вообще происходит какой-то хаос, я всего лишь добавил еще один объект для отображения информации...
![]() |
![]() |
![]() |
А теперь перейдем к одному забавному комментатору, который заявляет, что визуализация бенчмарка бесполезна, и вообще не нужна. Но происходящее выше доказывает, что визуализация очень даже важна, и помогает выявить проблемы, которые просто невозможно выявить в слепую через линуксоидный терминал.
реклама
В итоге я решил приостановить разработку Vulkan версии ChimbaBench, может быть иногда я буду работать и над Vulkan версией, но это не точно, лучше потрачу больше времени на разработку основной версии ChimbaBench, чем буду тратить время на костыли для обхода проблем сырого Godot Engine 4.0.
Я еще могу понять если бы Godot Engine 4.0 находился в Beta версии, но я использую Release/Stable версию, боюсь представить, какие проблемы я могу встретить если начну полноценно использовать функционал Godot Engine 4.0...
Так или иначе я выпустил первую версию ChimbaBench Vulkan, просто чтобы была.
Репозиторий: ( github.com/Shedou/ChimbaBench-Vulkan ).
И даже скомпилировал исполняемые файлы для Linux, но проверить в виртуальной машине не могу, просто потому что Vulkan API, а загружать дистрибутив на реальном ПК у меня нет желания, он переведет время без спроса на три часа, а я забуду и в полночь буду думать, что сейчас только вечер...
Впрочем, Windows версия кое-как работает, и ладно, вероятно с разными версиями Windows/драйвера, и разным набором "железа" поведение будет разным, но сути это не меняет:
Ещё проверил Android версию на смартфоне Xiaomi MI8, но здесь вообще нет никакой информации о драйвере и процессоре.
![]() |
![]() |
На этом пожалуй закончу.
Знакомство с релизом Godot Engine 4.0 было забавным, и даже увлекательным, но мне не понравилось, OpenGL фактически неисправен, функции работают "абы как", некоторый функционал вообще исчез, а приложение "падает" как попало, спасибо, но как-нибудь обойдусь действительно стабильным Godot Engine 3.5.2 без Vulkan API...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
реклама
Лента материалов
Интересные материалы
Возможно вас заинтересует
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила