In het laatste deel van het drieluik over de Developer Tools wordt ingegaan op de minder voor de handliggende gereedschappen die mee worden geleverd: Quartz Composer, AU Lab, Core Image Fun House, BigTop, Spin Control en Thread Viewer. Elk van deze programma’s is terug te vinden na installatie van de Developer Tools vanaf je Mac OS X Tiger of Leopard schijf. Deze set van gereedschappen is allesomvattend voor vrijwel elk type programmeur.

Met de introductie van Mac OS X introduceerde Apple de zogenaamde Quartz technologie├źn, bestaande uit Quartz 2D en de Quartz Compositor. Deze twee systeemonderdelen zorgen voor de beeldverwerking van Mac OS X, waar Quartz 2D de tekenbibliotheek is voor interface elementen, en Quartz Compositor de laag tussen het systeem en de videokaart representeert. Waarom dit interessant is? Daar kom je pas achter als je Quartz Composer opstart. Quartz Composer is een applicatie waarin je visueel kunt programmeren. Dit wordt een node-gebaseerde applicatie genoemd, je kiest elementen en plaatst die op het projectcanvas. Wanneer je een set elementen hebt, verbindt je de input en output hiervan met elkaar, waardoor je een set beelden op je scherm kunt weergeven.

developertools32

Quartz Composer kan overweg met verschillende soorten inkomende bronnen, zoals RSS-feeds of bijvoorbeeld een joystick of gamepad. Oorspronkelijk is Quartz Composer als VJ-applicatie ontwikkeld, voordat Apple het overnam, je kan hier bijvoorbeeld sporen van terug vinden in het programma Quartz Composer Visualizer, wat een Quartz Composer-project over een netwerkapparaat of externe monitor kan weergeven.

Als je aan audiosoftware werkt op je Mac, dan is het programma AU Lab eigenlijk onmisbaar. Dit is een programma wat je kunt gebruiken om een net geschreven Audio Unit in te testen. Je hoeft dan niet Logic of Ableton Live op te starten, en te wachten totdat je Audio Unit is ingeladen. Een Audio Unit is een plugin die in meerdere programma’s op Mac OS X te gebruiken is. Door de dichte integratie met Apples Core Audio is het helaas niet mogelijk een Audio Unit uit te wisselen met bijvoorbeeld een Windows of Linux gebruiker. Het programma biedt veel statistieken zoals de vertragingen van audiosignalen, en hoe deze ontstaan als je meerdere Audio Units aan elkaar koppelt. Tevens biedt het programma een uitgebreide mixer, en is in staat multimediabestanden af te spelen. Je komt dus niets te kort vergeleken bij een volwaardige audio gerelateerd programma.

Core Image Fun House is eigenlijk voor afbeeldingen met Quartz Filter, wat AU Lab is voor Audio Units. Het is een programma waarmee je gemakkelijk alle geregistreerde filters kunt testen, om te kijken wat jouw filter doet met een afbeelding of welke filter het meest geschikt is voor een bepaalde toepassing.

Onder UNIX systemen gebruikt men het programma Top om bepaalde statistieken van het systeem te bekijken, zoals processor- en geheugengebruik voor een bepaald proces. Binnen de Developer Tools wordt het programma Big Top meegeleverd, een grafische schil rondom het gereedschap Top. Dit programma is goed te gebruiken als je niet de details van Shark of Instruments nodig hebt, en snel wilt bekijken of de systeembelasting in het gareel blijft. Onder de kleine maar nuttige programma’s vinden we ook Spin Control, speciaal ontwikkeld om te achterhalen waarom je systeem aan het ‘strandballen’ is. Het programma leest uit het systeem welk proces de systeemkernel vertraagt, en houdt hier uitgebreide details voor bij. Hieronder vind je een voorbeeld van het moment waarop Quartz Composer even bleef hangen, je kunt zien dat elke functieaanroep aangeeft waar hij mee bezig is geweest en hoe lang. Je kunt dan beoordelen of dit te lang is.

developertools31

Als laatste in dit artikel bespreken we Thread Viewer, een programma om te achterhalen wat voor threads een applicatie gebruikt, en met welk doel. Een thread is een opsplitsing van uitvoerbare code, waardoor een programma meerdere bewerkingen parallel aan elkaar kan uitvoeren op de processor. Dit heeft vaak een grote snelheidswinst ten gevolge, maar door de complexiteit maak je vrij snel fouten. Een kleine fout kan je hele applicatie laten vast lopen, daarom is het heel belangrijk om goed te kunnen uitzoeken waar het precies misgaat. Thread Viewer is een kleine parel, en versnelt de nachtelijke uren die menig programmeur kwijt is aan het opsporen van de geslaagde en mislukte acties van zijn threads.

Gezien dit het laatste artikel is in de serie, wil ik jullie vragen of alles duidelijk is en vooral of het nuttig is en je aanspoort je meer te verdiepen in deze set van gereedschappen. Vragen over de inhoud van de artikelen of andere gerelateerde onderwerpen beantwoord ik graag in de reacties op dit artikel.

Content written by Martijn de Boer. All content here may be quoted, linked to or summarized when linking to the original materials.