В Google Chrome каждая вкладка (или окно / графический интерфейс) представляет собой отдельный процесс (не только вкладки, но также плагины, расширения и т. Д.).
Как я могу сделать что-то вроде многопроцессорности в Qt + WebKit?
Примечание: не нужно быть многопоточным или многопоточным, только то, что может быть эквивалентным
Каждый раз, когда я открываю новое окно с QWebView::createWindow
(или же QWebPage::createWindow
) Мне нравится перемещать (или создавать) QWebPage / QWebFrame в процессе (или потоке) иначе.
Как это сделать? Спасибо
[редактировать]
Что мне нравится, так это то, что каждый QWebView
(или же QWebPage
, QWebFrame
и т. д.) выполняется в процессе (или что-то подобное) отдельно (например, Google Chrome).
[редактировать]
В QML проекты с QtQuick2.0 и QtWebkit3.0 используют процесс, называемый qtwebprocess, это будет чем-то полезным для моего проекта (мой проект не QML)?
Возможно, вам придется кодировать его самостоятельно. WebKit не является Chrome, и многие из Chrome не имеют ничего общего с WebKit. Они в основном просто используют WebKit в качестве механизма разметки HTML / CSS, но не большую часть остального WebKit.
Если вам нужно несколько процессов, вам придется порождать несколько процессов, каждый из которых использует WebKit для рендеринга указанной страницы, а затем настроить необходимое межпроцессное взаимодействие для их совместной работы, и в основном просто кодировать его самостоятельно. WebKit — не волшебная палочка, вы можете просто помахать, чтобы написать свой код для вас.
Других решений пока нет …