<p dir="auto">I'm on webgl_postprocessing_outline.html line 241 added</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const parameters = {

format: THREE.RGBFormat

};

const size = renderer.getDrawingBufferSize( new THREE.Vector2() );

const renderTarget = new THREE.WebGLMultisampleRenderTarget( size.width, size.height, parameters );

composer = new EffectComposer( renderer,renderTarget );"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">parameters</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span>

<span class="pl-c1">format</span>: <span class="pl-c1">THREE</span><span class="pl-kos">.</span><span class="pl-c1">RGBFormat</span>

<span class="pl-kos">}</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-s1">size</span> <span class="pl-c1">=</span> <span class="pl-s1">renderer</span><span class="pl-kos">.</span><span class="pl-en">getDrawingBufferSize</span><span class="pl-kos">(</span> <span class="pl-k">new</span> <span class="pl-c1">THREE</span><span class="pl-kos">.</span><span class="pl-c1">Vector2</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-s1">renderTarget</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-c1">THREE</span><span class="pl-kos">.</span><span class="pl-c1">WebGLMultisampleRenderTarget</span><span class="pl-kos">(</span> <span class="pl-s1">size</span><span class="pl-kos">.</span><span class="pl-c1">width</span><span class="pl-kos">,</span> <span class="pl-s1">size</span><span class="pl-kos">.</span><span class="pl-c1">height</span><span class="pl-kos">,</span> <span class="pl-s1">parameters</span> <span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-s1">composer</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-v">EffectComposer</span><span class="pl-kos">(</span> <span class="pl-s1">renderer</span><span class="pl-kos">,</span><span class="pl-s1">renderTarget</span> <span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">code<br>
It will cause problems similar to delay effect.<br>
R134 does not have this problem</p>
<p dir="auto">A clear and concise description of what you expected to happen.</p>
<p dir="auto"><strong>Screenshots</strong></p>
<p dir="auto">If applicable, add screenshots to help explain your problem (drag and drop the image).</p>
<p dir="auto"><strong>Platform:</strong></p>
<ul dir="auto">
<li>Device: [Desktop, Mobile]</li>
<li>OS: [Windows, MacOS, Linux, Android, iOS]</li>
<li>Browser: [Chrome, Firefox, Safari, Edge]</li>
<li>Three.js version: [dev, r135]<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/26533053/144235937-92070a21-b00b-4a5f-8742-1a67b1c70625.jpg"><img src="https://user-images.githubusercontent.com/26533053/144235937-92070a21-b00b-4a5f-8742-1a67b1c70625.jpg" alt="5dm1qxlnoz3igrt79d43kxi66_0" style="max-width: 100%;"></a></li>
</ul>
<p dir="auto">Because <a href="https://github.com/mrdoob/three.js/blob/27811881f61e647ae2b8b009e3032f62739c2c25/examples/js/loaders/GLTFLoader.js#L2009">GLTFParser.prototype.loadTexture</a> passes an Object URL to <code class="notranslate">loader.load</code>, the image is added to THREE.Cache with an Object URL (a random UUID string each time) as the key.</p>
<p dir="auto">After loading the same .glb file three times, THREE.Cache.files will look like:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="blob://96EC1B8D-B513-4858-A051-EDE713598B4C
blob://FCDAAA03-9C00-467C-B3FF-C230551A8C92
blob://ABDE21C5-F197-4108-B1CA-CF874BEC125A"><pre class="notranslate"><code class="notranslate">blob://96EC1B8D-B513-4858-A051-EDE713598B4C
blob://FCDAAA03-9C00-467C-B3FF-C230551A8C92
blob://ABDE21C5-F197-4108-B1CA-CF874BEC125A
</code></pre></div>
<p dir="auto">Each time, the data is converted from an ArrayBuffer again, e.g.:</p>
<p dir="auto"><code class="notranslate">source.bufferView -&gt; Blob -&gt; URL.createObjectURL -&gt; loader.load</code></p>
<p dir="auto">What if the image could instead be cached with a key representing the source .glb file + a "fragment" if the image filename is known? e.g.:</p>
<p dir="auto"><code class="notranslate">path/to/scene.glb#embedded-texture-image.jpg</code></p>
<p dir="auto">Then there would not be duplicate cache entries for the same image.</p>
<p dir="auto">Demo:<br>
<a href="https://codepen.io/audionerd/pen/bZodea" rel="nofollow">https://codepen.io/audionerd/pen/bZodea</a></p>
<p dir="auto">A similar issue happens with embedded data uris in GLTF files where cache key is the full data URI (e.g.: <code class="notranslate">data:image/png;base64,iVBORw0KGg....</code>). Cache works, but the key is very long.</p>
<h5 dir="auto">Three.js version</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Dev</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> r102</li>
</ul>
<h5 dir="auto">Browser</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Chrome</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Firefox</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Internet Explorer</li>
</ul>
<h5 dir="auto">OS</h5>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> All of them</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Windows</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> macOS</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Linux</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Android</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> iOS</li>
</ul>