<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" > <channel><title>Comments on: &#8216;Discrete&#8217; NSLevelIndicatorCell too slow</title> <atom:link href="http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/feed/" rel="self" type="application/rss+xml" /><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/</link> <description>RANDOMIZE USR 0</description> <lastBuildDate>Tue, 24 Jan 2012 20:00:16 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: schwa</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-22037</link> <dc:creator>schwa</dc:creator> <pubDate>Tue, 27 Jun 2006 14:43:47 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-22037</guid> <description>&lt;p&gt;Hey Ken,&lt;br&gt;&lt;br&gt;I took out my code and replaced it with your simple clipping fix.&lt;br&gt;&lt;br&gt;It certainly improved performance over the non-posed version but I think the caching version is still the fastest. Which is a shame, as your code is certainly cleaner and simpler.&lt;br&gt;&lt;br&gt;You can compare all three versions here: &lt;a href=&quot;http://toxic-public.googlecode.com//trunk/Misc/CachingLevelIndicator/Output/&quot;&gt;http://toxic-public.googlecode.com//trunk/Misc/...&lt;/a&gt;&lt;/p&gt; </description> <content:encoded><![CDATA[<p>Hey Ken,<br /><br />I took out my code and replaced it with your simple clipping fix.<br /><br />It certainly improved performance over the non-posed version but I think the caching version is still the fastest. Which is a shame, as your code is certainly cleaner and simpler.<br /><br />You can compare all three versions here: <a href="http://toxic-public.googlecode.com//trunk/Misc/CachingLevelIndicator/Output/">http://toxic-public.googlecode.com//trunk/Misc/&#8230;</a></p>]]></content:encoded> </item> <item><title>By: schwa</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-425</link> <dc:creator>schwa</dc:creator> <pubDate>Tue, 27 Jun 2006 13:43:47 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-425</guid> <description>&lt;p&gt;Hey Ken,&lt;/p&gt;&lt;p&gt;I took out my code and replaced it with your simple clipping fix.&lt;/p&gt;&lt;p&gt;It certainly improved performance over the non-posed version but I think the caching version is still the fastest. Which is a shame, as your code is certainly cleaner and simpler.&lt;/p&gt;&lt;p&gt;You can compare all three versions here: http://toxic-public.googlecode.com//trunk/Misc/CachingLevelIndicator/Output/&lt;/p&gt; </description> <content:encoded><![CDATA[<p>Hey Ken,</p><p>I took out my code and replaced it with your simple clipping fix.</p><p>It certainly improved performance over the non-posed version but I think the caching version is still the fastest. Which is a shame, as your code is certainly cleaner and simpler.</p><p>You can compare all three versions here: <a href="http://toxic-public.googlecode.com//trunk/Misc/CachingLevelIndicator/Output/" rel="nofollow">http://toxic-public.googlecode.com//trunk/Misc/CachingLevelIndicator/Output/</a></p>]]></content:encoded> </item> <item><title>By: ken</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-22036</link> <dc:creator>ken</dc:creator> <pubDate>Tue, 27 Jun 2006 07:52:30 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-22036</guid> <description>&lt;p&gt;I think I recognize this one..&lt;br&gt;&lt;br&gt;Try writing a subclass with this as its only implementation:&lt;br&gt;&lt;br&gt;- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {&lt;br&gt;    [NSGraphicsContext saveGraphicsState];&lt;br&gt;    NSRectClip(cellFrame);&lt;br&gt;    [super drawWithFrame:cellFrame inView:controlView];&lt;br&gt;    [NSGraphicsContext restoreGraphicsState];&lt;br&gt;}&lt;br&gt;&lt;br&gt;The issue is with CG transparency layers (see CGContextBeginTransparencyLayer).  They&#039;re a nice, clean way to a bunch of drawing, then put a shadow or a focus ring on the whole thing.  Problem is, when you composite a transparency layer, it&#039;ll do calculations over the whole clip.  It happens that when a cell is drawn in a tableview, the only clip is to the whole table.  &lt;br&gt;&lt;br&gt;That&#039;s, uh, bad.&lt;/p&gt; </description> <content:encoded><![CDATA[<p>I think I recognize this one..<br /><br />Try writing a subclass with this as its only implementation:<br /><br />- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {<br /> [NSGraphicsContext saveGraphicsState];<br /> NSRectClip(cellFrame);<br /> [super drawWithFrame:cellFrame inView:controlView];<br /> [NSGraphicsContext restoreGraphicsState];<br />}<br /><br />The issue is with CG transparency layers (see CGContextBeginTransparencyLayer).  They&#39;re a nice, clean way to a bunch of drawing, then put a shadow or a focus ring on the whole thing.  Problem is, when you composite a transparency layer, it&#39;ll do calculations over the whole clip.  It happens that when a cell is drawn in a tableview, the only clip is to the whole table. <br /><br />That&#39;s, uh, bad.</p>]]></content:encoded> </item> <item><title>By: ken</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-422</link> <dc:creator>ken</dc:creator> <pubDate>Tue, 27 Jun 2006 06:52:30 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-422</guid> <description>&lt;p&gt;I think I recognize this one..&lt;/p&gt;&lt;p&gt;Try writing a subclass with this as its only implementation:&lt;/p&gt;&lt;ul&gt; &lt;li&gt;(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { [NSGraphicsContext saveGraphicsState]; NSRectClip(cellFrame); [super drawWithFrame:cellFrame inView:controlView]; [NSGraphicsContext restoreGraphicsState]; }&lt;/li&gt; &lt;/ul&gt;&lt;p&gt;The issue is with CG transparency layers (see CGContextBeginTransparencyLayer).  They&#039;re a nice, clean way to a bunch of drawing, then put a shadow or a focus ring on the whole thing.  Problem is, when you composite a transparency layer, it&#039;ll do calculations over the whole clip.  It happens that when a cell is drawn in a tableview, the only clip is to the whole table.&lt;/p&gt;&lt;p&gt;That&#039;s, uh, bad.&lt;/p&gt; </description> <content:encoded><![CDATA[<p>I think I recognize this one..</p><p>Try writing a subclass with this as its only implementation:</p><ul><li>(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { [NSGraphicsContext saveGraphicsState]; NSRectClip(cellFrame); [super drawWithFrame:cellFrame inView:controlView]; [NSGraphicsContext restoreGraphicsState]; }</li></ul><p>The issue is with CG transparency layers (see CGContextBeginTransparencyLayer).  They&#8217;re a nice, clean way to a bunch of drawing, then put a shadow or a focus ring on the whole thing.  Problem is, when you composite a transparency layer, it&#8217;ll do calculations over the whole clip.  It happens that when a cell is drawn in a tableview, the only clip is to the whole table.</p><p>That&#8217;s, uh, bad.</p>]]></content:encoded> </item> <item><title>By: schwa</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-22035</link> <dc:creator>schwa</dc:creator> <pubDate>Tue, 27 Jun 2006 02:59:12 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-22035</guid> <description>&lt;p&gt;Anything I post in my public subversion repository is public domain unless stated overwise. Do with it what you will.&lt;br&gt;&lt;br&gt;I should make an exception for you though Chrisâ€¦ How about commercial - $1,000,000 per seat?&lt;/p&gt; </description> <content:encoded><![CDATA[<p>Anything I post in my public subversion repository is public domain unless stated overwise. Do with it what you will.<br /><br />I should make an exception for you though Chrisâ€¦ How about commercial &#8211; $1,000,000 per seat?</p>]]></content:encoded> </item> <item><title>By: Chris</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-22034</link> <dc:creator>Chris</dc:creator> <pubDate>Tue, 27 Jun 2006 02:56:09 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-22034</guid> <description>&lt;p&gt;License on your CCachingLevelIndicatorCell?&lt;/p&gt; </description> <content:encoded><![CDATA[<p>License on your CCachingLevelIndicatorCell?</p>]]></content:encoded> </item> <item><title>By: schwa</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-22033</link> <dc:creator>schwa</dc:creator> <pubDate>Tue, 27 Jun 2006 02:30:03 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-22033</guid> <description>&lt;p&gt;Thanks for the support. It shouldn&#039;t be too difficult to fix I&#039;d imagine.&lt;br&gt;&lt;br&gt;Awesome treehouse(s) by the way.&lt;/p&gt; </description> <content:encoded><![CDATA[<p>Thanks for the support. It shouldn&#39;t be too difficult to fix I&#39;d imagine.<br /><br />Awesome treehouse(s) by the way.</p>]]></content:encoded> </item> <item><title>By: corbin</title><link>http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/comment-page-1/#comment-22032</link> <dc:creator>corbin</dc:creator> <pubDate>Tue, 27 Jun 2006 02:12:29 +0000</pubDate> <guid isPermaLink="false">http://toxicsoftware.com/discrete-nslevelindicatorcell-too-slow/#comment-22032</guid> <description>&lt;p&gt;You rock for logging this bug AND putting the link into your page. More people need to do this; it will help issues like this get fixed. thanks!&lt;/p&gt; </description> <content:encoded><![CDATA[<p>You rock for logging this bug AND putting the link into your page. More people need to do this; it will help issues like this get fixed. thanks!</p>]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic
Database Caching using disk: basic
Object Caching 319/322 objects using disk: basic

Served from: toxicsoftware.com @ 2012-02-10 03:50:08 -->
