Click here to Skip to main content
15,887,683 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
General.Net and Print To File Problem Pin
Gary Thom4-Jun-04 3:27
Gary Thom4-Jun-04 3:27 
GeneralWindows Services Pin
4-Jun-04 1:28
suss4-Jun-04 1:28 
GeneralRe: Windows Services Pin
Colin Angus Mackay4-Jun-04 13:12
Colin Angus Mackay4-Jun-04 13:12 
Questionis .NET slow? Pin
Sahir Shah3-Jun-04 21:40
Sahir Shah3-Jun-04 21:40 
GeneralCall by Reference Problem Pin
ashLin1233-Jun-04 21:09
ashLin1233-Jun-04 21:09 
GeneralRe: Call by Reference Problem Pin
jj3pa10-Jun-04 15:07
jj3pa10-Jun-04 15:07 
Generalfaster drawing Pin
PKultimPK3-Jun-04 6:46
PKultimPK3-Jun-04 6:46 
GeneralRe: faster drawing Pin
Werdna3-Jun-04 8:11
Werdna3-Jun-04 8:11 
I don't see why you can't draw 1000-2000 lines 3 times/sec. That gives you (if we take the median) 500 lines per second, which doesn't seem a very high number.
Attached is code for custom control that draws random 5000 lines and it takes about 72 ms to draw them on my system at 640x480 size and 200 ms at 1280x1024.
For 500 lines the accuracy of the timer is too low as i get 0 ms.

<br />
using System;<br />
using System.Windows.Forms;<br />
using System.Drawing;<br />
<br />
namespace LineTest<br />
{<br />
	struct Line<br />
	{<br />
		public int x1, y1, x2, y2;		<br />
		public Color c;<br />
	}<br />
<br />
	/// <summary><br />
	/// Summary description for Lines.<br />
	/// </summary><br />
	public class RandomLinesControl : Control<br />
	{<br />
		int numLines;<br />
		Line[] lines;<br />
<br />
		public RandomLinesControl()<br />
		{<br />
			SetStyle(ControlStyles.AllPaintingInWmPaint<br />
				| ControlStyles.DoubleBuffer<br />
				| ControlStyles.UserPaint, true);<br />
<br />
			NumLines = 5000;<br />
		}<br />
<br />
		protected override void OnResize(EventArgs e)<br />
		{<br />
			base.OnResize (e);<br />
<br />
			CreateLines();<br />
		}<br />
<br />
<br />
		public int NumLines<br />
		{<br />
			get { return numLines; }<br />
			set <br />
			{<br />
				numLines = value;<br />
				CreateLines();<br />
			}<br />
		}<br />
<br />
		void CreateLines()<br />
		{<br />
			Random rand = new Random();<br />
<br />
			lines = new Line[numLines];<br />
			for (int i=0; i<numLines; i++)<br />
			{<br />
				Line line = new Line();<br />
				line.x1 = rand.Next(3, Width > 6 ? Width-3 : 6);<br />
				line.x2 = rand.Next(3, Width > 6 ? Width-3 : 6);<br />
				line.y1 = rand.Next(15, Height > 20 ? Height-3 : 20);<br />
				line.y2 = rand.Next(15, Height > 20 ? Height-3 : 20);<br />
				line.c = Color.FromArgb(rand.Next(255), rand.Next(255), rand.Next(255));<br />
<br />
				lines[i] = line;<br />
			}<br />
<br />
			Invalidate();<br />
		}<br />
<br />
		protected override void OnPaint(PaintEventArgs e)<br />
		{<br />
			int start_t = System.Environment.TickCount;<br />
<br />
			Graphics g = e.Graphics;<br />
			g.Clear(this.BackColor);<br />
			Pen pen = new Pen(this.ForeColor);<br />
<br />
			for (int i=0; i<lines.Length; i++)<br />
			{<br />
				Line line = lines[i];<br />
				pen.Color = line.c;<br />
				g.DrawLine(pen, line.x1, line.y1, line.x2, line.y2);<br />
			}<br />
<br />
			int end_t = System.Environment.TickCount;<br />
			g.DrawString("Drawn " + numLines + " lines in " + (end_t-start_t) + " ms", Font, Brushes.Black, 1, 1);<br />
			<br />
		}<br />
<br />
	}<br />
}<br />
<br />

GeneralRe: faster drawing Pin
PKultimPK3-Jun-04 10:22
PKultimPK3-Jun-04 10:22 
GeneralRe: faster drawing Pin
Dave Kreskowiak3-Jun-04 8:35
mveDave Kreskowiak3-Jun-04 8:35 
GeneralRe: faster drawing Pin
PKultimPK3-Jun-04 10:26
PKultimPK3-Jun-04 10:26 
GeneralRe: faster drawing Pin
Colin Angus Mackay4-Jun-04 13:19
Colin Angus Mackay4-Jun-04 13:19 
GeneralRe: faster drawing Pin
PKultimPK5-Jun-04 9:58
PKultimPK5-Jun-04 9:58 
GeneralRe: faster drawing Pin
Colin Angus Mackay5-Jun-04 10:53
Colin Angus Mackay5-Jun-04 10:53 
GeneralRe: faster drawing Pin
PKultimPK6-Jun-04 2:56
PKultimPK6-Jun-04 2:56 
QuestionHOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
princi_azghar@yahoo.co.in2-Jun-04 21:47
sussprinci_azghar@yahoo.co.in2-Jun-04 21:47 
AnswerRe: HOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
Member 5308104-Jun-04 1:35
Member 5308104-Jun-04 1:35 
AnswerRe: HOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
Richard Jones4-Jun-04 6:55
Richard Jones4-Jun-04 6:55 
GeneralRe: HOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
Andre Oschadlin20-Aug-04 0:07
Andre Oschadlin20-Aug-04 0:07 
GeneralRe: HOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
Richard Jones20-Aug-04 3:10
Richard Jones20-Aug-04 3:10 
GeneralRe: HOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
Andre Oschadlin20-Aug-04 16:01
Andre Oschadlin20-Aug-04 16:01 
GeneralRe: HOW TO START WITH HAND HELD PROGRAMMING ??????????? Pin
Richard Jones23-Aug-04 2:05
Richard Jones23-Aug-04 2:05 
Questionshould i start over? Pin
Dave Pursey2-Jun-04 6:13
Dave Pursey2-Jun-04 6:13 
AnswerRe: should i start over? Pin
Dave Kreskowiak3-Jun-04 8:48
mveDave Kreskowiak3-Jun-04 8:48 
GeneralA question about MDI Pin
Member 9401252-Jun-04 5:53
Member 9401252-Jun-04 5:53 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.