<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>My blue cones are slower than my red cones</title>
		<link>http://www.allegro.cc/forums/view/591749</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 08 Jun 2007 15:24:17 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I made <a href="http://www.allegro.cc/forums/thread/591703/676879#target">this demo program</a> and noticed that the blue circle looks a bit strange. It looks like there are some white pixels between the black outline and the blue area. My first thought was that the blue cones in the retina are slower than the red ones. But this is probably a hardware thing. I have a lcd screen. And no, the circle() and circlefill() are not two separate steps with a screen refresh inbetween. I use a buffer.</p><p>But the topic sounds more interesting this way and gets your attention to my demo! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Tue, 05 Jun 2007 12:03:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There aren&#39;t any white pixels in the blue circle...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Tue, 05 Jun 2007 15:54:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, not in the screenshot. But when one looks at the moving circles, one can see something white between the black (cutting) edge and the blue surface.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Tue, 05 Jun 2007 17:12:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I haven&#39;t looked at your source code but it sounds like you&#39;re possibly seeing the delay between a pixel on your LCD going from the colour of the circle back to white. If you have a manual for your monitor, you might be able to read up what it&#39;s &quot;Response Time&quot; is, which is the maximum amount of time it will take for a pixel to go from full black to full white or vice versa.</p><p>Fun fact: Most active matrix LCD&#39;s are darker when showing black than when a pixel is simply off, which can look very weird given the right lighting conditions and changes in pixel colour. It&#39;s part of the reason I&#39;m not a big fan of LCD.</p><p>One way to check this would be to manually slow down all the circles so that they don&#39;t move every single screen refresh. Another would be to run all the circles side by side.</p><p>Your monitor settings may also play a role in this, such as colour temperature settings and contrast. (Since contrast on LCD&#39;s is usually a change in signal interpretation rather than an actual contrast level change in the pixels themselves like in a CRT.)</p><p>LCD&#39;s are weird like that. And just so you know, the bigger or older your LCD, the longer the response time will be.</p><p>--- Kris Asick (Gemini)<br />--- <a href="http://www.pixelships.com">http://www.pixelships.com</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Tue, 05 Jun 2007 22:17:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And whatever age your CRT is (in about the last 10 years), it will still be better quality than any LCD available. I mean &#39;response times&#39; (which don&#39;t exist in CRT&#39;s), colour bleed (which is only really there in massive resolutions), and contrast ratio of two adjacent pixels.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Wed, 06 Jun 2007 17:24:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Try drawing at integer positions and don&#39;t allow float positions, that should fix your problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Epsi)</author>
		<pubDate>Wed, 06 Jun 2007 21:35:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I mean &#39;response times&#39; (which don&#39;t exist in CRT&#39;s)
</p></div></div><p>

Although that&#39;s wrong, response times with CRTs are so fast that no one notices. Low end CRT monitors at least 15 years old have response times between 10 and 20 ms. Newer CRT monitors have response times of 5 ms or less. The average LCD nowadays has a response time between 10 and 50 ms depending on size and make, but back when CRTs had similar response times, LCDs had response times well over 500 ms! (That means it took over half a second for a pixel to change from full white to full black!)</p><p>DLP doesn&#39;t have a response time due to its nature. (I don&#39;t think it does anyways...) Plasma I don&#39;t know the response times of but I&#39;m pretty sure its better than LCD.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Try drawing at integer positions and don&#39;t allow float positions, that should fix your problem.
</p></div></div><p>

That is a horrible suggestion. The only real issue with drawing to floating point coordinates is that you have to floor() or ceil() all coordinates to avoid rounding errors when going from -1.0f to 1.0f. Other than that, there&#39;s absolutely no reason to switch from floating point coordinates to integers unless you desire a headache. (Maybe back when FPUs weren&#39;t default in processors and integer math was faster, but that&#39;s not a valid reason anymore.)</p><p>--- Kris Asick (Gemini)<br />--- <a href="http://www.pixelships.com">http://www.pixelships.com</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Thu, 07 Jun 2007 02:12:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are you sure about those numbers? Aren&#39;t LCD monitor response time more in the range of 2-10 ms?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Thu, 07 Jun 2007 02:22:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>For the upper end.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (relpatseht)</author>
		<pubDate>Thu, 07 Jun 2007 02:40:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My LCD claims a response time of 4ms.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Thu, 07 Jun 2007 02:46:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Same here, and it was about 250€ (19&quot;).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Thu, 07 Jun 2007 02:54:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>4ms is only within a specific range. Consider it a non-linear weighted average. You&#39;ll find the black to white times in particular are a lot longer than that.. but the white to black should be similar. I believe different colours also have different IV curves and response times. </p><p>Also LCD&#39;s don&#39;t show dark colours well.. because of the, lets call it, power on current. It can&#39;t really &quot;dim&quot; enough to get a good range.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Thu, 07 Jun 2007 07:16:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Most LCD monitors response time aren&#39;t a usefull number. They could mean anything.</p><p>As for black level, your average CCFL backlit LCD is going to have some rather bad contrast, and worse black level. The time of the LED backlit LCD is come! Its contrast and black level are superb. Color reproduction is a lot better too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Thu, 07 Jun 2007 07:24:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m part of a medical imaging research lab.. lcd&#39;s are known to offer really crappy contrast esp compared to medical film. There&#39;s a company here locally that a few people in the lab were involved with, that are trying to make HDR screens. Really though, its a hack, and is completely software processed but works very surprisingly well. I really cannot wait until we have true HDR, which means at least 12-bit per channel <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Thu, 07 Jun 2007 07:42:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
That is a horrible suggestion. The only real issue with drawing to floating point coordinates is that you have to floor() or ceil() all coordinates to avoid rounding errors when going from -1.0f to 1.0f. Other than that, there&#39;s absolutely no reason to switch from floating point coordinates to integers unless you desire a headache. (Maybe back when FPUs weren&#39;t default in processors and integer math was faster, but that&#39;s not a valid reason anymore.)
</p></div></div><p>

When I said integer coordinates I meant floor() ( == (int) ) the coordinates when drawing on screen.</p><p>Here&#39;s why (This is a quote from Shawn Hargreaves from my thread here: <a href="http://forums.xna.com/thread/8432.aspx">http://forums.xna.com/thread/8432.aspx</a> about a similar problem)</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
This isn&#39;t a bug, it&#39;s just the way graphics works.</p><p><b>Fundamentally, there is no such thing as drawing to a fractional pixel location. Either you draw to a pixel, or you don&#39;t. Pixels are discrete, integer things.</b></p><p>When you ask for a fractional position, the graphics card emulates this by filtering your texture. It can&#39;t actually draw values from your texture to half way in between two screen pixels, but it can draw to a single screen pixel using a value that it computes by filtering from half way in between two pixels of your texture.</p><p>Usually this is a good thing because it makes everything appear to move with sub-pixel accuracy. It&#39;s particularly important for making 3D rendering look good.</p><p>Other times, though, you might not want this filtering. A prime example being if your texture actually contains several different images arranged next to each other: in that case you will get visual errors if the card tries to filter past the edge of one image to include data from the next one along.</p><p>Solution: if you don&#39;t want filtering, don&#39;t draw at sub-pixel positions. Round your coordinates to integers before you draw the sprite.
</p></div></div><p>

So perhaps my &quot;horrible suggestion&quot; makes sense. <img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" /> (that is if Allegro does the same kind of texture filtering as GPUs)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Epsi)</author>
		<pubDate>Thu, 07 Jun 2007 12:14:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It doesn&#39;t.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Thu, 07 Jun 2007 13:03:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The 3D space (entirely floating point) is projected onto a 2D plane. Sampling is done to pick pixels out from that space (with the interpolation going here.. might be wrong here gurus?). Undersampling causes aliasing (shannon-nyquist information theory.. # samples &gt;= 2 times the peak frequency). Anti-aliasing and texture filtering are really clever ways of dealing with this.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Thu, 07 Jun 2007 13:19:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code"><span class="k1">void</span> <a href="http://www.allegro.cc/manual/putpixel" target="_blank"><span class="a">putpixel</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bmp, <span class="k1">int</span> x, <span class="k1">int</span> y, <span class="k1">int</span> color<span class="k2">)</span><span class="k2">;</span></span><br />No way the GPU can get any info about fractions through that function if you pass floats as x and y. Maybe in a future compiler...</p><p><tt>

graphix.cpp:154: warning: float passed as argument 2 and 3 in function putpixel(BITMAP*,
             int, int, int). Function overridden and floats passed instead
             directly to your fashion GPU!</tt>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Thu, 07 Jun 2007 14:58:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>CRT&#39;s do not have response times.<br />It takes exactly the same amount of time to change a pixel from black to white as it does to keep it white.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Thu, 07 Jun 2007 15:45:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><s>And the world is flat! Don&#39;t believe anything the <i>man</i> tells you! :D

Seriously; please explain.</s></p><p>EDIT: ignore me, i thought you said LCD <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Thu, 07 Jun 2007 17:09:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What&#39;s there to explain?<br />A CRT works differently to an LCD.<br />A beam moves back and forth and up and down throwing light at the screen. Once the light&#39;s been sent, the only reason it &#39;stays there&#39; is because your eyes think it does. Therefore, the only time it takes to change is the time it takes light to reach your eyes.</p><p>Unless I&#39;m very much mistaken and the big lump on the back is not full of magnets and is in fact just a weight.</p><p>EDIT:<br />Btw, the world <i>could</i> be flat. Nobody has proved nothing.<br />It <i>could</i> just be an illusion and there are actually teleporters at each end of the world (in the style of Asteroids). Looking at it with telescopes, the light is also teleported to make it appear round.</p><p>EDIT2:<br />Not that I believe in anything so crass as &#39;matter&#39;. It&#39;s <i>all</i> just an illusion AFAIAC. I should probably go now...<br />Tin foil hat needs repairing.<br />I think a hole has appeared in the shoes too... <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /><br />(Only joking about the tin foil suit)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Thu, 07 Jun 2007 17:18:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">James Stanley said:</div><div class="quote"><p>
CRT&#39;s do not have response times.<br />It takes exactly the same amount of time to change a pixel from black to white as it does to keep it white.
</p></div></div><p>
They do have refresh rates though, which is what he&#39;s comparing (i.e. in this context, response time is simply (refresh rate)<sup>-1</sup>). Not that I&#39;ve ever seen a consumer-grade 200 Hz CRT, but still.</p><div class="quote_container"><div class="title">James Stanley said:</div><div class="quote"><p>
A beam moves back and forth and up and down throwing light at the screen. Once the light&#39;s been sent, the only reason it &#39;stays there&#39; is because your eyes think it does.
</p></div></div><p>
Almost. First off, the beam is not throwing light but electrons. It&#39;s only when they strike the phosphor that light (and X-rays!) are given off. Second, the phosphor has a quite significant memory effect (the glow persistence varies with the compound(s) used) - if it didn&#39;t, the refresh rate required to avoid perceptible flicker would be <i>enormous</i>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Thu, 07 Jun 2007 17:38:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Really though, its a hack, and is completely software processed but works very surprisingly well. I really cannot wait until we have true HDR, which means at least 12-bit per channel
</p></div></div><p>
Can you explain a bit more about this? It sounds interesting!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Thu, 07 Jun 2007 17:44:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
The phosphor has a quite significant memory effect.
</p></div></div><p>Have you seen CRT on films? The flicker you see there is caused by the phosphor loosing its &quot;memory&quot;. Sure, the pixels shine a bit longer than the time they were illuminated by the ray but not for too long. I&#39;d say at most 20-40% of the CRT screen is illuminated at all times. It is our eyes that have hard time registering so fast brightness changes <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>[edit]</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I really cannot wait until we have true HDR, which means at least 12-bit per channel <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />
</p></div></div><p>Have you heard of [url=<a href="http://www.dolby.com/promo/hdr/technology.html]this[/url">http://www.dolby.com/promo/hdr/technology.html]this[/url</a>]? They claim contrast ratio &gt; 200,000:1 and 16 bits per color though I have no idea if it really is that much or is this simply some kind of marketing talk and it comes down to the same thing as 2ms LCDs
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Thu, 07 Jun 2007 17:44:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>They still have a significant duty cycle, with τ measured in milliseconds.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Thu, 07 Jun 2007 17:48:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dolby purchased brightside.. so same thing. It&#39;s a local company here in vancouver.</p><p>If i remember from the tech demo (i wasn&#39;t there but someone in lab who was, talked about it, and this was almost a year ago i think), They basically ripped out the back of an lcd, and created some sort of modulated led background. The front of an lcd is basically made transistors that either allow light to pass through or not. In normal monitors there is a single light source that stays constant with &quot;monitor brightness&quot; across the whole plane. In this version the light sources can turn on and off. I believe this still has the issue of fine grained performance of the front of the monitor, but the black range in particular has a much better. I&#39;m not sure about performance in terms of switching on and off but i&#39;d suspect that it would be slightly slower. I&#39;m also not sure how fine grained the back led&#39;s are. Quite large IIRC. </p><p>Since no video cards or media actually come in hdr (8bpp currently), they basically use software tricks to try and convert signals to it. THis will work wonders with medical imaging because lcd&#39;s give piss poor contrast ratios. Film is still better in that regard. But with medical imaging we do get datasets that are 12bit sometimes. In fact... my data all comes in floating point. As of today we have the data to display and practical uses (people are willing to pay big bucks for medical stuff). It will be quite a while longer though till cameras and video change. CCD&#39;s just aren&#39;t there yet and it&#39;ll clearly be a while till there is a commercial market.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goalie Ca)</author>
		<pubDate>Thu, 07 Jun 2007 23:11:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I built some remote-diagnostic software for a company that serviced medical equipment (CT scanners, etc). As part of the diagnostics, the technicians needed to see the gray scale images because it was the easiest way for them to tell if something was wrong.</p><p>A lot of times the images were in 12-bit gray scale data, but of course I had to convert them to 8-bit PNGs for use in web browsers. They never complained about the quality, but I suppose it&#39;s what they were use to seeing. (That is, I doubt the technicians looked at the printed copies.)</p><p>But regarding LCD&#39;s... I&#39;d take them over CRT any day. CRT&#39;s look so fuzzy to me, and any refresh rate less than 85Hz gives me headaches. I can noticeably see the refresh on anything less, although not nearly as pronounced as what you see on TV.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Thu, 07 Jun 2007 23:22:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My eyes were always sore when I had my CRT, and I could notice a difference in sharpness and image quality when I got on my laptop. Now that I have an LCD for my main computer, my eyes are never sore, and everything looks so much better.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Thu, 07 Jun 2007 23:31:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, the CRT is brighter and has therefore better contrast. And therefore irritates your eyes more. It&#39;s not fun to watch a better screen with hurting eyes. In the end you don&#39;t win.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Fri, 08 Jun 2007 03:31:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Jesus...<br />Did you guys not see the brightness knob...?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Fri, 08 Jun 2007 15:24:17 +0000</pubDate>
	</item>
</rss>
