• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 275
  • Last Modified:

My program eats up a lot of memory!

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?
  • 2
  • 2
1 Solution
Mohammed NasmanSoftware DeveloperCommented:

   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
DeuceEEAuthor Commented:
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?
Mohammed NasmanSoftware DeveloperCommented:
>>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 ;-)
DeuceEEAuthor Commented:
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!!!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now