소스 검색

Fix EffectComposer memory problem

Daosheng Mu 10 년 전
부모
커밋
cd5e9888d5
2개의 변경된 파일5개의 추가작업 그리고 7개의 파일을 삭제
  1. 4 6
      examples/js/postprocessing/EffectComposer.js
  2. 1 1
      src/renderers/WebGLRenderer.js

+ 4 - 6
examples/js/postprocessing/EffectComposer.js

@@ -117,7 +117,9 @@ THREE.EffectComposer.prototype = {
 
 
 		}
 		}
 
 
+		this.renderTarget1.dispose();
 		this.renderTarget1 = renderTarget;
 		this.renderTarget1 = renderTarget;
+		this.renderTarget2.dispose();
 		this.renderTarget2 = renderTarget.clone();
 		this.renderTarget2 = renderTarget.clone();
 
 
 		this.writeBuffer = this.renderTarget1;
 		this.writeBuffer = this.renderTarget1;
@@ -127,12 +129,8 @@ THREE.EffectComposer.prototype = {
 
 
 	setSize: function ( width, height ) {
 	setSize: function ( width, height ) {
 
 
-		var renderTarget = this.renderTarget1.clone();
-
-		renderTarget.width = width;
-		renderTarget.height = height;
-
-		this.reset( renderTarget );
+		this.renderTarget1.setSize( width, height );
+		this.renderTarget2.setSize( width, height );
 
 
 	}
 	}
 
 

+ 1 - 1
src/renderers/WebGLRenderer.js

@@ -697,7 +697,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 		}
 		}
 
 
-		properties.delete( renderTargetProperties );
+		properties.delete( renderTarget );
 
 
 	}
 	}