Issue #897

During continuous events like dragging or TextField typing, and we have a Picker onscreen with large data set, it will slow down main thread.

One option is to explicitly conform that view to Equatable

struct FontPicker: View, Equatable {
    @Binding var fontFamily: String
    var body: some View {
        Picker("", selection: $fontFamily) {
            ForEach(NSFontManager.shared.availableFontFamilies, id: \.self) { family in

    static func == (l: FontPicker, r: FontPicker) -> Bool {
        l.fontFamily == r.fontFamily

Then we need to specify equatable

    fontFamily: $element.text.fontFamily