C++ 从闪存而不是sd卡运行qt5 opengles应用程序时,phytec phyBOARD iMX-6表现不佳(fps减半)

C++ 从闪存而不是sd卡运行qt5 opengles应用程序时,phytec phyBOARD iMX-6表现不佳(fps减半),c++,opengl-es,arm,embedded,yocto,C++,Opengl Es,Arm,Embedded,Yocto,我正在phytec phyBOARD iMX-6上开发一个图形应用程序(赛车游戏),Qt5.9和 OpenGLESv2。我通过Qt模块创建OpenGL上下文。我的问题是我的游戏在sd卡上运行时每秒40帧。在Flash上运行时获得20 fps。为什么flash上的opengles帧速率如此低?闪存卡和sd卡中的操作系统是相同的 我的第一个想法是,由于闪存的读/写能力低,性能下降。但我的游戏只在引导阶段从磁盘读取数据。在其余阶段,它以非常有限的方式与磁盘交换数据。因此,磁盘读写速度不太可能导致低性能

我正在phytec phyBOARD iMX-6上开发一个图形应用程序(赛车游戏),Qt5.9和 OpenGLESv2。我通过Qt模块创建OpenGL上下文。我的问题是我的游戏在sd卡上运行时每秒40帧。在Flash上运行时获得20 fps。为什么flash上的opengles帧速率如此低?闪存卡和sd卡中的操作系统是相同的

我的第一个想法是,由于闪存的读/写能力低,性能下降。但我的游戏只在引导阶段从磁盘读取数据。在其余阶段,它以非常有限的方式与磁盘交换数据。因此,磁盘读写速度不太可能导致低性能


你有没有遇到过这样的问题,当应用程序在flash上运行时,opengles的帧速率很低?也许类似的解决方案也能对我有所帮助。

我完全靠运气解决了这个问题。我加了一行

首选版本\u mesa=“git”


在Local.conf文件中。现在我在flash(40fps)和sd卡(40fps)上获得了相同的fps。我靠运气解决了这个问题。我加了一行

首选版本\u mesa=“git”


在Local.conf文件中。现在我在闪存(40fps)和sd卡(40fps)上获得了相同的fps。

您不能从sd卡运行代码,因为它是一个文件系统,而不是内存映射空间。假设SD中的代码被加载到RAM中执行?RAM本质上比闪存快,访问时需要更少的等待状态。实际上,您的板上似乎有eMMC和SLC NAND,这两种类型的闪存都不是可执行内存,因此从您提供的信息中完全不清楚您的意思。谢谢您的回答。我的意思是,当我的应用程序运行在闪存(每秒20帧)和sd卡(每秒40帧)上时,我试着运行它。当然,当我运行应用程序时,我的应用程序会在内存中沉淀。问题:当应用程序从闪存启动时,fps较低。您不能从SD卡运行代码,因为它是文件系统,而不是内存映射空间。假设SD中的代码被加载到RAM中执行?RAM本质上比闪存快,访问时需要更少的等待状态。实际上,您的板上似乎有eMMC和SLC NAND,这两种类型的闪存都不是可执行内存,因此从您提供的信息中完全不清楚您的意思。谢谢您的回答。我的意思是,当我的应用程序运行在闪存(每秒20帧)和sd卡(每秒40帧)上时,我试着运行它。当然,当我运行应用程序时,我的应用程序会在内存中沉淀。问题:当应用程序从闪存启动时,fps较低。