TGI station



Назад

instead-games.forum :: Поддержка dpi в INSTEAD - что делать?
============================================================

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 13:50
RSS-bot (tavern,2)  
 
peter: Сейчас в секретных кузницах инстеда медленно куётся следующая версия. Возник вопрос, решение которого влияет на всех пользователей инстед. И этот вопрос - поддержка DPI! Поддержка DPI встала особенно остро с появлением 4К мониторов. В целом, инстед конечно поддерживает масштаб до любого размера окна, но по умолчанию на 4К мониторах изображение мб мелким. Сейчас я пробросил dpi в lua часть, и наряду с масштабируемыми темами из луа (будет такой способ) игра в принципе может сама учесть этот dpi. Но это ручная работа. Я думаю единицы авторов будут таким заморачиваться. Поэтому возникла мысль включить учёт dpi на опцию инстед, которая называется HQ. Что мы получаем и что теряем? Получаем мы то, что в оконном режиме при включённой опции HQ на большинстве мониторов тема будет смасштабирована с учётом dpi. То-есть, всегда. Таким образом, владельцы 4К мониторов должны быть довольны. Но теряем мы при этом идеальную картинку. Чтобы получить снова немасштабируемый вариант, придётся отключать опцию HQ. В общем, мне нужно ваше мнение. А так же наличие window/linux пользователей с 4к мониторами. Какие варианты? 1) повесить на опцию HQ 2) сделать параметром темы 3) сделать параметром командной строки -dpi например 4) сделать порог. Например, если dpi отличается от 96 в 2 раза только тогда делать масштаб. Жду ваших идей.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/766
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:00
RSS-bot (tavern,2)  
 
Oreolek: Простой вопрос: ты хочешь держать дефолтом 96dpi ещё следующие пять-десять лет? То есть, какие тут вообще варианты - либо все игры до 2021го года выпуска будут на новых мониторах выглядеть мыльно, либо вообще нечитабельно. Делай мыльное масштабирование, как-нибудь потом сделаешь почётче.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13834/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:10
RSS-bot (tavern,2)  
 
peter: @Khaelenmore можно дать возможность и диапазон давать и конкретное число! Вообще, мне нравится! Правда, все старые темы по умолчанию уходят в 96, но тут видимо ничего не сделать

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13839/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:10
RSS-bot (tavern,2)  
 
Khaelenmore: Есть предложение сделать для темы не одно число, а диапазон, в котором она не будет скейлиться. При выходе за его пределы -- масштабируется относительно ближайшей границы. Но тогда надо масштабирование весить на опцию hq чтобы пользователь мог отключить, если хочет сидеть с лупой и наслаждаться

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13838/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:10
RSS-bot (tavern,2)  
 
peter: @Oreolek тут вот какой нюанс. Масштаб считается как dpi/96.0 Получается, при разработке темы предполагается что dpi для которой она разработана это 96.0 ВОТ ОНО ЗЛО! Надо просто сделать опцию дополнительно у темы, чтобы можно было указывать для какого dpi она сделана. Тогда если такой опции нет мы считаем что это 96 и масштабим как dpiэкрана/96 если опция есть, то масштабим как dpi экрана/dpi темы Что думаете?

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13837/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:10
RSS-bot (tavern,2)  
 
peter: @Oreolek варианты я выше перечислил. Может, есть и другие. Но я так понял что ты "за" пп1.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13836/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:10
RSS-bot (tavern,2)  
 
Artur_Aiwasan: 2-е. Сделать параметром темы.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13835/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:20
RSS-bot (tavern,2)  
 
Khaelenmore: Все старые темы и делались под 96, за редким исключением. Не вижу тут проблемы

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13840/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:40
RSS-bot (tavern,2)  
 
Ordos: А много ли вообще людей, имеющих 4К мониторы? И особенно тех из них, кто играется в instead-игры? Может проблемы-то особо и нет? Если по делу - я за опциональность и свободу выбора. п.2 или п.3.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13841/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 14:50
RSS-bot (tavern,2)  
 
Khaelenmore: Ну 4к даже по статистике стима есть чуть меньше чем у никого. Но в целом hi-dpi, к сожалению, упорно входит в нашу жизнь, порой не оставляя выбора, так что поддержка необходима. Я бы, пожалуй, все-таки позволил вручную задавать, как способ оверрайда дефолтного поведения

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13842/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 18:50
RSS-bot (tavern,2)  
 
peter: Вопрос, если мы идём по пути возможности задания dpi в теме для уточнения. Если в теме не задан dpi, может быть сделать дефолт диапазоном? что то вроде 96-144 как думаете?

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13843/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 19:00
RSS-bot (tavern,2)  
 
peter: Вообще, мне нравится возможность задания dpi в теме (под какие dpi создана тема). В итоге выбираем один из 2х вариантов: 1) только если в теме задан dpi тема будет масштабится в соответствии с dpi экрана 2) если dpi не задан, считается что он дефолтный (какой - пока не выбрали) в обоих случаях, масштабирование выполняется только при включённой функции HQ Прошу высказаться/

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13844/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 20:20
RSS-bot (tavern,2)  
 
Khaelenmore: Если не задан, думаю дефолт стоит считать именно 96. Потому что некоторые игры при 144 могут мелко выглядеть Я предлагаю сделать так: 1) В теме задается диапазон dpi. Если не задан -- значит 96 - 96 2) Если не передан параметр --dpi, то определять системный dpi, иначе -- использовать переданный 3) Если включена настройка hq, то масштабировать окно с учетом dpi, остальное -- остается как есть

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13845/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 20:50
RSS-bot (tavern,2)  
 
Terracon: У меня 4К монитор (157 dpi), сейчас уже от QHD люди берут новые - там при размере 27" идет 109 ppi. Самые дешевые 24" FullHD - 92 ppi, может его и стоит взять как дефолтный, если dpi не задан в теме. Если что, со своей виндой могу потестировать.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13846/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 21:30
RSS-bot (tavern,2)  
 
Khaelenmore: В большинстве ОС(в том числе в винде), выбор дискретный между 96, 120, 150 и т.д. По-умолчанию уже давно принят 96 повсеместно. Меньше 96 ни одна ос насколько знаю поставить не даст, так что и нет смысла об этом думать. Можно конечно вспомнить предыдущий стандарт 72, но он вроде нигде кроме макакоси не использовался никогда

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13847/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 22:30
RSS-bot (tavern,2)  
 
peter: 96 это стандарт да. В принципе, если в темы игры будет стоять scr.dpi = 0, то механизм будет выключен. Может быть какие-то авторы будут против такого поведения и механизм отключения к стати... Давайте я соберу версии и погоняем?

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13848/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 23:10
RSS-bot (tavern,2)  
 
peter: https://dropmefiles.com/FSbPm Вот сборка для винды. В неё впилина поддержка dpi. Кроме того, обновлён SDL до последней версии. Огромная просьба поизучать. Всё это уже в git, так что Unix пользователи могут тоже собрать и погонять..

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13849/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
17.06.2021 23:40
RSS-bot (tavern,2)  
 
peter: Текущее поведение версии в гите. При включенном HQ в оконном режиме dpi учитывается. Если в теме не указано dpi (scr.dpi=число или мин-макс) то считается что тема создана для 96 dpi. В командной строке или профиле можно задать -dpi=число. Если детектирование не работает. Например, -dpi=96 отключит масштабирование тем без заданного dpi.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13850/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
18.06.2021 00:50
RSS-bot (tavern,2)  
 
peter: Перезалил сюда, а то на dropmefiles 404 https://filebin.net/2m7lzakn1l8njp6a

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13851/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
19.06.2021 11:30
RSS-bot (tavern,2)  
 
peter: Также имейте в виду, что когда вы создаёте спрайты для темы (курсоры, стрелки, кнопка итд) нельзя их делать local --- они обязательно должны существовать где-то в глобальных переменных/таблицах игры. Дело в том, что как только сборщик мусора уберёт ваш спрайт, он перестанет быть доступным.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13853/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
19.06.2021 11:30
RSS-bot (tavern,2)  
 
peter: Итак. В git инcтед получил новые фичи для работы с темами. Опишу пока кратко для разработчиков. 1) scr.dpi в теме можно задать как число scr.dpi = 96 или диапазон scr.dpi = 96-140 По умолчанию считается, что задано 96. При этом в оконном режиме с включённой опцией HQ теперь окно будет автоматически подстраиваться под dpi экрана. Есть опция -dpi которой можно задать dpi экрана (хотя этот параметр берётся автоматически, но иногда для тестирования или решения проблем можно пользоваться). 2) проброшен низкий уровень для создания адаптивных тем. В теме можно задать scr.scale_aware=1 или = 2. В режиме 1 тема будет получать реальные соотношения сторон, но при этом масштабироваться как обычно. Что это значит? Например в теме стоит scr.w =800 scr.h = 600 а вы запускаетесь на мониторе 1920x1080, в таком случае theme.get'scr.w', theme.get'scr.h' вернёт 1020,600. Таким образом в init фукции вашей игры вы сможете сами подогнать тему под любое разрешение, чтобы вокруг не было пустого пространства. В целях облегчения заполнения фона сгенерированными картинками, предполагается использование pixels, так как они непосредственно до отрисовки не масштабируются и позволяют делать бесшовные изображения. (При использовании обычных спрайтов неизбежны ошибки округления координат). Перед тем как отрисовать фон или задать свойство bg у фона воспользуйтесь новой функцией plx:tosprite() -- она превратит пиксели в полноценный спрайт. Отличие tosprite от pxl:sprite() в том, что создаётся новый спрайт, который масштабируется в соответствии с настройками темы (например. используя сглаживание). А pxl:sprite() всегда возвращает спрайт отмасштабированный без учёта этого. 3) режим scr.scale_aware = 2 отличается от 1 тем, что пробрасывает в игру настоящее разрешение, а не виртуальное. И устанавливает масштабирование темы в 1.0. Это значит что вам придётся делать все самому: масштабировать картинки, элементы управления итд. К счастью, появился параметр: scr.gfx.scale (настройка темы), которая устанавливается автоматически в нужное значение при использовании режима 2 и влияет на масштаб картинок и элементов управления. Вы можете менять этот параметр из кода на lua или просто прочитать его. Новая версия INSTEAD с этими изменениями не выйдет до тех пор, пока новые функции не будут проверены энтузиастами! В теории, хорошо написать готовые модули на Lua для конченых пользователей. Если нужна сборка для вин - обращайтесь. соберу.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13852/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
13.02.2022 11:20
RSS-bot (tavern,2)  
 
Oreolek: Обновил монитор и могу сказать, что всё плохо. Из коробки оба INSTEAD и reINSTEAD дают очень мелкие шрифты. Настройками не спастись. Если есть второй монитор, то INSTEAD предлагает на выбор размер окна 1024x768 (по второму монитору) и потом сразу 4864x2160 (по обоим). Если запустить через `-mode 3840x2160` то шрифт наоборот слишком крупный, каждая строчка на метр. Рисовать собственные темы для всех игр мне как игроку будет перебор. UPD: `reinstead -scale 2` и `sdl-instead -scale 2` уже норм. Нашёл этот параметр методом тыка.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14041/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
13.02.2022 22:50
RSS-bot (tavern,2)  
 
peter: Да, если SDL старый, то dpi всегда считается как 96... Так что без детального описания ситуаций помочь не смогу

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14043/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
13.02.2022 22:50
RSS-bot (tavern,2)  
 
peter: Ничего не понял пока. На 4к мониторах тестили, работало ок. Возможно, неправильно определяется dpi. В инстеде попробуй написать -dpi и свой настоящий dpi. Так же во время запуска посмотри в консоли какой dpi детектируется. Похоже, по какой то причине SDL не может получить верный dpi

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14042/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
13.02.2022 23:00
RSS-bot (tavern,2)  
 
peter: А, и ещё hq в настройках инстеда должна стоять. Но она там по умолчанию стоит...

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14044/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
23.12.2023 21:10
RSS-bot (tavern,2)  
 
peter: А, и ещё hq в настройках инстеда должна стоять. Но она там по умолчанию стоит...

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14044/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
23.12.2023 21:10
RSS-bot (tavern,2)  
 
peter: Да, если SDL старый, то dpi всегда считается как 96... Так что без детального описания ситуаций помочь не смогу

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14043/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
23.12.2023 21:10
RSS-bot (tavern,2)  
 
peter: Ничего не понял пока. На 4к мониторах тестили, работало ок. Возможно, неправильно определяется dpi. В инстеде попробуй написать -dpi и свой настоящий dpi. Так же во время запуска посмотри в консоли какой dpi детектируется. Похоже, по какой то причине SDL не может получить верный dpi

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14042/#…
--------------------------------------------------------------------------------

subject: Поддержка dpi в INSTEAD - что делать?
23.12.2023 21:10
RSS-bot (tavern,2)  
 
Oreolek: Обновил монитор и могу сказать, что всё плохо. Из коробки оба INSTEAD и reINSTEAD дают очень мелкие шрифты. Настройками не спастись. Если есть второй монитор, то INSTEAD предлагает на выбор размер окна 1024x768 (по второму монитору) и потом сразу 4864x2160 (по обоим). Если запустить через `-mode 3840x2160` то шрифт наоборот слишком крупный, каждая строчка на метр. Рисовать собственные темы для всех игр мне как игроку будет перебор. UPD: `reinstead -scale 2` и `sdl-instead -scale 2` уже норм. Нашёл этот параметр методом тыка.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/14041/#…
--------------------------------------------------------------------------------