Ku2zoff на кой тебе меню в ксаш-моде? Ты же под халфу делаешь.
Добавлено 03-04-2020 в 16:47:
Сегодня столкнулся с забавной вещью. Новое меню открывает LoadGame с заметным лагом. Виджетовое. А старое на условных итемах (это просто названия классов), не логало абсолютно. Сперва я думал - соберу в релизе - перестанет. Собрал, логает. Надо думаю, отпрофилировать. А там жеж таблица собирается из маленьких окошек с текстом и каждое такое окошко грузит шрифт заново. Посмотрел - да, именно так, логают эти окошки. Удивился. Шрифт должен браться из кэша, откуда лаг? А потом понял.
Загрузчик шрифтов использует нечёткую логику. Ему можно указать PointSize, Bold, Italic и он попробует это найти на диске. А если не найдёт - будет искать максимально похожее. Таким образом я не могу просматривать список уже загруженных шрифтов - я сперва должен на диске поискать при любом абсолютно раскладе. И вот каждый вызов FS_Search и даёт тот самый ощутимый лаг. Закэшировал сами списки поиска.
Сделал раскошные слайдеры, прямо как покража на автомате.
Ничуть не хужы виндовых, весь функционал присутствует.
Собсно эти вот скроллисты и его слайдеры - это самый сложный элемент меню, с ним было больше всего возни. Из элментов у меня еще остались чекбоксы, спин-контролы, строка для редактирования и обычные слайдеры-ползунки. Ну это думаю быстро, оно элементарное, из единственного элемента состоит. А скролллист, тут целая куча элементов.
Будущее Audio-меню. Сделал чек-боксы. С новыми виджетами создание меню стало чертовски быстрым. Для сишного меню, даже если там половина - копипаста, приходилось часа два сидеть и всё проверять. А если там еще и диалог был нужен, так вообще. А теперь это несколько минут.
Основное время отнимает создание новых контролсов. Теперь вот слайдеры надо делать.
KiQ писал: эти кнопочки Закрыть/Свернуть так и будут висеть данью традицыи
Надо добавить ещё кнопочку полный экран/окно между ними. И хранить два отдельных разрешения в конфиге - для фуллскрина и для окна. Было бы удобно переключаться из режима в режим, когда что-то тестируешь. Но это моё ИМХО, случайно пришло в голову.
Вот кстати говоря, про концепцию. В основе старого ксаша лежала концепция "работоспособность любой ценой". Т.е. от движка можно было отрывать части, не давать ему ресурсов и он всё равно пытался остаться в рабочем режиме, ругаясь в консоль. Практика показала, что этот подход не слишком удачный. Ну потому что юзер вообще абсолютно не читает, что в консоли написано, ему плевать. Его пока битой по морде не огреешь - он ничерта не заметит. Так что я отошёл от этой концепции. Если чего-то нет - проще остановиться с ошибкой. Ну не везде конечно, но и суррогатами пытаться подменить тоже смысла нет. То есть скажем, если нету текстуры травы - с ошибкой останавливаться глупо, юзер и так увидит что травы нету.
А если не хватает чего-то серъезного, то всё - стоп машина.
Новая концепция - оправдывать интуитивные ожидания юзера. Документацию обычно никто не читает, исследование происходит путём комбинирования. Значит надо по возможности стремиться свести кол-во мёртвых кейсов к нулю. Это тоже непростая задачка.
Дядя Миша писал: То есть скажем, если нету текстуры травы - с ошибкой останавливаться глупо, юзер и так увидит что травы нету.
Вспоминается двиг сталкера который вылетает от любого чиха, скомпилировал модель но забыл с СДК текстуру перекинуть от нее - вылет вместо эмо текстуры, в звуках и текстурах крашить согласен глупо, движок крашающийся от каждого чиха утомляет.
В сталкаче мне подход с этим отдельным и громоздким СДК для всего тоже не нравиться, тоже пример как не надо делать, и с которым после установки ещё ковыряться надо, и если планируешь заниматься чисто моделями то этот левел и прочие редактора
составе СДК нафиг не нужны, но их все равно прийдется ставить и тот факт что в отличии от Хамера СЛК не юзает ресурсы из игры тоже неудобно, архивы игры надо в него распаковать из-за чего оно места много зря занимает.
Не-не, движок не будет навязывать юзеру стиль работы. Кто хочет - с краешку ковыряет, кто хочет - полноценно работает.
Добавлено 08-04-2020 в 23:02:
Я вот давно заметил, приложение из себя может представлять полную ерунду, но если оно красиво оформлено - к нему на порядок повышается доверие. По этой же причине никто не воспринимает консольные тулзы всеръез. Выверт сознания.