What's up with GDC?

Joerg Joergonson via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jun 12 07:22:54 PDT 2016


On Sunday, 12 June 2016 at 13:23:26 UTC, Adam D. Ruppe wrote:
> On Sunday, 12 June 2016 at 13:05:48 UTC, Joerg Joergonson wrote:
>> BTW, when I compile a simple project with your simpledisplay 
>> it takes up around 300MB(for ldc, 400 for dmd) and uses about 
>> 15% cpu.
>
> What's your code? The library itself does fairly little so the 
> time probably depends on your draw loop or timer settings 
> (though it did have a memory leak until recently, it wasn't 
> apparent until something had been running for a really long 
> time - I use it in my day-to-day terminal emulator, so I have 
> like 40 copies of the process running for months on end here...)
>
>
> I'm leaving in 2 minutes for church btw so I might not answer 
> you for about 5 hours when I'm back at the computer.

Well, it's about the same when I comment all my code out! It 
drops about 30 megs and a percent or two but still quite large.

When I remove all code, it is 2MB in size and 0 cpu(I just use 
Sleep to keep it from terminating).

When I try to use a sleep before the event loop to and just call 
create2dWindow, I get

Error: undefined identifier 'Sleep' in module 'core.thread', did 
you mean function 'Sleep'?		

Which godly in it's descriptive powers, right?

The code added is

		import core.thread;
		core.thread.Sleep(10000);

which is the same code I use in main() which works(worked)

		import core.thread : Sleep;
		Sleep(10000);

works though. Basically keeping the event loop uses around 12% 
cpu and 12MB of memory. Adding in my code, which simply uses your 
png to load some images and display them balloons it to 400MB. 
The exe is only 7MB in size.

So, I believe it is your code. The event loop is using quite a 
bit of cpu even when not "doing" anything(haven't look at it 
behind the scenes though).

The memory is probably from loading the images, possibly doubling 
all the images to powers of 2 might explain some of the bloat. I 
have a few large images that when uncompressed might be 20-40MB 
total and several smaller ones, probably insignificant. Shouldn't 
add up to 300MB though.

Once I get further in I'll try to see whats going on. I haven't 
noticed it leaking memory though.

Do you know if there is a way to get the largest used memory 
chunks and what is using them? That might tell the story!








More information about the Digitalmars-d-learn mailing list