At least on the Nexus 5 and Nexus 6 devices. - Johan
On Thu, Oct 15, 2015 at 9:33 PM, Richard Bair <richard.b...@oracle.com> wrote: > Is it consistent among all android devices, or is it a specific device? > > > On Oct 15, 2015, at 12:30 PM, Johan Vos <johan....@gluonhq.com> wrote: > > > > Thanks Jim. > > I tried with different optimization flags, but it doesn't make a big > > difference. Tracing it down to system calls, somehow the gl > implementation > > seems be be slower (glDrawElements(GL_TRIANGLES, numQuads * 2 * 3, > > GL_UNSIGNED_SHORT, 0) takes more time on Android than on iOS) per > > invocation. The number of invocations is comparable between iOS and > Android. > > > > If you can give me a direction on where to search for the disabled > > scrolling optimization, I'll try to re-enable that and see how it > improves > > performance. It might be a huge and quick win... > > > > Thanks again, > > > > - Johan > > > > On Thu, Oct 15, 2015 at 9:02 PM, Jim Graham <james.gra...@oracle.com> > wrote: > > > >> Perhaps optimization flags with the native compiler? Also, was it > called > >> a similar number of times on both? > >> > >> Ideally we'd just be using copyArea for the scrolling, but at one point > we > >> disabled the scrolling optimizations on retina MBP because they didn't > work > >> with a scale factor and I don't think we reenabled them yet. That would > >> kill scrolling performance on mobile as a result of having to rerender > the > >> scene on each scroll regardless of how long produceAlphas takes... > >> > >> ...jim > >> > >> > >> On 10/15/15 4:27 AM, Johan Vos wrote: > >> > >>> After spending lots of time optimizing JavaFX on iOS, I am now at the > >>> point > >>> where scrolling is 10 times faster on iOS than on Android. > >>> The scrolling in the iOS version of the Gluon JavaOne mobile schedule > >>> builder is pretty good imho. On Android, it is much slower. I profiled > and > >>> compared both, and it turns out that on Android, we spend lots of time > in > >>> the native implementation of NativePiscesRasterizer.produceFillAlphas > >>> (implemented in native-prism/NativePiscesRasterizer.c) > >>> > >>> On average, calling this native function on an iPhone 6 takes 40,000ns > >>> whereas on a Nexus 6, this takes about 800,000ns. > >>> > >>> If anyone has a suggestion on how to improve or avoid this, I'm all > ears. > >>> > >>> Thanks, > >>> > >>> - Johan > >>> > >>> > >