- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段代码需要绘制数千条线(6000 到 50000 之间)。
我随后修复了一个不相关的错误,暴露了一些有趣的东西;也就是说,当这些线条很长(比如 30k 像素)时,drawLine 函数会占用我的代码时间的 95%,而当线条只有 1000 像素长时,它只占用 15% 的时间。
线条颜色相同,宽度固定(1px)
为什么长线绘制这么慢?我有哪些选项可以加快速度,而不仅仅是长线,是否有可以使用的渲染提示?我已经在运行这个线程了。
最佳答案
我相信java的drawline函数,当你在新的区域画一条线时(即它只渲染了300x300的区域,但你画了一条线到200,500),它必须将所有这些像素初始化为可绘制区域。
以下是类似答案的片段:
“我建议您计算绘画区域的可见部分(使用 JComponent 的 getVisibleRect () 方法或 Graphics g.getClip ().getBounds () 方法)并仅使用该区域来限制您的绘画。
如果组件确实很大(例如组件区域为 10000x10000 像素),那么这个小优化可以加速组件的绘制速度。”
关于Java 2d drawLine 对于长线来说很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30010630/
在我的应用程序中,我需要绘制一个方程。绘制的方程将由许多小的直线组成。当我在 for 中使用 DrawLine 方法绘制它时,我获得了比使用 DrawLines 方法时更高的质量。 Graphics
我在 C++ 中使用 GDI+ 绘制图表控件。我想知道上述两个函数之间是否存在性能差异。我不懒惰为写代码DrawLines() 但正是这样做使我的代码变得复杂。所以我权衡是否以降低可读性和潜在增加错误
我有一个绘画程序,并且我已经完成了所有按钮和 slider ,但是我在实际绘画本身方面遇到了问题。当我将光标拖过屏幕而不是一条不间断的线时,我几乎得到了一条我不想要的虚线。以下是 JPanel 和 B
一般来说,对 Swing 和制作 GUI 有点陌生,我一直在使用 DrawLine 方法来创建“地板”,并且它一直在为 PaintComponent 类中的坐标变量本地工作,但是我想更改使用 acti
所以我将这个类放在一个 JPanel 实现类中。 private static class Line extends JComponent { private static final
我需要有关此代码的帮助。我的 g.drawLine(0,0,300,300) 不起作用。一直工作到周一,不知道出了什么问题。我使用 g.drawLine(0,0,300,300) 来在使用plota_
我正在创建一个随机绘制小行星的游戏(使小行星呈现锯齿状外观)。经过研究,我只发现你可以填充原始形状。有谁知道我可以用来填充这些形状的方法? package view.game_object; impo
我被 canvas.drawLines() 卡住了。 我的应用程序显示轨道 om map View ,但生成的线条很糟糕。有没有人看到这样的行为?即,线的宽度不同,甚至不是“正方形”,而是菱形,有时甚
我想知道,通常情况下,你们如何为从 Paint.drawLine 绘制的线投下阴影?据我所知,Paint.setShadowLayer 仅对 Paint.drawText 有影响,但对 Paint.d
开始在 Delphi 中使用 GDI+。需要画几条平滑的直线。例如试图在表格上画对角线(从左上角到右下角)但什么也没有出现。该代码有什么问题(Delphi XE3、Windows 10 x64)? u
我试图使用 alpha channel 通过 CustomPaint 对线条颜色应用透明度的Canvas.drawLine() . 问题 但是,alpha channel 上的颜色调整对结果没有影响,
这是我到目前为止的代码,其中包含一些打印行,只是为了确保它实际上进入了该方法。由于某种原因, Canvas 上没有绘制任何内容,我有一个与此类似的程序,就绘图而言,它工作得很好。这个有什么问题吗? i
我有一段代码需要绘制数千条线(6000 到 50000 之间)。 我随后修复了一个不相关的错误,暴露了一些有趣的东西;也就是说,当这些线条很长(比如 30k 像素)时,drawLine 函数会占用我的
我正在使用 C#.NET 3.5 在 Windows CE 中绘制一条指向 Graphics 对象的线。 我使用的代码如下所示: e.Graphics.DrawLine(new Pen(Color.F
我已经尝试了很多方法,但我的代码仍然拒绝在 Canvas 上简单地画一条线。我注释掉的每一次尝试要么使程序崩溃,要么不显示该行。我真的很难理解如何做到这一点,我不断收到关于使用线程或 onDraw 或
我正在用安卓开发游戏。我是初学者,所以我对android了解不多。我遇到了与 Canvas 相关的问题。我正在尝试设计包含圆网格(5 * 6)的板。 我想在它们之间显示线条,使它们看起来像盒子。为此,
问题:除了在输入点上画圆之外,还有什么更好的方法来实现在屏幕上画线的功能? 详细信息:我正在尝试编写一个基本上会画一条线的函数。但是该线不会是普通的彩色线。这条线会让用户通过那条线将一个图像的像素复制
import java.awt.event.*; import java.awt.*; import javax.swing.*; public class Line{ public static
我知道这很简单,但我不明白为什么单击按钮后 Form1 上没有绘制任何内容: namespace GeometryTest { public partial class Form1 : For
给定以下代码: import javax.swing.*; import java.awt.*; public class NewClass extends JPanel { public v
我是一名优秀的程序员,十分优秀!