QT 6 QWindow Подкласс заикание/замораживаниеC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 QT 6 QWindow Подкласс заикание/замораживание

Сообщение Anonymous »

У меня есть проблема с QT6 и, в частности, на MacOS.
Когда я создаю: < /p>
class VulkanWindow final : public QWindow
< /code>
и используйте его в виде виджета: < /p>
vulkan_area_ = QWidget::createWindowContainer(vulkan_window);
< /code>
рендеринг прекращается через несколько секунд, когда я использую requestupdate (). < /p>
bool event(QEvent* e) override {

switch (e->type()) {
case QEvent::UpdateRequest:
window->engine_->Run();
requestUpdate();
return true;
break;

}
< /code>
Я попытался поместить петлю рендеринга на улицу в отдельном потоке, как это: < /p>
void workerFunction(VulkanWindow* window) {
while(true) {
window->engine_->Run();
}
}
< /code>
Но затем графический интерфейс замерзает в течение 2 секунд при запуске, даже если рендеринг будет продолжаться, и я получу этот вывод: < /p>

qt.gui.metal: временное ожидание блокировки отображения < /p>
< /blockquote>
I. 6.9.2. < /P>
no remessize Event или VK_Suboptimal_khr или VK_ERROR_OUT_OF_DATE_KHR. Я не получаю стойла ни от vkwaitforfences, ни от vkacquirenextimagehr. Рендеринг просто останавливается в случайном интервале, даже если запускается петля рендеринга.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... r-freezing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»