使用 exe4J 运行时滚动 SWT 表很慢

发布于 2024-12-09 14:11:25 字数 456 浏览 0 评论 0原文

我有一个 SWT 桌面应用程序,它使用 install4j 分发并在 exe4j 下运行。

该应用程序包含一个表格,其中显示要从服务器下载的文档列表。线程处理下载并进行回调以选择当前行并在下载完成时更新行图标。

这在我的 IDE (eclipse) 中运行良好,当我通过单击 jar 启动应用程序时也运行良好。

运行已安装的软件包时,它的运行速度要慢得多。当我对表格进行排序时,这一点尤其明显。下载时间表与表格项目的顺序不同,并且当选择项目时,表格不断地上下滚动以显示当前项目。滚动块长达 2 秒且表格的大部分内容未完全绘制。我的日志记录表明延迟是在等待syncExec() 运行时发生的。

这可能是什么?为什么直接启动可以运行,而在exe4j中却不行?

我给支持人员发了邮件,他说“这可能与可执行文件具有 XP 清单而 java.exe 可执行文件没有”这一事实有关。

还有其他人遇到过这样的问题吗?

I have an SWT desktop app which is distributed using install4j and runs under exe4j.

The app contains a table which displays a list of documents to be downloaded from a server. A thread handles the download and makes call-backs to select the current row and to update the row icon when the download is complete.

This works fine in my IDE (eclipse) and also when I start the app by clicking on the jar.

When running the installed package it runs much slower. This is especially noticable when I sort the table. The download schedule is then different to the order of the table items and, when the items are selected, the table is constantly scrolling up and down to show the current item. The scrolling blocks for up to 2 seconds and large parts of the table are not drawn completely. My logging suggests that the delay is in waiting for syncExec() to run.

What could this be? Why does it run fine when started directly but not in exe4j?

I mailed the support chaps and he said 'it could be related to the fact that the executable has an XP manifest while the java.exe excutable does not'.

Has anyone else had this kind of problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅黛梨妆こ 2024-12-16 14:11:25

刚刚收到支持人员的回复。

他们提出以下建议:

那么它一定是应用程序清单。其实你不需要
MageUI,可以编辑

[install4j安装目录]\resource\manifest[.64]

并删除

从该文件,然后再次编译项目。

工作起来就像做梦一样。问题解决了。

必须在这里说的是,我过去曾使用过这些支持,他们总是非常有帮助和及时。谢谢!

Just heard back from support.

They suggested the following:

Then it must be the application manifest. Actually you don't need
MageUI, you can edit

[install4j installation directory]\resource\manifest[.64]

and remove

from that file, then compile the project again.

Works like a dream. Problem solved.

Must say here that I've used the support in the past and they have always been really helpful and prompt. Thanks!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文