Задать вопрос
Voronar
@Voronar
Code typesetter

Как увеличить производительность рендеринга на канве?

Здравствуйте.
В Qt есть такая техника рендеринга, когда в качестве базового класса для канвы (виджета) наследуется класс QGlWidget (QOpenGlWidget). Я правильно понимаю, что в этом случае используется OpenGL для рендеринга, что по идее быстрее чем какой-то другой способ (правда, а что по стандарту используется?).

Можно ли подобную технику применить для QWebKit (QWebView) чтобы ускорить Canvas Web API?
Кстати, а какое нативное средство используется для рендеринга в веб-канве?

P.S. Вот тут в комментариях нашёл похожий вопрос, но так и не понял ответ на него. Хотя я может и вопроса не понял.
  • Вопрос задан
  • 3184 просмотра
Подписаться 4 Оценить Комментировать
Ответ пользователя Кирилл Халитов К ответам на вопрос (2)
Voronar
@Voronar Автор вопроса
Code typesetter
Армянское Радио: Проверил вот этот код:
#include <QApplication>
#include <QWidget>
#include <QOpenGLPaintDevice>
#include <QDebug>

int main(int argv, char **args)
{
  QApplication app(argv, args);

  QWidget               window;
  QPaintDevice*         pd    = nullptr;
  QOpenGLPaintDevice*   pgld  = nullptr;

  pd    = dynamic_cast<QPaintDevice*>(&window);
  pgld  = dynamic_cast<QOpenGLPaintDevice*>(&window);

  window.resize(250, 150);
  window.show();

  qDebug() << pd;   //0x7fffd5b2bb30
  qDebug() << pgld; //0x0

  return app.exec();
}

Второй каст для QOpenGLPaintDevice не получился, это видно по выводу адреса на консоль.
Получается что мы имеем программный рендеринг по умолчанию?
Ответ написан