{"id":37,"date":"2005-10-09T12:36:39","date_gmt":"2005-10-09T19:36:39","guid":{"rendered":"http:\/\/www.red-sweater.com\/blog\/?p=37"},"modified":"2005-10-09T12:43:15","modified_gmt":"2005-10-09T19:43:15","slug":"font-panel-sucks-the-life-out-of-interface-builder","status":"publish","type":"post","link":"https:\/\/redsweater.com\/blog\/37\/font-panel-sucks-the-life-out-of-interface-builder","title":{"rendered":"Font Panel Sucks the Life Out of Interface Builder"},"content":{"rendered":"<p>Normally I find Interface Builder to be pretty snappy. From time to time over the past few months, however, I have encountered periods of time where Interface Builder&#8217;s responsiveness has slowed to a crawl. What the heck! Could my Nib files be getting too complicated for IB&#8217;s scrappy little frame to handle? I doubted it seriously, considering the complexity of other applications whose Nib files I have known and loved.<\/p>\n<p>\nI finally traced it down to an <b>insidious<\/b>, parasitic relationship between the standard font panel and Interface Builder.\n<\/p>\n<p>\nIt seems that when the Font Panel is enabled, Interface Builder is liable to start choking on things like mouse clicks and drags. I have observed repeated delays of up to 2 or 3 seconds, just to click on a UI element in IB! And this is a on Dual 2.0Ghz G5! Pity the poor iMac user! When the Font panel goes away, responsiveness comes back 100%. If you&#8217;re just a little bit of a clutter-rat, as I am, then you&#8217;re liable to leave your Font Panel open as you forge ahead with your interface design. It never occurred to me that this might be robbing precious minutes from my work day!\n<\/p>\n<p>\nThis problem can be reproduced easily on Mac OS X 10.4.2 with Xcode 2.1 installed. Follow these steps to reproduce the problem yourself and gape in awe:<\/p>\n<ol>\n<li>Launch Interface Builder, creating a new &#8220;Cocoa Application&#8221; document.<\/li>\n<li>Observe the quickness with which you can click and change the selection between each of the 4 instance icons:\n<p><img decoding=\"async\" border=\"1\" src=\"http:\/\/www.red-sweater.com\/blog\/images\/Instances1.jpg\"\/><\/p>\n<\/li>\n<li>Press Cmd-T to bring up the Font panel.<\/li>\n<li>Resize the Instances window such that the icons rearrange. For some reason this helps reveal the problem. I don&#8217;t know if this is a caching issue or what:\n<p><img decoding=\"async\" border=\"1\" src=\"http:\/\/www.red-sweater.com\/blog\/images\/Instances2.jpg\"\/><\/p>\n<\/li>\n<li>Now try clicking between the icons again. It may take a few rounds through, but you will soon start to observe hideous delays between mouse click and selection change.<\/li>\n<li>Once you&#8217;ve observed the slowdown, close the Font panel by again pressing Cmd-T. This should return responsiveness to normal levels<\/li>\n<\/ol>\n<p>\nThis is a small demonstration of what it&#8217;s like to have this kind of delay plague your entire design session. The delay applies to anything clickable, selectable, draggable, etc., in IB. This includes all UI elements in your windows, views, etc.\n<\/p>\n<p>\nSo if you&#8217;ve been plagued by mysterious, dramatic reductions in IB responsiveness. Make sure your Font panel is closed. It may be sucking the life out of IB!\n<\/p>\n<p>\nI&#8217;d be interested to hear if any readers can or cannot reproduce this on their own machines. For now I&#8217;m assuming it&#8217;s widespread, and I&#8217;ve reported it as <a href=\"rdar:\/\/problem\/4293149\">Radar  4293149<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Normally I find Interface Builder to be pretty snappy. From time to time over the past few months, however, I have encountered periods of time where Interface Builder&#8217;s responsiveness has slowed to a crawl. What the heck! Could my Nib files be getting too complicated for IB&#8217;s scrappy little frame to handle? I doubted it [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,5],"tags":[],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-applebugfriday","category-xcode"],"_links":{"self":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":0,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"wp:attachment":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}