Solved

My program eats up a lot of memory!

Posted on 2003-11-08
4
270 Views
Last Modified: 2010-04-16
I made a small MiniWMPlayer, which is just running off the notification icon and has a WMPlayer OCX object within it.

I open my Task Manager, look up my program while it's running and playing a song, I find it's taking about 38,000K of memory usage. I run the regular Windows Media Player, I play a song, and I compare its memory usage, it only takes 5,000K! I was amazed.

Can someone help me go through the objects I have and methods I use?
Let's start with the object I have on the forms.

- 2 Form (1 frmMain for seeking/buttons/etc., 1 frmLabel to animate the song info)
- 1 NotifyIcon
- 5 Timer on frmMain; here's a list of their names and what they do:
tim = to run only once to hide frmMain at startup after 5 seconds
timLoop = loops to see if a newer instance of the app sends a new file name to this current instance (to avoid multiple instances)
timDur = to update the Duration info of the song on frmMain
timback, timforward = used to animate the main window back and forth when the user requests it to show
- 3 Timer on frmLabel; all used to animate the song info back and forth and a pause in the middle
- 1 ContextMenu
- 1 OpenFileDialog

Having that said, do they affect the memory usage at all?
0
Comment
Question by:DeuceEE
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 22

Accepted Solution

by:
Mohammed Nasman earned 100 total points
ID: 9709410
Hello

   Normal win32 app differ from .net app in this area, because .net app is managed code which require the CLR to run it and that make it take much more memory, I have some application built using Delphi which is large and big in .exe size, but take much less memory from any .Net app, because they don't require the CLR
0
 
LVL 1

Author Comment

by:DeuceEE
ID: 9709414
So if I actually make the same exact program with, say, VB6, it won't take as much?

If that's the case, a bigger project on .NET is not really memory-friendly, is it?
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 9709440
>>say, VB6, it won't take as much?
I think yes, didn't test that with VB, just with Delphi
>>a bigger project on .NET is not really memory-friendly, is it?
no, it's not like that, the small or large project will run throuth the CLR, so at small project you will feel it take much memorty than should, but you have much advantages using managed code, for example you don't need to worry about freeing your objects, the garbage collection will do that for you
also there are more features avaliable in .net platform than using VB6, it's MS Futue ;-)
0
 
LVL 1

Author Comment

by:DeuceEE
ID: 9709448
Oooh. Now that makes sense. I do appreciate the garbage collection and other features that I actually used. If memory-usage is the price for that, so be it.
Thanks :)


Free points -- for everyone!!!
0

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question