我有下面的代码,它显示一个窗口,生成一个光栅图像,然后用它更新窗口内容。但是,setContent 方法很慢(有了它,我有 100% 的 1 个 cpu 核心,几乎没有 0)。
我想知道是否有什么可以有效地做我在这里所做的事情(修改底层栅格,无论如何都使用 gpu ......)。我希望能够生成带有光栅的图像,然后有效地以 ~60 fps 的速度显示它。
任何可以做得更好的建议或其他工具将不胜感激。
package main
import (
"image/color"
"math/rand"
"time"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/canvas"
)
func main() {
myApp := app.New()
w := myApp.NewWindow("Raster")
go func() {
for {
time.Sleep(time.Millisecond * 500)
raster := canvas.NewRasterWithPixels(
func(_, _, w, h int) color.Color {
return color.RGBA{uint8(rand.Intn(255)),
uint8(rand.Intn(255)),
uint8(rand.Intn(255)), 0xff}
})
w.SetContent(raster)
}
}()
w.SetFullScreen(true)
// w.Resize(fyne.NewSize(120, 100))
w.ShowAndRun()
}