suspend fun stressTestToolWindows()

in benchmarks/intellij/src/main/kotlin/com/jetbrains/compose/LifecycleListener.kt [74:92]


suspend fun stressTestToolWindows(toolWindows: List<ToolWindow>) {
    while (performanceDialog.isPaused().not()) {
        val visiblePanelsCount = toolWindows.count { it.isVisible }
        delay(200)
        doMeasure("$visiblePanelsCount panels")
        delay(200)
        toolWindows.forEach {
            if (Random.nextBoolean()) {
                if (it.isVisible.not()) {
                    it.show()
                }
            } else {
                if (it.isVisible) {
                    it.hide()
                }
            }
        }
    }
}