<?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: Quake 3&#8242;s Fast Inverse Square Root Function</title>
	<atom:link href="http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/</link>
	<description>Ye Olde Computer Science Blogge</description>
	<lastBuildDate>Fri, 18 Jun 2010 17:23:52 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: A beautiful function &#171; Is there life beyond the LCD screen?</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-3218</link>
		<dc:creator>A beautiful function &#171; Is there life beyond the LCD screen?</dc:creator>
		<pubDate>Wed, 06 Feb 2008 18:17:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-3218</guid>
		<description>[...] O explicatie mai simpla aici si una complexa aici. [...]</description>
		<content:encoded><![CDATA[<p>[...] O explicatie mai simpla aici si una complexa aici. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-3201</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Wed, 06 Feb 2008 00:45:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-3201</guid>
		<description>It would seem likely that either Michael Abrash or John Carmack are responsible for that bit of magic ending up in the code.  Zen of Graphics Programming by Abrash would give you great insight into how optimization like this come to be...  an amazing book I would highly recommend to any programmer who wants to go above beyond just being a code monkey.  I believe the 1st edition is available out on the net for free.</description>
		<content:encoded><![CDATA[<p>It would seem likely that either Michael Abrash or John Carmack are responsible for that bit of magic ending up in the code.  Zen of Graphics Programming by Abrash would give you great insight into how optimization like this come to be&#8230;  an amazing book I would highly recommend to any programmer who wants to go above beyond just being a code monkey.  I believe the 1st edition is available out on the net for free.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: count ludwig</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-3199</link>
		<dc:creator>count ludwig</dc:creator>
		<pubDate>Wed, 06 Feb 2008 00:24:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-3199</guid>
		<description>@James - you&#039;ve got a point. But also worth checking to see how it compares. Also it serves as an inspiration for optimizing other math functions that may be required.</description>
		<content:encoded><![CDATA[<p>@James &#8211; you&#8217;ve got a point. But also worth checking to see how it compares. Also it serves as an inspiration for optimizing other math functions that may be required.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-3195</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 05 Feb 2008 20:41:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-3195</guid>
		<description>It&#039;s neat, but it&#039;s really just Newton&#039;s method with a very good first guess.

However, on modern hardware, it&#039;s generally slower than using intrinsic FPU or SSE/SIMD inverse square root.  In 1998 (or earlier), when that was written, it was much more useful -- especially since Quake 3 ran on lower-end PC hardware as well.  But on today&#039;s PCs and consoles, it&#039;s not worth it, and in most cases actually self-defeating.

Premature optimization is the root of all evil, people, even in game programming.</description>
		<content:encoded><![CDATA[<p>It&#8217;s neat, but it&#8217;s really just Newton&#8217;s method with a very good first guess.</p>
<p>However, on modern hardware, it&#8217;s generally slower than using intrinsic FPU or SSE/SIMD inverse square root.  In 1998 (or earlier), when that was written, it was much more useful &#8212; especially since Quake 3 ran on lower-end PC hardware as well.  But on today&#8217;s PCs and consoles, it&#8217;s not worth it, and in most cases actually self-defeating.</p>
<p>Premature optimization is the root of all evil, people, even in game programming.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-3155</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Sun, 03 Feb 2008 11:52:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-3155</guid>
		<description>It goes to show that it&#039;s worthwhile spending some optimising a function that gets called a lot.  Although most standard functions (like sqrt) have been thoroughly optimised for the purely accurate, definitive case, if your application can manage with an approximation of the correct answer, you may be able to find a much faster heuristic.

I suspect the sin() cos() and tan() functions could probably benefit from the same treatment.  On the other hand, it may be much faster just to move these functions onto a dedicated chip, leaving this rather clever function as an edge-case for people with inadequate hardware.

Although you weren&#039;t able to find any visual difference between the normal sqrt function and this one when viewing its results in Quake 3 it would be very interesting to see the difference in fps or cpu time for the two functions.  How much difference does this function make to the apparent speed of the game ?</description>
		<content:encoded><![CDATA[<p>It goes to show that it&#8217;s worthwhile spending some optimising a function that gets called a lot.  Although most standard functions (like sqrt) have been thoroughly optimised for the purely accurate, definitive case, if your application can manage with an approximation of the correct answer, you may be able to find a much faster heuristic.</p>
<p>I suspect the sin() cos() and tan() functions could probably benefit from the same treatment.  On the other hand, it may be much faster just to move these functions onto a dedicated chip, leaving this rather clever function as an edge-case for people with inadequate hardware.</p>
<p>Although you weren&#8217;t able to find any visual difference between the normal sqrt function and this one when viewing its results in Quake 3 it would be very interesting to see the difference in fps or cpu time for the two functions.  How much difference does this function make to the apparent speed of the game ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nate</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-3113</link>
		<dc:creator>Nate</dc:creator>
		<pubDate>Sat, 02 Feb 2008 05:33:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-3113</guid>
		<description>WHOA, this is like... wow...

I will &#039;for sure&#039; be using this.</description>
		<content:encoded><![CDATA[<p>WHOA, this is like&#8230; wow&#8230;</p>
<p>I will &#8216;for sure&#8217; be using this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Vincent</title>
		<link>http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/comment-page-1/#comment-2912</link>
		<dc:creator>Chris Vincent</dc:creator>
		<pubDate>Mon, 28 Jan 2008 06:22:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakevoytko.com/blog/2008/01/28/quake-3s-fast-square-root-function/#comment-2912</guid>
		<description>It&#039;s quite amazing the amount of work that goes into some of these games... who would have ever thought that someone would think of re-inventing the square root function just to make a game faster? 

I know i wouldn&#039;t, but i&#039;m not a game developer.</description>
		<content:encoded><![CDATA[<p>It&#8217;s quite amazing the amount of work that goes into some of these games&#8230; who would have ever thought that someone would think of re-inventing the square root function just to make a game faster? </p>
<p>I know i wouldn&#8217;t, but i&#8217;m not a game developer.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
