Я пытаюсь создать приложение для телефонной связи, которое преобразует видео в 30 или около того кадров в формате jpeg. Эта страница преобразует видео bigbuckbunny в 30 кадров > https://www.pewify.com/test/ (взято из https://bgrins.github.io/videoconverter.js/demo/)
Он отлично работает на iPhone x под управлением iOS 12 в мобильном сафари, для завершения требуется около 12-15 секунд, но тот же код, упакованный в приложение iOS Cordova, работающее на том же телефоне, займет почти 160 секунд (оба конечных результата то же самое, но почти в 10 раз длиннее), хотя он отлично работает для браузеров Android или приложения Android Cordova.
Я использую Cordova Android 7.0 и Cordova iOS 4.5.4 (phonegap cli-8.0.0) для приложения.
Я пытался удалить все ненужные плагины с помощью минимального кода, но безрезультатно, он по-прежнему работает так же медленно.
Насколько я понимаю, phonegap просто использует веб-просмотр, похожий на сафари, для рендеринга приложения, но в этом случае он работает, но намного медленнее, вдобавок к этому телефон начинает нагреваться (предположительно, интенсивно используя процессор?)
Читал что-то о том, что WKWebview работает быстрее в кордове, но это портит приложение множеством ошибок CORS и «небезопасных операций», поэтому решил пока не реализовывать это (если это не решение?)
Надеюсь, кто-то может указать мне правильное направление, так как я не совсем уверен, в чем здесь проблема, поскольку он работает несколько безупречно в Android (как в Chrome, так и в телефонной связи), но только в сафари iOS, а не в приложении телефонной связи.
Хорошо, решил, это действительно был WKWebview, и он выполнялся нормально. Я где-то читал, что веб-просмотр в кордове и веб-просмотр в мобильном сафари отличаются, отсюда и разница в скорости (движок nitro js?)
Для всех, кто заинтересован, я использовал «cordova-plugin-wkwebview-file-xhr», чтобы включить WKWebview и некоторые исправления для обхода проблем CORS, запустил на нем тот же код (пришлось использовать встроенный BLOB-объект при создании рабочего, хотя для обхода, взятого отсюда Веб-работники без отдельного файла Javascript?)
Преобразование видео теперь работает, как и ожидалось (12 секунд), надеюсь, это поможет кому-то, кто может столкнуться с медленным выполнением кода на iOS phonegap.