plist langsam?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • plist langsam?

    ich habe eine plist mit ca. 1000 Einträgen

    gefühlt dauert as sehr lange, bis die geschrieben ist
    und da ich oft schreiben muss, will ich das dem user nicht zumuten

    ist eine plist mit 1000 Einträgen schon eine große plist?

    bevor ich das ganze auf SQLlight umbaue wollt ich erst mal Eure Meinung dazu hören.

    Sollte eine plist mit 1000 Einträgen blitzschnell geschrieben bzw. gelesen sein? oder dauert so etwas nun mal seine zeit?
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________


  • Mac & i Test Abo
  • leere Strings wäre sicher schneller, aber dann brauche ich die pList ja auch eher nicht 8)

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>kChartDate</key>
    6. <string>12.08.2013 16:04:03</string>
    7. <key>kChartName</key>
    8. <string>Jutta&apos;s EasyPeasy Left-Right Socks</string>
    9. <key>kChartSpalten</key>
    10. <integer>5</integer>
    11. <key>kChartZeilen</key>
    12. <integer>5</integer>
    13. <key>kChartCells</key>
    14. <array>
    15. <dict>
    16. <key>kChartCellColor</key>
    17. <data>YnBsaXN0MDDUAQIDBAUIJSZUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABowkKG1UkbnVsbNgLDA0ODxAREhMUFRYXGBkaVlVJQmx1ZVdVSUFscGhhXE5TQ29sb3JTcGFjZVVVSVJlZFYkY2xhc3NfEBVVSUNvbG9yQ29tcG9uZW50Q291bnRVTlNSR0JXVUlHcmVlbiI/SMjJIj+AAAAQAiI/SMjJgAIQBE8QETAuNzg0IDAuNzg0IDAuNzg0Ij9IyMnTHB0eHyIkWCRjbGFzc2VzWyRjbGFzc2hpbnRzWiRjbGFzc25hbWWiICFXVUlDb2xvclhOU09iamVjdKEjV05TQ29sb3JXVUlDb2xvchIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEAARgBXAF4AZgBzAHkAgACYAJ4ApgCrALAAsgC3ALkAuwDPANQA2wDkAPAA+wD+AQYBDwERARkBIQEmAAAAAAAAAgEAAAAAAAAAJwAAAAAAAAAAAAAAAAAAATg=</data>
    18. <key>kChartCellIndex</key>
    19. <string>0101</string>
    20. <key>kChartCellSymbol</key>
    21. <string>lMazun30px.png</string>
    22. </dict>
    Alles anzeigen


    wobei das Array bis zu 2500 Elemente groß sein kann
    Der Fall ist zwar eher unwahrscheinlich, aber nicht ausgeschlossen

    Ich werd mal noch ein wenig versuchen im Code zu optimieren, bin aber gedanklich schon fast bei einer DB
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________


  • oops

    hab das schreiben mal komplett auskommentiert...

    Sicher dauert das Schreiben von 1000 Elementen in eine plist seine zeit

    Aber mein eigentliches Problem ist offensichtlich wo ganz anders :whistling:
    Das Anzeigen von 1000 UIButtons muss ich wohl auch optimieren...

    Und dabei funktioniert die Matrix 5x5 so toll

    30x30 ist schon zäh
    50x50 geht gar nicht mehr

    bin dann mal weg...
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________


  • ich bin auf IOS unterwegs

    Momentan stelle ich die Buttons in einen scrollView
    Für kleine Mengen war das ok, alles funktionierte ohne großen Aufwand und performant
    bei 30x30 wird das zu langsam
    Usereingaben erlaube ich bis 50x50, da wird es eindeutig zu langsam

    Die Schreibaktivitäten sind aber gar nicht die Ursache, zumindest ist das ein untergeordnetes Problem


    Da muss ich "nur" konzeptionell nochmal ran :whistling:
    Das wird schon
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________


  • wenn man 30x30 Buttons hat
    und ein Button den Inhalt ändern soll
    und man dann jedesmal alle Buttons neu zeichnet
    Dann ist das langsam :whistling:
    wenn man den Fehler entdeckt und nur den geklickten Button ändert ist es angemessen schnell. :rolleyes:

    Also, weder die plist noch der scrollView mit 30x30 Buttons war zu langsam
    Der Programmierer war langsam im Kopf...

    Manchmal ist es nicht schlecht, seine Code mit einem Tag Pause sich nochmals anzusehen...

    Den collectionView werde ich mir aber trotzdem mal ansehen
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________


  • ... oder als ganz anderer Gedanke: Warum die Felder des Grids nicht programatisch innerhalb des drawRect: der Content-View zeichnen und gar nicht als Subviews oder gar Buttons realisieren? Das erfordert zwar etwas Mehraufwand beim Hit-Test eines angeklickten Feldes, dürfte aber aus Performanzsicht fast unschlagbar sein.

    Wir diskutieren das noch, ja? ;)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Das erfordert zwar etwas Mehraufwand beim Hit-Test eines angeklickten Feldes, dürfte aber aus Performanzsicht fast unschlagbar sein.

    Das glaube ich nicht, denn bei jedem Klick müsstest Du das Ganze Grid neuzeichnen.

    Der Collectionview dürfte bezüglich der Perfomanz, des Speicherverbrauchs und der Einfachheit der Implementierung die beste Lösung sein. Warum das quadratische Rad neuerfinden?
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Das glaube ich nicht, denn bei jedem Klick müsstest Du das Ganze Grid neuzeichnen.

    Kann sein, muss aber nicht: Wenn ich durch den Klick in ein Feld nur dessen Inhalt (Symbol, Farbe o. ä.) ändern möchte, sollte eigentlich auch ein partielles Neuzeichnen möglich sein ... insbesondere wenn diese "Felder" eher einfach gestrickt (ups!) sind und keine weiteren Subview etc. enthalten. Aber Du hast insofern recht, dass man hier nicht per Vermutung das eine oder andere machen sollte, sondern nur auf Basis von Performanz-Messungen ... und bei kleinem Unterschied ist der Griff in die fertige Werkzeugkiste à la UICollectionView sicher ratsam.

    Ciao, Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • CollectionViewLayout : UICollectionViewFlowLayout
    Declaration
    @property (nonatomic) UICollectionViewScrollDirection scrollDirection;
    Description
    The scroll direction of the grid.
    The grid layout scrolls along one axis only, either horizontally or vertically. For the non scrolling axis, the width of the collection view in that dimension serves as starting width of the content.
    The default value of this property is UICollectionViewScrollDirectionVertical.


    Mist
    Ich habe auch keine Loesung, aber ich bewundere das Problem!
    _____________________________________________________