gpt4 book ai didi

c# - 如何以不错的速度在 C#/WinForms 中绘图?

转载 作者:行者123 更新时间:2023-11-30 14:43:53 25 4
gpt4 key购买 nike

我正在尝试可视化图表并让人们使用它。我找到了优秀的 Graph# 库,它可以创建一个初始布局,以便覆盖该部分。现在我需要制作一个控件来实际绘制它并提供必要的交互性。

Graph# 本身带有一个不错的可视化工具,但我不喜欢它,因为它是用 WPF 编写的(而我的应用程序是 WinForms),并且因为我想添加一些更多的交互选项,这将需要重新制作无论如何。

我绘制的图通常会非常大,大约有 100 个顶点和相同数量的边(图 99% 的时间都是树)。这意味着生成的渲染可以高达 2000 像素 x 2000 像素甚至更多。用户应该能够放大和缩小、滚动、突出显示和拖动顶点和边,并在将光标悬停在顶点上方时获得一些带有附加信息的弹出窗口。

我担心标准的 System.Drawing 可能无法为此提供合适的速度。我希望拖动/缩放/滚动操作流畅,弹出窗口也应该以一点动画打开。像 20fps 这样的速度应该是必需的。

我知道我可以尝试通过预渲染大量元素并将它们作为位图保存在内存中来加快速度 - 但这可能会占用大量 RAM,而且我仍然不确定它是否会交付必要的性能。

你有什么想法?

最佳答案

“过早的优化是万恶之源”

GDI+ 可以很好地满足您的需求。在您知道您甚至需要它们之前,不要去购买第 3 方库。

我已经在 1000x800 像素位图上绘制了一千个多边形,并以超过每秒 100 帧的速度完全重绘它,仅使用 GDI+

话虽这么说,如果您有很多绘图要做,而且您的分辨率很高。一些第 3 方绘图库可以远远超出托管 GDI 的能力。

关于c# - 如何以不错的速度在 C#/WinForms 中绘图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com