Как ускорить генерацию QR-кода SwiftUI?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как ускорить генерацию QR-кода SwiftUI?

Сообщение Anonymous »

Я быстро генерирую QR-код

Код: Выделить всё

struct HandOverView: View {
let store: StoreOf
@State var qrCode: Image?

var body: some View {
ZStack {
Image(systemName: "square.fill")
.resizable()
.frame(width: 350, height: 350)
.foregroundColor(.white)

if let qrCode = qrCode {
qrCode
.interpolation(.none)
.resizable()
.scaledToFit()
} else {
Text("No QR Code available")
}
}
.padding()
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(.red)
.onAppear {
UIScreen.main.brightness = 1.0

do {
let result = try StateSnapshot.createStateSnapshot(state: store.state)

qrCode = generateQRCode(from: result)

} catch {
print("Catch: \(error)")
}
}
}

func generateQRCode(from string: String) -> Image? {
let context = CIContext()
let filter = CIFilter.qrCodeGenerator()

filter.message = Data(string.utf8)

if let outputImage = filter.outputImage {
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
return Image(uiImage: UIImage(cgImage: cgImage))
}
}

return nil
}
}
Я измерил время, функция генерирования QRCode занимает около 2 секунд. Мой QR-код имеет около 800-900 символов. Это заняло столько же времени, когда оно было не так оптимизировано, и составило 2500 символов. Могу оптимизировать, если дальше сделать примерно 500-600, но не меньше, так как это логика моего приложения. Кроме того, я не думаю, что размер 800–900 — это слишком много.
Каков ваш опыт в этом вопросе и есть ли у вас какие-нибудь советы, как сделать это быстрее? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ion-faster
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как ускорить генерацию QR-кода SwiftUI?
    Anonymous » » в форуме IOS
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как перенести генерацию кода с xpand на xtend(2)?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Visual Studio не поддерживает анализ или генерацию кода, потому что он не содержится в проекте, который поддерживает код
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему деструктор отключает генерацию неявных методов перемещения?
    Гость » » в форуме C++
    0 Ответы
    37 Просмотры
    Последнее сообщение Гость
  • Как мне реализовать генерацию континентов в Unity?
    Гость » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость

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