互操作性建议Python、C、Matplotlib/OpenGL运行时效率

2024-04-26 06:05:33 发布

您现在位置:Python中文网/ 问答频道 /正文

现状:

  • 每次都要重写C代码来进行几乎相同类型的模拟(在老鼠身上学习行为)
  • 为每个模拟编写Matlab代码以绘制结果(2D,可能是3D图形)

我的目标是:

  • 设计GUI(wxPython)允许我构建一个动态模拟器
  • GUI还通过OpenGL(或者Matplotlib)显示模拟结果
  • 使用C包装器(CFFI)运行模拟并将结果(平均值)发送到OpenGL或Matplotlib

问题:

  • 为了让这个软件尽可能高效地运行,我认为应该使用CFFI来运行模拟……我不确定的是,拥有那个FFI实例(或单独的一个)是否更好使用openglc绑定来完成所有的图形工作,并将生成的图形传递到Python层以在GUI中显示,或者让CFFI将模拟的平均值(绘制的数据)发送到Python级别的变量,并使用PyOpenGL或Matplotlib绘制图形。在

Tags: 代码图形类型目标matplotlibwxpython绘制动态
1条回答
网友
1楼 · 发布于 2024-04-26 06:05:33

这将有助于了解模拟运行的周转时间以及显示和更新图形的速度。或多或少是实时的,每个都是几十毫秒?几秒钟?几分钟?在

如果您想绘制图形,我建议使用Matplotlib而不是OpenGL。即使是自己修改Matplotlib代码,使其完全符合您的需要,也可能比在OpenGL中做一些事情更容易。Matplotlib也有“XKCD”样式的图形:-)

PyOpenGL可以很好地与wxPython配合使用。现代3D中的大部分繁杂工作都是由GPU完成的,所以如果你决定走这条路,用C而不是Python来做3D图形可能就不值得了。在

希望这有帮助。在

相关问题 更多 >