Menu

3 februari 2010

iPhoto ’09 versnellen

iphoto '09

Vorige maand hadden we een artikel waarin we uitlegden hoe je doormiddel van SQLite commando’s de enveloppe database van OS X Mail kon opruimen, wat resulteert in het sneller opstarten en vloeiender reageren van de Mail applicatie.

De vacuum truc kan je ook uithalen op je iPhoto databases om zodoende ook hier snelheidswinst te behalen. Wanneer er data uit een SQLite database wordt gewist, dan wordt de ongebruikte diskruimte van deze data op een “free-list” geplaatst en wordt deze ruimte pas weer gebruikt als je nieuwe data gaat toevoegen. Waneer je veel data verwijderd uit een database verschijnen er dus “gaten” in je database die je kunt opruimen met het vacuum commando. Het commando reconstrueert de database en verwijderd de “lege” data.

iPhoto ’09 maakt gebruik van vier SQLite databases (iPhotoAux.db, iPhotoMain.db, face_blob.db en face.db) deze databases bevinden zich in de iPhoto Library.

Je kunt een vacuum uitvoeren op deze databases door iPhoto af te sluiten en daarna onderstaande commando’s uit te voeren:

cd ~/Pictures/iPhoto\ Library/
for dbase in *.db; do sqlite3 $dbase "vacuum;"; done

Wanneer je hierna iPhoto herstart zal je merken dat deze aanmerkelijk sneller zal opstarten en zich vloeiender door de foto’s zal bewegen. Het resultaat zal groter zijn naargelang er meer foto’s in je library staan.




Gerelateerde tips:




Reacties


  • ruud 3 februari 2010 om 9:35

    Kun je deze ‘truc’ ook uitvoeren op een iPhoto library die op een externe HD staat. Ben niet zo thuis in de terminal commando’s dus zit een beetje te stoeien met het juiste pad.

  • Bremsy 3 februari 2010 om 10:18

    Dit werkt perfect! Bij mij duurde het opstarten van iPhoto altijd erg lang, nu is het een kwestie van seconden.
    Kunnen hier (en voor mail) geen automatorscriptjes of applescriptjes voor gemaakt worden. Ik ben daar zelf niet zo in thuis.

  • Mark 3 februari 2010 om 20:24

    Zo, dat scheelt enorm veel tijd. Van tientallen seconden naar net twee seconden. Bedankt.

  • Erwin 3 februari 2010 om 20:32

    Heb mijn library op een paritie schijf staan…..ben ook nog niet bekend met terminal maar ik denk dat ik wel in de iPhoto directory ben maar als ik dan dat onderstaande commando geef krijg ik….

    -bash: syntax error near unexpected token `do’

  • Mark 4 februari 2010 om 0:22

    Bestaat er ook zoiets voor iWeb 09?

  • Gerard 4 februari 2010 om 9:11

    Ik krijg een foutmelding: No such file or directory. Komt dat wellicht doordat ik meerdere fotobibliotheken heb en de hoofdbibliotheek de naam “iPhoto Library (hoofd) (origineel)” heeft? Ik heb meer dan 40000 foto’s dus het zou enig effect kunnen hebben. Bij het mailprogramma is het wel gelukt en werkt het inderdaad sneller. Wie heeft een oplossing hiervoor?

  • Max 4 februari 2010 om 18:59

    Heb het ook even geprobeerd maar volgens mij is de opstart tijd exact het zelfde of als ik pech heb zelfs langer.. misschien heb ik iets verkeerd gedaan.
    Eerst:
    cd ~/Pictures/iPhoto\ Library/
    Toen enter en daarna deze regel.
    for dbase in *.db; do sqlite3 $dbase “vacuum;”; done
    (alles achter elkaar getyped gaf een foutmelding zoals bij Erwin)

  • mark Keulen 4 februari 2010 om 21:45

    toppie, dat scheelt erg veel tijd bij het opstarten. Het leek wel windows de laatste tijd in Iphoto. Beschamend als je wat wilt laten zien aan vrienden.
    Goede tip.

  • Jerry Windhouwer 5 februari 2010 om 11:33

    Dit lijkt mij een zeer handige tip, welke ik dan ook graag zou willen opvolgen.
    Alleen weet ik echt niet hoe en waar je ‘het vacuum kunt uitvoeren’.
    Kan iemand mij daarin leiden?
    Vast bedankt.

  • W 5 februari 2010 om 20:51

    @ Jerry Windhouwer: open het programma ‘Terminal’ op je mac en plak het hele commando in het geopende venster. Druk vervolgens op enter en klaar is Kees!

    Wat ik mij afvroeg, is het slim om deze tip maandelijks uit te voeren of is dat overbodig?

  • Gerard 6 februari 2010 om 18:35

    Is er niemand die mij kan helpen:

    Ik krijg een foutmelding: No such file or directory. Komt dat wellicht doordat ik meerdere fotobibliotheken heb en de hoofdbibliotheek de naam “iPhoto Library (hoofd) (origineel)” heeft? Ik heb meer dan 40000 foto’s dus het zou enig effect kunnen hebben. Bij het mailprogramma is het wel gelukt en werkt het inderdaad sneller. Wie heeft een oplossing hiervoor?

  • Richard 6 februari 2010 om 19:11

    @Gerard: Open een terminal venster en type: cd gevolgd door een spatie, sleep hierna de folder van je iPhoto library vanuit OS X Finder in het zelfde Terminal venster. Hierdoor wordt automatisch het goede path ingevuld.

    Voer daarna het tweede commando uit…

  • Ronald 15 februari 2010 om 23:29

    Krijg je nog een melding van het resultaat van deze actie. Ik voer het uit en het valt mij op dat de terminal commando’s snel zijn uitgevoerd. Meteen iPhoto opgestart, het lijkt mij niet echt sneller te zijn geworden. Hoe weet ik nu zeker dat de vacuum is geslaagd?

    Ik twijfel omdat mijn iPhoto lib op een andere plaats staat, wie weet zit ik dan in de verkeerde directory dat commando uit te voeren

  • Hbazzz 25 februari 2010 om 9:13

    Bij mij werkt deze ook niet… ik raak in mijn juiste map via terminal, maar dan krijg ik onderstaande melding als ik de 2de regel uitvoer.

    for: Command not found.
    dbase: Undefined variable.

  • Albert van Ool 25 april 2010 om 20:27

    en waar kan ik dan dat programma Terrminal vinden? In mijn lijst programma’s komt dat niet voor?

  • Rik 22 oktober 2010 om 14:47

    Terminal kun je vinden in de map Hulpprogramma’s in de lijst met de ‘gewone’ programma’s.

    Ik heb het commande gekopieert en geplakt in terminal en die is nu bezig..
    Hoop dat het werkt!

  • Nils Breunese 10 december 2010 om 21:12

    Voor de gebruikers van iPhoto ’11: de SQLite-bestanden hebben in deze versie de extensie .apdb gekregen. Dit commando werkt om allebei de typen op te schonen:

    find ~/Pictures/iPhoto\ Library -name *db -exec sqlite3 {} vacuum \;

  • Richard IJzermans 10 december 2010 om 21:26

    Nils, “.apdb” is toch voor Aperture? iPhoto 11 heeft toch gewoon de DB extensie?

  • Rob 12 december 2010 om 23:10

    Super, het commando van Nils werkt prima, dank!

  • jeroen 10 oktober 2011 om 18:20

    Is er ook zoiets voor imovie?

  • jeroen 10 oktober 2011 om 19:23

    heb het gedaan maar nu is de bibliotheek niet meer compatibel iphoto,
    hoe kan ik eea weer herstellen?

Een reactie toevoegen: