in benchmarks/multiplatform/benchmarks/src/commonMain/kotlin/benchmarks/visualeffects/HappyNY.kt [223:265]
fun NYContent(width: Int, height: Int) {
var time by remember { mutableStateOf(0L) }
val startTime = remember { 0L }
var prevTime by remember { mutableStateOf(0L) }
val snowFlakes = remember { mutableStateListOf<SnowFlake>() }
val stars = remember { mutableStateListOf<Star>() }
var flickering2 by remember { mutableStateOf(true) }
remember { prepareStarsAndSnowFlakes(stars, snowFlakes, width, height) }
Surface(
modifier = Modifier.fillMaxSize().padding(5.dp).shadow(3.dp, RoundedCornerShape(20.dp)),
color = Color.Black,
shape = RoundedCornerShape(20.dp)
) {
LaunchedEffect(Unit) {
while (true) {
withFrameNanos {
prevTime = time
time = it
}
}
}
if (flickering2) {
if (time - startTime > 15500000000) { //note, that startTime has been updated above
flickering2 = false
}
}
rocket.move(time, prevTime)
Box(Modifier.fillMaxSize()) {
snow(time, prevTime, snowFlakes, startTime, height)
starrySky(stars)
rocket.draw()
}
}
}