471,050 Members | 1,366 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,050 software developers and data experts.

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 4943
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 discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

114 posts views Thread by Maurice LING | last post: by
reply views Thread by Jan Kopcsek | last post: by
7 posts views Thread by Bob L. | last post: by
15 posts views Thread by ham-z | last post: by
4 posts views Thread by Renato Vieira | last post: by
25 posts views Thread by news.microsoft.com | last post: by
reply views Thread by leo001 | last post: by

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.