473,490 Members | 2,703 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

VB.net - Slower than VB6 with this CRL BS? - Loading Forms w/ Graphics

I am not the most talented programmer to grace the earth by a long
shot. But I've got a gripe I need to air about the .NET implementaion
of Visual Basic. I can live with alot of the major changes to the
structure and syntax of the code but I thought the purpose of
re-engineering the damn thing would result in improved performance all
around, well the .NET seems to really suck doing things graphically on
forms that VB6 Seemed to do fine. Anyone can jump in and tell me am an
idiot and here's the right way to do it, if this really is an
as*-backwards way but I'm really frustrated that things so easy have
been made more complicated and perform less well.

The premise is simple and I expect that people every do this all the
time. I have and application that has more than one form - All of the
forms are the same size but comprimise different menu's and functions.
When a user changes from one form the the next i want the next form to
occupy the same space as the previous one - so that the process of
changing forms is invisible to the user.

Well here's how I'm doing it.
<Seriously Abriviated Version>

The Application starts in a module sub main.

Sub Main

<Declare all my form objects>
Public CurrentForm as string
Public EndApp as boolean

While EndApp = false

Select Case CurrentForm
<ANYCASE> = ThatForm.showdiaglog

End While

So the Application just keeps looping thru opening the right form
after another is closed until the EndApp is set to true

This is working OK - but the real pain of if is I think im creating a
fresh object each time i call the <formname>.showdiaglog because the
last one was unloaded. The end problem is that FORMS WITH GRAPHICS
TAKE A LONG TIME TO LOAD IN .NET. With just a background image on the
form it's not that bad, maybe .25 seconds extra, however if you want
to make your label backgrounds invisible after that forget it. - Every
Lable with a transparent background adds between .25 and .5 seconds to
the form loading. with just a few lable this makes the application
look slugish just loading a form with a background and a few labels
(what the hell is that!) So the only way i can see my way outta this
is...

1)How can i load the form without making it visible and hold it in the
background until I want the user to access it? - This doesnt seem to
be as easy making it visible and invisible but maybe someone knows
how.

2) How can i get the graphics on a new form to load fast? - vb6 did
this instantly - why is visual studio taking a step back

-matthew
And Thanks!
Jul 17 '05 #1
4 5070
Seems like this may be a question for another group - try these

microsoft.public.dotnet.vb
microsoft.public.dotnet.vb.controls

On 2 Aug 2004 08:06:58 -0700, mo*****@hotmail.com (Matthew) wrote:
I am not the most talented programmer to grace the earth by a long
shot. But I've got a gripe I need to air about the .NET implementaion
of Visual Basic. I can live with alot of the major changes to the
structure and syntax of the code but I thought the purpose of
re-engineering the damn thing would result in improved performance all
around, well the .NET seems to really suck doing things graphically on
forms that VB6 Seemed to do fine. Anyone can jump in and tell me am an
idiot and here's the right way to do it, if this really is an
as*-backwards way but I'm really frustrated that things so easy have
been made more complicated and perform less well.

The premise is simple and I expect that people every do this all the
time. I have and application that has more than one form - All of the
forms are the same size but comprimise different menu's and functions.
When a user changes from one form the the next i want the next form to
occupy the same space as the previous one - so that the process of
changing forms is invisible to the user.

Well here's how I'm doing it.
<Seriously Abriviated Version>

The Application starts in a module sub main.

Sub Main

<Declare all my form objects>
Public CurrentForm as string
Public EndApp as boolean

While EndApp = false

Select Case CurrentForm
<ANYCASE> = ThatForm.showdiaglog

End While

So the Application just keeps looping thru opening the right form
after another is closed until the EndApp is set to true

This is working OK - but the real pain of if is I think im creating a
fresh object each time i call the <formname>.showdiaglog because the
last one was unloaded. The end problem is that FORMS WITH GRAPHICS
TAKE A LONG TIME TO LOAD IN .NET. With just a background image on the
form it's not that bad, maybe .25 seconds extra, however if you want
to make your label backgrounds invisible after that forget it. - Every
Lable with a transparent background adds between .25 and .5 seconds to
the form loading. with just a few lable this makes the application
look slugish just loading a form with a background and a few labels
(what the hell is that!) So the only way i can see my way outta this
is...

1)How can i load the form without making it visible and hold it in the
background until I want the user to access it? - This doesnt seem to
be as easy making it visible and invisible but maybe someone knows
how.

2) How can i get the graphics on a new form to load fast? - vb6 did
this instantly - why is visual studio taking a step back

-matthew
And Thanks!


Jul 17 '05 #2

"Matthew" <mo*****@hotmail.com> skrev i en meddelelse
news:dc**************************@posting.google.c om...
but I thought the purpose of re-engineering the damn thing would result in improved performance all around


Why did you think that ? Because you did not see any other reasons
? ;-)
--
/\ preben nielsen
\/\ pr**@post.tele.dk

Jul 17 '05 #3
Did you turn on option explicit and option strict ?
I've heard implicit conversions will slow it down, but if you turn these on,
the speed should be as fast as c++.
"Matthew" <mo*****@hotmail.com> wrote in message
news:dc**************************@posting.google.c om...
I am not the most talented programmer to grace the earth by a long
shot. But I've got a gripe I need to air about the .NET implementaion
of Visual Basic. I can live with alot of the major changes to the
structure and syntax of the code but I thought the purpose of
re-engineering the damn thing would result in improved performance all
around, well the .NET seems to really suck doing things graphically on
forms that VB6 Seemed to do fine. Anyone can jump in and tell me am an
idiot and here's the right way to do it, if this really is an
as*-backwards way but I'm really frustrated that things so easy have
been made more complicated and perform less well.

The premise is simple and I expect that people every do this all the
time. I have and application that has more than one form - All of the
forms are the same size but comprimise different menu's and functions.
When a user changes from one form the the next i want the next form to
occupy the same space as the previous one - so that the process of
changing forms is invisible to the user.

Well here's how I'm doing it.
<Seriously Abriviated Version>

The Application starts in a module sub main.

Sub Main

<Declare all my form objects>
Public CurrentForm as string
Public EndApp as boolean

While EndApp = false

Select Case CurrentForm
<ANYCASE> = ThatForm.showdiaglog

End While

So the Application just keeps looping thru opening the right form
after another is closed until the EndApp is set to true

This is working OK - but the real pain of if is I think im creating a
fresh object each time i call the <formname>.showdiaglog because the
last one was unloaded. The end problem is that FORMS WITH GRAPHICS
TAKE A LONG TIME TO LOAD IN .NET. With just a background image on the
form it's not that bad, maybe .25 seconds extra, however if you want
to make your label backgrounds invisible after that forget it. - Every
Lable with a transparent background adds between .25 and .5 seconds to
the form loading. with just a few lable this makes the application
look slugish just loading a form with a background and a few labels
(what the hell is that!) So the only way i can see my way outta this
is...

1)How can i load the form without making it visible and hold it in the
background until I want the user to access it? - This doesnt seem to
be as easy making it visible and invisible but maybe someone knows
how.

2) How can i get the graphics on a new form to load fast? - vb6 did
this instantly - why is visual studio taking a step back

-matthew
And Thanks!

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.732 / Virus Database: 486 - Release Date: 7/29/2004
Jul 17 '05 #4
Hi Matthew,

It's because VB.NET abandons GDI for GDI+ and GDI+ is a dog. MS has no
concern about graphic performance. Maybe Longhorn will help in about 3
years. Historically, MS stays clear from graphic issues.

I would recommend staying with VB6. Native un-managed code will be around
for ever. Eventually systems will get fast enough to handle .NET as it was
intended.

Use VB.NET for web development and non-intensive client side apps.

For intensive client side apps, VB6 or VC6 rule.

best regards,

Robert Dede
www.gigasoft.com


"Matthew" <mo*****@hotmail.com> wrote in message
news:dc**************************@posting.google.c om...
I am not the most talented programmer to grace the earth by a long
shot. But I've got a gripe I need to air about the .NET implementaion
of Visual Basic. I can live with alot of the major changes to the
structure and syntax of the code but I thought the purpose of
re-engineering the damn thing would result in improved performance all
around, well the .NET seems to really suck doing things graphically on
forms that VB6 Seemed to do fine. Anyone can jump in and tell me am an
idiot and here's the right way to do it, if this really is an
as*-backwards way but I'm really frustrated that things so easy have
been made more complicated and perform less well.

The premise is simple and I expect that people every do this all the
time. I have and application that has more than one form - All of the
forms are the same size but comprimise different menu's and functions.
When a user changes from one form the the next i want the next form to
occupy the same space as the previous one - so that the process of
changing forms is invisible to the user.

Well here's how I'm doing it.
<Seriously Abriviated Version>

The Application starts in a module sub main.

Sub Main

<Declare all my form objects>
Public CurrentForm as string
Public EndApp as boolean

While EndApp = false

Select Case CurrentForm
<ANYCASE> = ThatForm.showdiaglog

End While

So the Application just keeps looping thru opening the right form
after another is closed until the EndApp is set to true

This is working OK - but the real pain of if is I think im creating a
fresh object each time i call the <formname>.showdiaglog because the
last one was unloaded. The end problem is that FORMS WITH GRAPHICS
TAKE A LONG TIME TO LOAD IN .NET. With just a background image on the
form it's not that bad, maybe .25 seconds extra, however if you want
to make your label backgrounds invisible after that forget it. - Every
Lable with a transparent background adds between .25 and .5 seconds to
the form loading. with just a few lable this makes the application
look slugish just loading a form with a background and a few labels
(what the hell is that!) So the only way i can see my way outta this
is...

1)How can i load the form without making it visible and hold it in the
background until I want the user to access it? - This doesnt seem to
be as easy making it visible and invisible but maybe someone knows
how.

2) How can i get the graphics on a new form to load fast? - vb6 did
this instantly - why is visual studio taking a step back

-matthew
And Thanks!

Jul 17 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

114
9682
by: Maurice LING | last post by:
This may be a dumb thing to ask, but besides the penalty for dynamic typing, is there any other real reasons that Python is slower than Java? maurice
0
1273
by: Jan Kopcsek | last post by:
Hello, is there a way to draw Windows.Forms components into a specified surface (a D3DSurface for example)? i want to fill a texture with the graphics and render it to the screen. it looks like...
7
1532
by: Bob L. | last post by:
Hi everyone, I am working on converting a VB6 project to .NET, and I am astounded at how amazingly slow Visual Studio is when loading a solution. For example, I have a solution with 11 class...
15
1661
by: ham-z | last post by:
I have written the following Win app in VB.NET 2003 . The class is simply picture boxes that behave in a random order after they have been instantiated and added to a form. When I create 15 or more...
2
5112
by: Anita C | last post by:
Hi, How do I associate or map a specific column in a datatable to a particular element present in an xml document - to read into a datatable as well as write from the datatable to the xml element?...
5
20261
by: Vin | last post by:
Hi, I am using the following code to draw whatever the user draws using x,y. // draws lines directly on a winform. CreateGraphics().DrawLine(APen, x, y, OldX, OldY); Now how do I save the...
4
2442
by: Renato Vieira | last post by:
In order to do some UI animation or drawings can I use a Graphics object in a WEB Forms project (in VisualStudio.NET) -- Renato /*Portugal*/ Vieira
25
3219
by: news.microsoft.com | last post by:
Hi all, First post here. I'm porting an application I wrote in VB6, over to VB.NET 2005. It could be said I'm really struggling with some (most!) of the syntax of VB.NET 2005, but I'm getting...
5
2922
by: DR | last post by:
Why is its substantialy slower to load 50GB of gzipped file (20GB gzipped file) then loading 50GB unzipped data? im using System.IO.Compression.GZipStream and its not maxing out the cpu while...
1
6852
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7356
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5448
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4878
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4573
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3084
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3074
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1389
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
277
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.