在桌面上使用 Compose 的启动程序非常滞后 Linux

starter program with Compose on desktop very lagging on Linux

我刚刚使用 Intellij 启动了一个桌面项目,使用默认生成的代码构建,运行 它在 Linux 上运行,并且运行良好。然后我为按钮文本添加了一个计数器变量(如下所示),它也像以前一样 运行 。但是当我点击按钮时,对点击的反应文本的变化需要长达 10 秒的时间。想知道哪里出了问题。

我是运行Xubuntu 22.04.

@Composable
@Preview
fun App() {
    var text by remember { mutableStateOf("Hello, World!") }
    var ic by remember { mutableStateOf(0) }
    MaterialTheme {
        Button(onClick = {
            ic++
            text = "Hello, Desktop! $ic"
        }) {
            Text(text)
        }
    }
}

fun main() = application {
    Window(onCloseRequest = ::exitApplication) {
        App()
    }
}

我的build.gradle:

import org.jetbrains.compose.compose
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.6.10"
    id("org.jetbrains.compose") version "1.1.1"
}

group = "me.xxxx"
version = "1.0"

repositories {
    google()
    mavenCentral()
    maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}

dependencies {
    implementation(compose.desktop.currentOs)
}

tasks.withType<KotlinCompile> {
    kotlinOptions.jvmTarget = "11"
}

compose.desktop {
    application {
        mainClass = "MainKt"
        nativeDistributions {
            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "Test"
            packageVersion = "1.0.0"
        }
    }
}

嗯,原来是 VirtualBox 设置问题。我 运行 Xubuntu 在 MacBook Pro 托管的 VirtualBox 上。我需要在 VirtualBox 上将图形控制器设置为 VMSVGA。所以现在它是响应式的。