М.Двач / Gamedev

Этого треда уже нет.
Это копия, сохраненная 2 апреля 2020 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

122 Кб, 1102x719
sfml fullscreen # OP 19 янв 2019, 21:43 547487 В конец треда | Веб

Есть непонятность с SFML 2.5.1 в с++

Создаю окно:
sf::RenderWindow window(sf::VideoMode::getDesktopMode(), "", sf::Style::Fullscreen);

После чего рисую текст случайного цвета на экране.
Цвет меняется каждый раз перед вызовом window.display();

Так вот, при старте программы, в самом начале, есть две задержки - по 1-2 секунды. Во время задержек на экране есть отрисованный текст, но его цвет не изменяется. После задержекпрограмма ведёт себя как ожидается.

Вопрос: откуда эти задержки и почему их нет, когда окно создаётся в режиме sf::Style::Default ?

2 21 янв 2019, 11:26 2 547824

вот закоммитил бы на гитхаб, или хоть на пастбин кинул, посмотреть, где там этот магический вызов window.display(); находится
а вообще, судя по скрину, там сначала дергается вызов clock(), переходящий в cout. т.е. --- системный_вызов+процедура_рисования и затем декларация_настроек(кстати, зачем сразу антиалиас на 8 ставить, если окна еще нет?)+заполнение_вектора_массивом_данных. это все норм, ведь только после этого создается окно в #16 строчке
но почему то именно после создания окна начинают инициализироваться и загружаться ресурсы. а что делает в это время окно? отдает процессорное время процедуре загрузки ресурсов, а само от их нехватки начинает подвисать и тормозить, пусть ненадолго, даже на 1-2 секунды, но этого хватает, чтобы девелопер принял решение о рефакторинге кода с выносом процедур инициализации и загрузки в отдельный блок функций, или хотя бы погонял билд на профайлере
а может и действительно sfml не нужен

Ответы79697990

3 21 янв 2019, 19:01 3 547969

>>547824
Спасибо, дорогой. Пошёл копать.

4 21 янв 2019, 20:15 4 547990

>>547824
В общем, опять не получилось.
То есть получились тормоза в полноэкранном режиме (sf::Style::None , он же sf::Style::Fullscreen), а в оконном режиме (sf::Style::Default) получилось без тормозов.

Исходник:
https://pastebin.com/WEmHcYd6

Видео:
https://streamable.com/9ivue

Ответы80048045

5 21 янв 2019, 21:24 5 548004

>>547990
пойду покурю сорец пока бранч с гитхаба дампится
и ты полируешь эвенты уже после рендера? интересный подход

6 21 янв 2019, 23:55 6 548045

>>547990
>получились тормоза в полноэкранном режиме
а чем собирал? потести этот билд
http://rgho.st/66C2PhSkf

Ответы8074

7 22 янв 2019, 07:56 7 548074

>>548045
Кажется, проблемы в дровах, конфликтах с установленным ПО или в железе. Запустил оба билда, полноэкранный и неполноэкранный, на другой машине с Win7, -- тормозов не наблюдал. На другой машине с Win10 полноэкранный режим не включился вообще. Тормозов на ней, соответственно, тоже не было.

Это http://rgho.st/66C2PhSkf посмотрю вечером, спасибо.

Собираю на Win10 в MSVS 2017 Community с флагом SFML_STATIC, в единый экзешник, 64 бита.

Ответы8077

8 22 янв 2019, 08:10 8 548077

>>548074
>MSVS 2017 Community
это 141 тулкит, не? я собирал под Win7_64+MinGW64, тормозов в фуллскрине не наблюдалось. в сорец пришлось добавить хидер
#include <SFML/Graphics/Convexshape.hpp>
а то глобальные переменные ругались на
>sf::ConvexShape
такие дела

Ответы82288229

9 22 янв 2019, 19:47 9 548228

>>548077
Итак. Ситуация немного прояснилась. Твой билд, который http://rgho.st/66C2PhSkf , тормозит так же, как и мой :)
Из чего делаю вывод -- или это Win10, или моя старая видюха Radeon HD6770.
О ConvexShape: в моём дистрибе sfml 2.5.1 строка #include <SFML/Graphics/Convexshape.hpp> есть в файле SFML/Graphics.hpp , что влечёт его включение в проект.
Тулкит 141, да.

10 22 янв 2019, 19:51 10 548229

>>548077
Вот мои билды: http://rgho.st/6HxWgQH2f

Тред утонул или удален.
Это копия, сохраненная 2 апреля 2020 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /gd/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion