Thread

В этой теме 17 ответов, 2 участника, последнее обновление  val67 3 года/лет назад.

Просмотр 15 сообщений - с 1 по 15 (из 18 всего)
  • Автор
    Сообщения
  • #1760

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    Пользовался темой: http://kychka-pc.ru/sfml/sfml-mnogopotochnost.html

    Результат на скрине, помогите разобраться.

    Вложения:
    You must be logged in to view attached files.
    #1762
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Вот

    Вложения:
    You must be logged in to view attached files.
    #1769

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    Скопировал просто код, не пашет. Не понимаю почему.

    Вложения:
    You must be logged in to view attached files.
    #1772
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Попробуйте запустить код на SFML версии 2.0

    #1775

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    Все тоже

    Вложения:
    You must be logged in to view attached files.
    #1777
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    https://yadi.sk/d/lHaRolMGjPDxW Исходник на 2.0

    Запустил exe вашего проекта, тоже работает.

    Вложения:
    You must be logged in to view attached files.
    #1779

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    мдэ, чудеса…

    #1780
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Если выявишь проблему напиши что да как. Интересно же)
    Может у тебя комп не поддерживает многопоточность? xD

    #1781

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    4 ядра, проверял еще давно – поддерживает.

    В общем если верить http://en.sfml-dev.org/forums/index.php?topic=5673.0

    в каждом потоке нужно деактивировать окно

    Basically, a window must be deactivated (SetActive(false)) in the thread where it is active, before being used in another thread.

    Я добавил

    и вроде как работает, и память жрет

    Там ток на скрине не то подчеркнул)

    Вложения:
    You must be logged in to view attached files.
    #1783
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Так пробовал?

    #1784
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Странно всё это)

    #1785
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Попробуй вынести из конструктора drawThread = new sf::Thread(&Main::THREAD_Draw, this);
    И перенести его в главный цикл, после выполнения вызывай деструктор thread

    У меня таким образом тоже работает.

    #1786

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    Работает, но озу в геометрической прогрессии занимает

    #1790

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    В общем поспрашивал я на форумах, проблема нашлась:

    Собственно проблема в том, что при создании чего-то в потоке, создается скрытый контекст opengl, оно пихается в “глобальную корзину” (std::set <GlContext*> internalContext) и при уничтожении потока не освобождается. Освобождение произойдет только когда больше не останется контекстов(в Context.cpp есть переменная count, когда станет ноль, то будет вызвана функция globalCleanup, которая почистит эту “корзинку”).

    Ну и так пользоваться потоками очень не советуют.

    #1791
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Ну и так пользоваться потоками очень не советуют.
    Как “так”? И почему у меня с оперативкой всё нормально?

Просмотр 15 сообщений - с 1 по 15 (из 18 всего)

Для ответа в этой теме необходимо авторизоваться.