Kaynağa Gözat

[hide] Added way to disable slow scene updates when window is unfocused

Clément Espeute 1 ay önce
ebeveyn
işleme
c063c5fb80

+ 1 - 0
hide/Config.hx

@@ -28,6 +28,7 @@ typedef HideGlobalConfig = {
 
 	// Performance
 	var trackGpuAlloc : Bool;
+	var unfocusCPUSavingMode : Bool;
 
 	// CDB
 	var highlightActiveLine : Bool;

+ 1 - 1
hide/comp/Scene.hx

@@ -230,7 +230,7 @@ class Scene extends hide.comp.Component implements h3d.IDrawable {
 		if( !visible || pendingCount > 0)
 			return;
 		var dt = hxd.Timer.tmod * speed / 60;
-		if( !Ide.inst.isFocused ) {
+		if( !Ide.inst.isFocused && Ide.inst.ideConfig.unfocusCPUSavingMode ) {
 			// refresh at 1FPS
 			unFocusedTime += dt;
 			if( unFocusedTime < 1 ) return;

+ 1 - 0
hide/tools/IdeData.hx

@@ -25,6 +25,7 @@ class IdeData {
 		"trackGpuAlloc" => false,
 		"svnShowVersionedFiles" => true,
 		"svnShowModifiedFiles" => true,
+		"unfocusCPUSavingMode" => true,
 	];
 
 	public var currentConfig(get,never) : Config;

+ 1 - 0
hide/view/settings/UserSettings.hx

@@ -19,6 +19,7 @@ class UserSettings extends Settings {
 
 		var performance = new hide.view.settings.Settings.Categorie("Performance");
 		performance.add("Track gpu alloc", new Element('<input type="checkbox"/>'), Ide.inst.ideConfig.trackGpuAlloc, (v) -> Ide.inst.ideConfig.trackGpuAlloc = v);
+		performance.add("Slow scene update when not focused", new Element('<input type="checkbox"/>'), Ide.inst.ideConfig.unfocusCPUSavingMode, (v) -> Ide.inst.ideConfig.unfocusCPUSavingMode = v);
 		categories.push(performance);
 
 		var cdb = new hide.view.settings.Settings.Categorie("CDB");