<?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: Optimized Asset Processing</title>
	<atom:link href="http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/feed/" rel="self" type="application/rss+xml" />
	<link>http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/</link>
	<description>Game Development and General Hacking by the Old West</description>
	<lastBuildDate>Tue, 20 Jul 2010 15:03:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: kotiteatteri</title>
		<link>http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/comment-page-1/#comment-107764</link>
		<dc:creator>kotiteatteri</dc:creator>
		<pubDate>Mon, 04 May 2009 06:50:48 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/#comment-107764</guid>
		<description>I liked the write bad code idea. You&#039;ll never have time to do everything and it&#039;s sometimes reasonable to write bad code to acchieve what your goals are. Can you actually publish articles that are published in magazine on this web site.</description>
		<content:encoded><![CDATA[<p>I liked the write bad code idea. You&#8217;ll never have time to do everything and it&#8217;s sometimes reasonable to write bad code to acchieve what your goals are. Can you actually publish articles that are published in magazine on this web site.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scientific Ninja</title>
		<link>http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/comment-page-1/#comment-82768</link>
		<dc:creator>Scientific Ninja</dc:creator>
		<pubDate>Fri, 06 Feb 2009 05:02:32 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/#comment-82768</guid>
		<description>[...] ways to alleviate those bottlenecks. This can happen on the large scale &#8212; writing tools that automate large, cumbersome processes that used to be entirely manual &#8212; or on a smaller scale. Even improving the usability of an [...]</description>
		<content:encoded><![CDATA[<p>[...] ways to alleviate those bottlenecks. This can happen on the large scale &#8212; writing tools that automate large, cumbersome processes that used to be entirely manual &#8212; or on a smaller scale. Even improving the usability of an [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emmanuel Deloget</title>
		<link>http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/comment-page-1/#comment-324</link>
		<dc:creator>Emmanuel Deloget</dc:creator>
		<pubDate>Tue, 13 Mar 2007 18:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://cowboyprogramming.com/2007/03/12/optimized-asset-processing/#comment-324</guid>
		<description>I tried to remember the good old days when I was working for the game industry. We had very simple preprocessing tools (mostly for the PS1 version of our game: reorder vertices, pack models and textures and so on). Most of these tools were written with Quick Hack Mode set to ON - that turned to be a bad idea. The artists often had to wait to see their assets in the game itself. Of course, that allowed them to work on another asset, but this is not a good thing in the end - it doesn&#039;t help to keep focus, and lengthen the asset tuning process. 

So I completely agree with this article - and that&#039;s a &quot;been there, done that&quot; kind of agreement. 

Strangely enough, I&#039;m not sure that my opinion is of much interest. 

Regarding file access and memory management, you stressed the reading part of it. The writing part is at least as important - if the asset processing tools never write anything, that&#039;s not going to help a lot - and techniques that are similar to those you presented can be used as well. 

About multi-processing, it&#039;s true that many tasks can be parallelized. If you have to process many models to create an archive, it&#039;s probably a good idea to create a thread for each model (up to twice the core count, for esxample). The idea is to try to use 100% of the CPU time. Don&#039;t hesitate to play with thread priority as well - there&#039;s no need to process the assets at the normal thread priority. Boosting it (say, to a high priority thread) can help a lot and is very easy. This can be changed using a command-line argument if the user of the machine needs to perform other tasks as well. 

There are many ways to make the asset pipeline more efficient. Use them all - because having to wait for some assets to try a feature is just plain dull and unproductive. 

Best regards,

-- Emmanuel Deloget</description>
		<content:encoded><![CDATA[<p>I tried to remember the good old days when I was working for the game industry. We had very simple preprocessing tools (mostly for the PS1 version of our game: reorder vertices, pack models and textures and so on). Most of these tools were written with Quick Hack Mode set to ON &#8211; that turned to be a bad idea. The artists often had to wait to see their assets in the game itself. Of course, that allowed them to work on another asset, but this is not a good thing in the end &#8211; it doesn&#8217;t help to keep focus, and lengthen the asset tuning process. </p>
<p>So I completely agree with this article &#8211; and that&#8217;s a &#8220;been there, done that&#8221; kind of agreement. </p>
<p>Strangely enough, I&#8217;m not sure that my opinion is of much interest. </p>
<p>Regarding file access and memory management, you stressed the reading part of it. The writing part is at least as important &#8211; if the asset processing tools never write anything, that&#8217;s not going to help a lot &#8211; and techniques that are similar to those you presented can be used as well. </p>
<p>About multi-processing, it&#8217;s true that many tasks can be parallelized. If you have to process many models to create an archive, it&#8217;s probably a good idea to create a thread for each model (up to twice the core count, for esxample). The idea is to try to use 100% of the CPU time. Don&#8217;t hesitate to play with thread priority as well &#8211; there&#8217;s no need to process the assets at the normal thread priority. Boosting it (say, to a high priority thread) can help a lot and is very easy. This can be changed using a command-line argument if the user of the machine needs to perform other tasks as well. </p>
<p>There are many ways to make the asset pipeline more efficient. Use them all &#8211; because having to wait for some assets to try a feature is just plain dull and unproductive. </p>
<p>Best regards,</p>
<p>&#8211; Emmanuel Deloget</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 2.672 seconds -->
