﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3ADingTo%2FGSoC_2014%2FWeekly_Reports%2FWeek1</id>
	<title>利用者:DingTo/GSoC 2014/Weekly Reports/Week1 - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3ADingTo%2FGSoC_2014%2FWeekly_Reports%2FWeek1"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:DingTo/GSoC_2014/Weekly_Reports/Week1&amp;action=history"/>
	<updated>2026-08-18T22:08:06Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:DingTo/GSoC_2014/Weekly_Reports/Week1&amp;diff=146827&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:DingTo/GSoC_2014/Weekly_Reports/Week1&amp;diff=146827&amp;oldid=prev"/>
		<updated>2018-06-28T21:08:12Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 21:08時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:DingTo/GSoC_2014/Weekly_Reports/Week1&amp;diff=146826&amp;oldid=prev</id>
		<title>wiki&gt;DingTo: /* What I did this week */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:DingTo/GSoC_2014/Weekly_Reports/Week1&amp;diff=146826&amp;oldid=prev"/>
		<updated>2014-05-23T11:10:46Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;What I did this week&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Week 1 =&lt;br /&gt;
&lt;br /&gt;
== Pre work ==&lt;br /&gt;
I started early with my GSoC, therefore I already worked on some of my goals.&lt;br /&gt;
* Calculate face normal on the fly: Instead of storing the face normal, we now calculate it during rendering. See commit ({{GitCommit|6d62837e5bb2}}). The performance loss is only ~1-2%, while saving quite some memory. I hope to speed this up still, but I need to find the right place inside the BVH traversal still, to check if we can calculate it there and then store it somewhere (Intersection struct?). &lt;br /&gt;
&lt;br /&gt;
* AVX2 kernel: I added an AVX2 kernel for Intel Haswell CPUs (can also be used with AMD, as soon as they support it). The AVX2 kernel makes rendering about 3-5% faster in several scenes. I tested this with clang on Mac OS with files from our test suite. The AVX2 kernel relies on AVX2, FMA3, BMI and BMI2 instruction sets, and we use some dedicated FMA3 intrinsics already in the kernel. More improvements here can probably be made, but I think it's already a solid basis. See commits ({{GitCommit|ac908f6c1f6d}}, {{GitCommit|3844b8f85c7d}} and {{GitCommit|caaf0e484da8}})&lt;br /&gt;
&lt;br /&gt;
* I also looked into Multi Lamp Sampling for Volumes, and submitted a first patch. This needs additional work for Equi-angular sampling though. https://developer.blender.org/D526&lt;br /&gt;
&lt;br /&gt;
== What I did this week ==&lt;br /&gt;
This week I spend most of the time on research and tests, but also looked into the fast inverse sqrt instructions.  &lt;br /&gt;
* Read some documentation on SIMD intrinsics and C++ code optimization, thanks to Marcos Sánchez-Dehes for pointing me to these! http://www.agner.org/optimize/&lt;br /&gt;
&lt;br /&gt;
* I looked into High-Performance timers for benchmarking purposes, but I don't have a working implementation yet. It looks like each OS might need its own implementation, e.g. QueryPerformanceCounter on Windows. Maybe there is a better solution here, some feedback on this would be appreciated! Probably I should also look into profilers, I am mainly interested in benchmarking specific code parts or a function, to see whether a change improves performance or not. &lt;br /&gt;
&lt;br /&gt;
* I started to look into fast inverse sqrt instructions. Here is a simple patch: http://pasteall.org/51827/diff Performance wise, I need to do more tests with it, but the render result is slightly different with the patch. Maybe the solution needs to be refined with one or more Newton-Raphson steps? Also it looks like we only use 1/sqrt() in the Microfacet and Ward closure code, which are not really bottlenecks afaik.&lt;br /&gt;
&lt;br /&gt;
== Next week ==&lt;br /&gt;
Continue to look into the Face Normal calculation code and start with uchar attribute support, for things like Vertex colors (to reduce memory usage). &lt;br /&gt;
&lt;br /&gt;
== Questions ==&lt;br /&gt;
See above, mainly some input about profiling would be cool. :)&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;/div&gt;</summary>
		<author><name>wiki&gt;DingTo</name></author>
		
	</entry>
</feed>