评论
我对 bCNC 也有远见(顺便说一句,与您的愿景非常相似)。那不是问题。问题是谁来写代码。
是的。但这将是很多工作。
这不是它的工作原理。多线程根本无助于提高速度。我也有 4 个 CPU,但是 bCNC 太慢了,4 倍的加速是不够的。加载文件并不慢。处理和显示很慢。另外我认为像 tkinter canvas 这样的东西不能同时从多个线程访问,因为它不是线程安全的并且会导致崩溃。 如果您使用在 C 或 ASM 中优化的 python 库处理数据并且可以自动执行多线程,则无需使用多线程。 但我同意在某些情况下我们应该使用多线程。例如。:
是和不是。有现成的用 C 编写的 python 库,我们可以使用它们来加速一切,而无需编写它们。 即
这些是一些现成的 python 库,可用于显着加速 bCNC。这就是现代 python 软件的工作原理:
这意味着您仅在某些特定情况下使用 python 代码,例如解析、生成和流式传输 g 代码。而其他一切都在 C 中完成。这些库也经过高度优化,其中一些甚至能够在多个 CPU 上自动处理数据。 问题是要实现所有这些,我们可以开始全新的项目。因为要做到这一点,我们需要重写 100% 的 bCNC。此外,OpenGL 可视化器不支持 Tkinter,因此它非常依赖 GTK3 端口。所以我想我会开始并行开发这样的项目。
Python 的理念是它很容易被完全的初学者使用。因此,除非你用 C 编写所有内容并从 python 调用它,否则它的速度慢得令人难以置信,而且完全没用。适合简单的任务,无法用于任何大的任务。 如果你有使用循环的 python 代码,无论如何它都会很慢。甚至有一些方法可以编译 python 以使其更快(例如 pypy),但我已经尝试过了,但 bCNC 一点也不快。在某些测试中,它甚至更慢。 |
我知道这项工作很棒,有时也很困难。 但是一开始,正如您所说的那样,有必要加快显示速度。 |
反正。我不明白这个 github 问题的意义,除非你有时间贡献你提议的改变…… |
我建议考虑 bCNC 2.0 的版本
我认为我们需要重组程序。
我有一些我认为可能对进一步开发有用的建议。
这是我对B-cnc发展的愿景。
不幸的是,我在 Python 方面并不那么强……我不了解这种编程语言的意识形态及其抽象。