问题标签 [scenegraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
architecture - 如何处理场景图创建
我目前正在设计一个场景图,但遇到了一个问题。
创建场景图时,我创建了一个展开的链表来保存子节点。场景图被设计为允许使用自定义分配器,场景被初始化并作为成员变量携带。
就目前而言,我有许多调用make*
场景的函数,以及节点可能具有的任何参数(即。makeGroup(scene, null)
)。我的问题是:我可以使用哪些方法来创建节点,同时消除不必要的膨胀?
到目前为止,我已经提出了两种解决方案:
仅在创建和销毁时将分配器传递给节点。节点本身不保留对分配器的引用。只有创建它的场景才会这样做。这在创建过程中需要一些额外的噪音,尽管它可以很容易地隐藏在
make
函数中。允许节点携带对分配器本身的引用,增加 Node 类中的依赖关系,以及向该类添加另一个成员。
performance - 为什么从 .jar 运行而不是使用 sbt run 时 Scala JavaFX 应用程序会变慢?
我正在为我应该在这里展示什么代码而苦苦挣扎,因为它非常复杂并且它同时工作。
问题是我构建了一个相对复杂的 JavaFX 场景图,并用它从 Scala 应用程序更新了 VBox 的内容。
现在,当我使用 sbt run 运行应用程序时,使用控制台窗口,sceneragph 加载速度很快。当我从打包的 .jar 运行它时(我为此使用 sbt-one-jar),sceenraph 需要很长时间才能加载。
所以一切都在工作,一切都以同样的方式工作,除了从 .jar 运行会神奇地减慢它。
无论如何,我粘贴了一些代码,即使它不是很有启发性:
编辑:
根据 sillyfly 的建议,我测量了每一步更新场景图的时间。减慢的步骤是:
这是负责从 XML 标记(作为“blob”传递)构建 JavaFX 场景图的部分,我开发它来描述所谓的“MyComponent”,它们是从现有 JavaFX 小部件构建自定义小部件的类。构建场景图后,更新需要相同的时间。
java - JavaFX TextArea 包装文本,但它不应该
好的,我是 javafx 新手,只是尝试构建自己的 java IDE。
IDE 有一个视图(“开始”选项卡),您可以在其中创建和编辑类,还有一个调试视图(“调试”选项卡),可以在其中调试此类。(用于使用 JDPA 调试即时消息)。
“开始”视图是一个简单的选项卡窗格(classtabPane),在根边框窗格的中心区域由几个选项卡组成。
“调试”视图包含一个拆分窗格,当视图发生更改时,该拆分窗格分配了 classTabPane 和其他节点。
这些视图之间的切换是通过另一个tabpane来实现的,它集成在根borderpane的顶部区域。
每个类都是一个单独的选项卡,其中嵌入了一个文本区域。这些 textAreas 的每个文本都不应被换行 (setWrapText(false))。
在视图更改(从开始到调试)时,要显示的节点(classTabPane 或 splitPane 已分配)被分配到根边框的中心区域。
问题是当我更改视图(从开始到调试)时,文本被包裹在文本区域中,这实际上不应该发生。但是在文本区域中单击后,文本会被展开。
有没有人知道文本包含在视图更改中可能是什么?
如果缺少任何有用的信息,请直接说。我会立即添加它。
图片示例可以在代码片段下找到
这里有一个例子:
roku - 如何在 BrightScript 中使用 replaceChild 替换 PanelSet
我正在使用PanelSet
该类创建一个由两个面板组成的设置屏幕:
panelA
左侧显示整体设置选项列表panelB
显示在右侧,包括每个项目的不同选项列表panelA
当用户更改焦点项目时,如何替换Panel
右侧显示的内容panelA
?
Roku 的文档指出您必须使用该方法replaceChild
,但我无法弄清楚它应该如何工作或任何示例。这是我正在尝试的,但它不起作用:
roku - roku 场景图中的闪屏后出现黑屏而没有加载指示器
我正在使用 Scene Graph 组件开发 Roku 应用程序。在我的应用程序中,当我启动应用程序时,在启动屏幕到主屏幕之间的几秒钟内显示黑屏,但我想在屏幕之间显示加载程序。在场景图中有可能吗?请提供解决它的建议。
roku - 如何在 Roku SG 应用程序中实现深度链接?
我需要帮助理解深度链接,因为我们的 Roku 场景图应用程序被 Roku 拒绝了。
Roku 在这里解释了深度链接:https ://sdkdocs.roku.com/display/sdkdoc/Deep+Linking ,但本文档并未详细说明有关深度链接的所有信息。例如,我们如何获取 contentId 和 mediaType?
这是我们main()
在启动时运行的函数:
应用程序启动后,我们打印 args,得到这个关联数组。但是,这不显示任何 contentId 和 mediaType。
使用此 curl 命令,应用程序成功启动并显示 contentId 和 mediaType:
请帮助我们并提供更好的示例来轻松理解和实施深度链接。
roku - 如何在 roku 中显示隐藏式字幕?
我正在使用要播放 HLS 视频(VOD 和直播)的场景图来处理 Roku Bright 脚本,按下选项按钮并设置“字幕模式:打开”,但隐藏式字幕仍然不显示。甚至弹出
显示消息“没有可用的字幕”或“没有可用的字幕或音频选择” 当我在 VLC 播放器中播放时,我在轨道 1 上看到了字幕。明亮的脚本代码是 -
流的 m3u8 的内容 -
EXTM3U EXT-X-VERSION:3 EXT-X-STREAM-INF:BANDWIDTH=3211072,CODECS="avc1.77.41,mp4a.40.2",RESOLUTION=1280x720 chunklist_b2931072.m3u8 EXT-X-STREAM-INF:BANDWIDTH=1231072, CODECS="avc1.66.32,mp4a.40.2",RESOLUTION=640x360 chunklist_b1131072.m3u8
请帮助我们并提供一个更好的例子。
qt - 如何从 C++ 更新 Qt 场景图?
我编写了一个QQuickItem
用于绘制曲线的 c++ 组件,但是为了更新曲线,我必须通过计时器调用更新方法。
我在做什么的例子:
有没有办法从 C++ 调用它?
roku - 是否有可用于 Roku SG 的谷歌分析 SDK?
我们想在我们的 Roku SG 应用程序中通过 SDK 实现 google 分析。我们在 google analytic sdk 上搜索了 Roku SG,没有找到 sdk。谷歌分析 sdk 是否可用于 Roku SG?