如何在QT Android应用程序中解决慢速滚动
How to solve slow scrolling in QT android app
我正在尝试制作一个简单的QT Android应用程序,但基本上我的问题是,在主屏幕上,我有大约250个小图像,我想滚动。但是我真的需要滚动才能流畅而快速。首先,我使用QML尝试了它,但是它不是很快,然后我尝试在QT设计器中制作该应用程序并使用小部件,但这非常慢。然后我尝试使用OpenGL,但是在Android上,我只能使用OpenGL ES,我找不到太多示例,因为我发现的每个示例都比我需要的要高得多。
,但基本上我的主要问题是,您认为解决我的问题的最佳方法是什么,如果它的使用方法是最好的解决方法?
谢谢。
与同一设备上的本机应用程序相比,滚动时,两种方法都不应有问题。检查以下内容:
- 确保仅在发行构建中衡量性能,而QML调试已禁用并且没有附加调试器。
- 也许您的设备在一个视图中根本无法跟上这么多的图像 - 那么这不是QT问题。与"本地" java-app进行比较以查看是否是这种情况。
- 检查您是否正确实施了所有内容;例如检查您的主循环中是否有任何事情在您的主循环中播放,或者有些事件发生了反复消耗CPU时间
还有一些更一般的建议:
- 将图像降低到适当的视图尺寸,然后再将其添加到UI之前,因为它们可能必须在每个框架更新和/或消耗图形内存中重新尺寸。例如。当要在64x64视图中显示时,请勿将其设置为1024x1024图像
- 如果要在固体颜色的背景上显示,请从图像中删除透明度。
- 不要用其他小部件/控件覆盖图像
- 如果您仍在获得"慢" UI,则可能尝试将全部或多个图像及其周围的UI/控件合并为一个或多个较大的图像
- 很长的观看次数不是用户友好的。也许可以实现Pager或Tab-View等,以将您的列表分为多个视图。这样,您也可以减少加载时间
- 不要尝试自己在OpenGL中实现界面。您不太可能会比qtwidgets和qtquick变得更好。
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- Ardunio UNO解决了多个重叠的定时器循环
- 使用一个考虑到std::map中键值的滚动或换行的键
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 两个文件使用彼此的功能-如何解决
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 在java中解决这段代码时面临循环中的问题
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 难以理解某些人解决IOI问题的源代码
- visual c++,如何获取解决方案目录中的代码
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 节俭并发:未解决的外部问题
- IpOpt拒绝解决不受约束的问题
- QScrollArea:由垂直滚动条引起的水平滚动条
- 如何解决这个超硬恒星的创造问题
- 跟踪滚动条上的鼠标事件
- 如何在QT Android应用程序中解决慢速滚动
- 富编辑控件中的鼠标滚轮滚动滞后/缓慢.如何解决此问题