From 35778a4ddc1ebf022190192c08492ca3c3d4080f Mon Sep 17 00:00:00 2001 From: Cyberhan123 <255542417@qq.com> Date: Thu, 11 Jan 2024 18:02:53 +0800 Subject: [PATCH] fix spawning powershell need hide window --- embed_windows.go | 7 +++++++ sd.go | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/embed_windows.go b/embed_windows.go index c1dec4c..f685380 100644 --- a/embed_windows.go +++ b/embed_windows.go @@ -11,6 +11,7 @@ import ( "log" "os/exec" "strings" + "syscall" "golang.org/x/sys/cpu" ) @@ -102,6 +103,12 @@ func NewGPU() (*GPU, error) { $graphicsArray | ConvertTo-Json `) + cmd.SysProcAttr = &syscall.SysProcAttr{ + HideWindow: true, + //https://learn.microsoft.com/en-us/windows/win32/procthread/process-creation-flags + CreationFlags: 0x08000000, + } + output, err := cmd.CombinedOutput() if err != nil { return nil, err diff --git a/sd.go b/sd.go index 65010ed..807e356 100644 --- a/sd.go +++ b/sd.go @@ -257,8 +257,17 @@ func (sd *Model) ImagePredict(reader io.Reader, prompt string, params FullParams func (sd *Model) UpscaleImage(reader io.Reader, esrganPath string, upscaleFactor uint32, writer io.Writer) error { if sd.upscalerCtx == nil { + sd.esrganPath = esrganPath sd.upscalerCtx = sd.csd.NewUpscalerCtx(esrganPath, sd.options.Threads, sd.options.Wtype) } + + if sd.esrganPath != esrganPath { + if sd.upscalerCtx != nil { + sd.csd.FreeUpscalerCtx(sd.upscalerCtx) + } + sd.upscalerCtx = sd.csd.NewUpscalerCtx(esrganPath, sd.options.Threads, sd.options.Wtype) + } + decode, _, err := image.Decode(reader) if err != nil { return err