|
|
1
16
如果您希望在代码占用最少的情况下获得高性能,那么只需看看Python内置的绘图库tkinter即可。无需编写特殊的C/C++代码或使用大型绘图软件包即可获得比50 fps更好的性能。
以下代码在2.2 GHz Core 2 duo上以400 fps的速度滚动1000x200条形图,在3.4 GHz Core i3上以1000 fps的速度滚动。中心例程“scrollstrip”在右边缘绘制一组数据点和相应的颜色,以及可选的垂直网格条,然后将条形图向左滚动1。要绘制水平网格条,只需将它们作为常量与变量数据点一起包含在数据和颜色数组中。
|
|
|
2
6
创建一个从数据源读取数据并以每秒50帧的速度进行真正更新的C++小部件并不困难。这种方法的美妙之处在于,很少(如果有的话)Python代码以50FPS的速度执行,它都在C++中,这取决于您如何将更新的数据传递给小部件。 您甚至可以从Python端将事件处理程序推送到定制的实时数据查看器中,以处理所有鼠标事件和用户交互,只保留C++中的渲染。 它将是一个扩展wxWidget的wxWindow类的小型C++类 类RealtimeDataViewer:公共wxWindow{ ... 并覆盖在油漆上 void OnPaint(WxPaint事件和WxUsed(事件)){ .... 然后它会得到一个设备上下文,并开始绘制线条和形状。。。 那你就得坐飞机了。h文件,并将其复制到。i、 稍微调整一下,使其成为SWIG可以用来扩展wxPython的定义。 Python自己的distutils可以使用以下参数来设置构建过程:
这将是几天的工作,让它看起来很好,工作良好。。。但这可能是一个真正能让你的项目在未来加速的选项。 所有这些都在Mac、Windows和Linux上运行良好。 wxPython确实是一块隐藏的宝石,它将通过更专业的IDE/designer支持工具占领世界。 也就是说,首先尝试matplotlib,它有很多漂亮的优化渲染,并且可以实时进行更新。 |
|
|
3
2
如果你想要每秒50帧的速度,我想你需要像PyGame这样的东西,直接与显示器对话,而不是绘图模块。 检查相关线程: |