iPhone 上的 JavaFX - 应用阴影时 ListView 滚动缓慢

2024-02-29

我正在使用 JavaFXPorts 在 iOS 上开发一个应用程序。我有一个窗格,其中包含包含国家及其国旗的列表视图。我注意到,当我在窗格上应用投影效果时,ListView 滚动很滞后。正如您从下面的视频中看到的,没有该效果,滚动非常平滑,而通过 CSS 应用该效果时,滚动开始变得滞后。我想保留阴影效果,因为它使应用程序更漂亮。所以任何建议都非常感激。

我使用的CSS代码是:

-fx-effect: dropshadow( three-pass-box, rgba(0,0,0,0.6) , 5, 0.0 , 0 , 1);

请注意,这是在 iPhone 6 上运行的。 iPhone 5 上的结果要差得多。


添加效果、CSS、过渡、自定义控件和其他通常在桌面上运行良好的复杂内容时,在移植到移动设备时可能会出现很大的性能损失。

Effects

虽然效果使节点或窗格看起来很漂亮,但它们对移动设备的性能产生最大的负面影响。

尽量避免将它们应用于变化很大的节点,例如 ListView、TableView 或 ComboBox 控件上的单元格。

此外,如果将它们应用于具有引用的子级(ListView,...)的父级,则如果子级无效(滚动后或类似),则父级(和效果)将始终呈现。

如果您确实需要对父级产生效果,请尝试将父级和子级分开。

代替:

parent (Pane with effect)
  |-- ListView

你可以这样做:

parent (StackPane without effect)
  |-- Pane (with effect)
  |-- ListView 

由于窗格不会发生太大变化,因此您可以对其使用缓存。通常,缓存策略的工作原理是渲染节点的图像(具有效果的窗格),而不是重新创建节点和该效果,因此这是一个快速的胜利:

parent (StackPane without effect)
  |-- Pane (with effect) and with Cache
  |-- ListView 

相反,不要在变化很大的节点(如 ListView)上使用缓存。

CSS

复杂的 CSS 需要较长的 CPU 时间。尝试简化它。您甚至可以删除整个 CSS 以进行快速测试。然后决定您可以使用或不可以使用什么。

也尝试用代码替换一些样式。

动画

动画也是如此:如果可能的话,避免动画、过渡。

节点数量和自定义控件

节点数量越多,性能越低,因此尽量将其保持在最低限度(尽可能用图像、画布替换复杂内容)。

切换场景

移动设备屏幕较小,每个场景上的内容最好比桌面设备少。避免切换舞台或场景也很重要。相反,使用不同的节点并在同一场景中替换它们。

胶子符咒用途View nodes http://docs.gluonhq.com/charm/latest/#_the_views,以及在不同视图之间切换的简单方法:MobileApplication.getInstance().switchView("other view name").

Images

最后,当使用从互联网下载或从文件加载的图像时,缓存策略是必须的。看看 Gluon 提供的那些魅力下降 https://bitbucket.org/gluon-oss/charm-down/src/e39ddddeb213381571b07474779d530617c44994/common/src/main/java/com/gluonhq/charm/down/common/cache/?at=default.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone 上的 JavaFX - 应用阴影时 ListView 滚动缓慢 的相关文章

  • 使用 HTML 和 CSS 创建横向和纵向布局

    我有一个要求 我需要编写一个 HTML CSS 它应该显示横向和纵向 具体取决于 iPad 的方向 最初我想使用 HTML 和 CSS 编写这个 然后将其用于 iPad发展 我的问题是实现这一目标的最佳方法是什么 拥有两个不同的 html
  • 如何使用 Angular 创建 n 个可打印页面?

    嗯 我搜索了一下 没有找到类似的东西 我想知道如何使用 Angular 创建可打印内容 跳转到页面末尾并打印更多内容 如何强制内容始终适合特定尺寸 例如 PDF 我需要 Angular 来执行此操作吗 如果不是 HTML 我可以迭代 PDF
  • Bootstrap 按钮的检查状态

    我想在 Bootstrap 3 0 2 中设置组复选框的选中状态 docs http getbootstrap com javascript buttons html div class btn group div
  • Bootstrap .row margin-left: -15px - 为什么它会缩进(来自文档)

    我在 Bootstrap 文档中看到了这一行 http getbootstrap com css grid intro http getbootstrap com css grid intro It says 列通过填充创建装订线 列内容之
  • iPhone 4 上不稳定的 CSS3 动画

    我有一个非常简单的 或者至少我认为是 动画 我所做的只是 webkit background size 的动画 bubble position relative width 397px height 326px background url
  • 如何在 CSS 中选择纯 HTML 文本?

    你们有人知道如何在 CSS 中选择纯 HTML 文本吗 我有以下结构 div p class caption caption1 p div class tabs div class moving bg div p class text ta
  • JQuery 设置动态最大宽度

    我不太擅长 jQuery 因此完整的代码解决方案将是理想的选择 该函数将 获取浏览器屏幕的 70 宽度 将该宽度转换为其相应的 px 值 设置最大宽度 mainContainer使用从转换 计算中获得的值 这是我要设置的容器的 CSS 样式
  • IE10 中的弹性盒

    我试图让弹性框在 IE10 中工作 但它不起作用 Safari Chrome 和 Firefox 工作正常 但 IE10 不工作 有人知道答案吗 代码笔 http codepen io anon pen vcEGH http codepen
  • 滚动时多个图像淡出

    我有一个页面 在每个导航点上 网站中间的图像通过淡入淡出来改变颜色 我设法淡入 active3 fadeIn 2000 不过 我遇到了再次淡出它的问题 让我尝试解释一下 我有 5 个导航点和 5 个不同的图像 如果我 例如 从第一个导航点滚
  • 如何使用 CSS 使文本区域居中?

    请原谅我问这么简单的问题 我对 HTML 和 CSS 都很陌生 有没有一种简单的方法可以使文本区域居中 我想我只是尝试使用 textarea margin left auto margin right auto 但它 显然 不起作用 边距不
  • 使用 flex 将项目与底部对齐

    我正在尝试使用 flex 将父级内部的项目与父级底部对齐 但由于某种原因它不起作用 我究竟做错了什么 login border 1px solid red height 50px display flex login border radi
  • 当内部元素滚动位置到达顶部/底部时防止父元素滚动?

    我有一个小 浮动工具箱 一个带有position fixed overflow auto 效果很好 但是 当在该框内滚动 使用鼠标滚轮 并到达底部或顶部时 父元素 接管 滚动请求 工具框后面的文档滚动 这很烦人 而不是用户 要求的 我正在使
  • Webkit 是否有 CSS3 网格布局的有效实现?

    CSS 网格布局 编辑草案 2011 年 11 月 21 日 http dev w3 org csswg css3 grid align 我正在制作一个原型 该原型将在选定的设备和浏览器上向客户展示 目前我并不担心跨浏览器兼容性 IE10开
  • CSS 属性选择器类以以下开头但不等于

    我想将 css 应用于以 abcd 开头的所有类 但我不想将该 css 应用于名称为 abcd dontapply 的类 我可以这样做吗 我尝试过的 a class abcd not class abcd dontapply define
  • 如何在 Rails 5 中设置资产管道以使用自定义字体?

    我必须使用自定义字体贾米尔 努里 纳斯塔莱克 http www urdujahan com urdu fonts Jameel 20Noori 20Nastaleeq zip在 Rails 5 应用程序中 我以前从未使用过 Rails 中的
  • Chrome 版 Firebug Lite 会破坏悬停效果和鼠标悬停事件

    我有一个奇怪的问题 使用时适用于 Chrome 的 Firebug Lite https chrome google com webstore detail firebug lite for google c bmagokdooijbeeh
  • 全高全宽 CSS 布局

    我正在寻找一种方法来创建具有 5 个区域的纯 CSS 无 JavaScript 布局 如下所示 H A B C F
  • 为什么这些内联块元素会产生额外的宽度?

    这是这个问题的后续内容 仅使用 css 自动调整图像下的文本 https stackoverflow com questions 34185547 autofit text under image with only css 为什么这段代码
  • 为什么我的 Web 组件 CSS 不显示?我没有使用shadowDOM

    我有一个没有使用 ShadowDOM 的 Native V1 组件 所以我将 CSS 放在 但是当其他人使用我的组件时 我的 CSS 就不再起作用了 仅当其组件确实使用 ShadowDOM 时才会发生这种情况 我的组件的示例代码 class
  • 选择子元素但不选择孙元素

    我有以下简化的代码 div p text p div div p text p div div p text p div div p text p div 每当我设置一些值时 content pCSS 文件中的元素 更改也适用于 col1

随机推荐