React Native Skia на RN 0.81+ с новой архитектурой приводит к большому времени сборки, огромному размеру сборки и низкойJavascript

Форум по Javascript
Ответить
Anonymous
 React Native Skia на RN 0.81+ с новой архитектурой приводит к большому времени сборки, огромному размеру сборки и низкой

Сообщение Anonymous »

Я столкнулся с серьезными проблемами времени установки, времени сборки, использования диска и производительности во время выполнения при использовании @/shopify/react-native-skia с включенной новой архитектурой React Native на RN 0.81+.
Текущая Поведение
  • Первая сборка Android после установки Skia занимает 10–15 минут
  • Размер каталога проекта увеличивается с ~1–2 ГБ до ~7–8 ГБ (с несколькими базовыми библиотеками)
  • Производительность во время разработки заметно замедляется
  • Циклы горячей перезагрузки/перестроения становятся очень частыми медленный
  • Если newArchEnabled=false, Skia Canvas не отображается (пустой экран или ошибка времени выполнения)
Среда:
  • React Native: 0.81.2
  • Skia: 2.4.14
  • Hermes включен
  • Архитектура: Armeabi-v7a,arm64-v8a,x86,x86_64
  • Ос: Windows 10, 64-разрядная версия
Есть ли:
  • Любая поддерживаемая Skia версия, которая надежно работает на RN 0.81.2+ без новой архитектуры?
  • Рекомендуемая комбинация версии Skia + React Native с разумной производительностью сборки?
  • Есть ли официальные указания о том, зависит ли Skia теперь от Fabric/TurboModules в новых версиях RN?
Проблема со временем установки
Установка Skia в новом проекте занимает необычно много времени:
PS D:\Work\FreeProjects\ArchTest> npm i @/shopify/react-native-skia

added 5 packages, and audited 853 packages in 8m

164 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities
PS D:\Work\FreeProjects\ArchTest>

Ниже приведен мой package.json после создания нового проекта CLI React Native и установки только /shopify/react-native-skia:
{
  "name": "ArchTest",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "lint": "eslint .",
    "start": "react-native start",
    "test": "jest"
  },
  "dependencies": {
    "@react-native/new-app-screen": "0.81.2",
    "@shopify/react-native-skia": "^2.4.14",
    "react": "19.1.0",
    "react-native": "0.81.2",
    "react-native-safe-area-context": "^5.5.2"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/preset-env": "^7.25.3",
    "@babel/runtime": "^7.25.0",
    "@react-native-community/cli": "20.0.0",
    "@react-native-community/cli-platform-android": "20.0.0",
    "@react-native-community/cli-platform-ios": "20.0.0",
    "@react-native/babel-preset": "0.81.2",
    "@react-native/eslint-config": "0.81.2",
    "@react-native/metro-config": "0.81.2",
    "@react-native/typescript-config": "0.81.2",
    "@types/jest": "^29.5.13",
    "@types/react": "^19.1.0",
    "@types/react-test-renderer": "^19.1.0",
    "eslint": "^8.19.0",
    "jest": "^29.6.3",
    "prettier": "2.8.8",
    "react-test-renderer": "19.1.0",
    "typescript": "^5.8.3"
  },
  "engines": {
    "node": ">=20"
  }
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ild-time-h
Ответить

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

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

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

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

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