https://kotlinlang.org logo
Title
s

spierce7

05/29/2021, 5:43 AM
Does anyone else have a problem when using java ui applications, the entire screen flickers during launch?
:yes: 1
m

mikehearn

06/02/2021, 12:26 PM
On a Mac? IIRC that's usually due to the GPU being switched from integrated to discrete.
s

spierce7

06/02/2021, 2:56 PM
I only really see that with java based applications though. I don’t see it with intellij though
m

mikehearn

06/02/2021, 3:52 PM
IntelliJ is java based 🙂 But it depends a lot on how the app is packaged.
s

spierce7

06/02/2021, 4:07 PM
@mikehearn That’s why I pointed out that I don’t see it with IntelliJ. Clearly they are doing something different. With 0.4.0 desktop compose uses metal instead of opengl on mac. I’m hopeful that will fix the problem.
m

mikehearn

06/02/2021, 4:25 PM
There is an Info.plist property that tells the OS it's OK to not do that.
I suspect that's the difference. How was the Java app you're using packaged.
(btw, I'm working on a Java app packaging tool at the moment, in case you're interested?)
s

spierce7

06/02/2021, 5:45 PM
There is an Info.plist property that tells the OS it’s OK to not do that.
Ok not to do what?
How was the Java app you’re using packaged.
Just running it from gradle or the command line triggers it. Same if I use jlink I think.
m

mikehearn

06/02/2021, 5:56 PM
It's OK to not switch to discrete graphics. It's a backwards compatibility thing - when dual GPUs were introduced, the OS didn't know what existing apps required from the GPU so defaulted to the higher performance/higher power draw GPU. That way apps wouldn't break. Then apps can opt in and say, actually, we either (a) don't really need fast graphics and/or (b) can tolerate the GPU state being torn down and rebuilt on the fly. Apple's native GUI toolkits know how to handle this out of the box. I don't know to what extent the Java toolkits do.
At least that's what's happening if it's the problem I think it is. But it might be something else. We're definitely talking about MacOS right?