Однажды я задумал разрабатывать свой бенчмарк (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.
Godot Engine 4.0: Почему я решил приостановить разработку ChimbaBench Vulkan
16 марта 202316 мар 2023
8
2 мин