0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 31
|
||||||||||||||||
1 | ||||||||||||||||
GlCreateVertexArrays в thread не генерирует буффер04.10.2024, 20:41. Показов 741. Ответов 9
Привет, я создаю свой графический движок на OpengGL(glfw c++) и заметил что буфферы вершин/элементов не создаются в отдельном потоке, пример:
Тут происходит всё хорошо:
0
|
04.10.2024, 20:41 | |
Ответы с готовыми решениями:
9
Telethon ошибка RuntimeError: There is no current event loop in thread 'Thread-2 (process_request_thread)' Непонятки в Java. Chain method call. Thread.start() vs Thread.run() Неоднозначный вызов следующих методов или свойств - Thread.Thread() |
![]() 3782 / 2708 / 765
Регистрация: 29.06.2020
Сообщений: 9,954
|
|
04.10.2024, 21:08 | 2 |
0
|
![]() 3782 / 2708 / 765
Регистрация: 29.06.2020
Сообщений: 9,954
|
|
04.10.2024, 21:12 | 4 |
Нужно учится гуглить :
![]()
0
|
0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 31
|
|
04.10.2024, 21:50 [ТС] | 5 |
А как создать зависимый поток в glfw?
Добавлено через 41 секунду Я не совсем понял что мне надо делать с этой ошибкой. Можешь объяснить по подробней или скинуть пример?
0
|
![]() 3782 / 2708 / 765
Регистрация: 29.06.2020
Сообщений: 9,954
|
|
04.10.2024, 22:01 | 6 |
К сожалению не могу. Я таким не занимаюсь.
Подожди, может какой игродел появится... Но лучше просто студируй материал и гугли. А то можешь до Нового года ждать (хз какого).
0
|
0 / 0 / 0
Регистрация: 28.04.2022
Сообщений: 31
|
|
04.10.2024, 22:30 [ТС] | 7 |
Ладно, спасибо
Добавлено через 18 минут Если ты знаешь как это сделать , пожалуйста скинь пример
0
|
Модератор
![]() ![]() |
|
04.10.2024, 23:07 | 8 |
Не поток, а контекст
Создайте еще одно окно в новом потоке в glfw указав в качестве родительского окна окно из главного потока, окно можно сделать невидимым
0
|
07.10.2024, 01:51 | 9 |
По-моему нет. Когда-то разок попробовал, провозюкался и плюнул (хотя может просто не хватило терпения). Помню (смутно) что контекст надо создавать в нужном потоке и потом (когда этот контекст установлен текущим) все вызовы тоже только в этом потоке. Ну или "с контекстом можно общаться только в одном потоке". Так работало но без выгоды от потоков. Кстати, примера тоже не нашел
Не по теме: "Смесь французского с нижегородским" (типа ObnovitVershini) производит тяжелое, гнетущее впечатление :) Добавлено через 2 часа 12 минут Да, и есть подозрение что затраты/время на создание и запуск потока превысят время вызовов OpenGL, они по сути "запросы" Интересно проверить, правда не знаю как
0
|
Модератор
![]() ![]() |
|
07.10.2024, 12:06 | 10 |
Ну почему же, есть ситуации когда многопоток повысит производительность, но случай ТС явно не тот.
Я на практике получал выигрыш производительности, на cpu было 2 потока, а в opengl асинхронная работа. Это я ради интереса писал видеоплеер на голом opengl и ffmpeg. Было так, основной поток рисовал кадры, а второй загружал кадры на видеокарту, причем рисовал один буфер, а загружал совсем другой. Вот была у меня старая темка, начинал с однопоточного варианта, но в итоге перешел на многопоток. Добавлено через 2 минуты То есть многопоток меет смысл только со стримингом данных на видеокарту. Когда надо постоянно загружать/обновлять большой объем данных в реальном времени. А так да, взаимодействие с видеокартой происходит в режиме клиент-сервер, где мы в роли клиента, а сервер не сразу выполняет команды, и распределение на потоки выигрыша не будет давать.
0
|
07.10.2024, 12:06 | |
Помогаю со студенческими работами здесь
10
Передать данные в работающий thread из другого thread
Exception in thread "main" Exception in thread "Thread-0" java.lang.ExceptionInInitializerError Как исправить проблему с Exception in thread "JavaFX Application Thread" java.lang.NullPointerException Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной.
Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
|
Формулы поворота
Igor3D 10.03.2025
Добрый день
Тема
Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости".
x' = x * cos(a) - y * sin(a)
y' = y * cos(a) + x * sin(a)
Как бы Вы их. . .
|
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
|
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
|
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
|
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view.
string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
|
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
|
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет!
Отправлено 19 февраля 2025 года в 17:20:21 UTC
Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home.
Мы официально. . .
|
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
|
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
|