Я вижу способ сделать это через project.xml
, но я не вижу способа отключить/включить vsync во время выполнения (например, иметь параметр в меню настроек или что-то в этом роде). Поиск не дал мне никаких ответов. :(
Есть ли программный способ изменить vsync во время выполнения в Haxe/Starling?
Ответы (1)
Это будет зависеть от Lime, на основе которого построен OpenFL. Сам Lime построен на основе SDL, но вы можете получить доступ к API SDL только косвенно через Lime.
Просматривая исходники Lime и историю коммитов, вы видите, что то, что вам нужно, сейчас не поддерживается — флаг vsync передается только при начальном вызове CreateWindow()
, похоже, нет способа изменить его постфактум. / без создания нового окна.
Этот же вопрос обсуждался на форумах OpenFL несколько лет назад. Вот идея того, как это можно реализовать в Lime, пересоздав рендерер SDL с другими флагами. (с указанием SDL_RENDERER_PRESENTVSYNC
вместо его указания) было предложено. Если вам нужна эта функция, вы можете попробовать реализовать ее самостоятельно и создать запрос на вытягивание.