D on next-gen consoles and for game development

QAston qaston at gmail.com
Thu May 23 13:02:05 PDT 2013


On Thursday, 23 May 2013 at 18:13:17 UTC, Brad Anderson wrote:
> There was a lot of interesting stuff in Benjamin Thaut's 
> article about GC versus manual memory management in a game [4] 
> and the discussion about it on the forums [5].  A lot of this 
> collective knowledge built up on manual memory management 
> techniques specific to D should probably be formalized and 
> added to the official documentation.  There is a Memory 
> Management [6] page in the documentation but it appears to be 
> rather dated at this point and not particularly applicable to 
> modern D2 (no mention of emplace or scoped and it talks about 
> using delete and scope classes).
>
> Game development is one place D can really get a foothold but 
> all too often the GC is held over D's head because people 
> taking their first look at D don't know how to avoid using it 
> and often don't realize you can avoid using it entirely. This 
> is easily the most common issue raised by newcomers to D with a 
> C or C++ background that I see in the #d IRC channel (many of 
> which are interested in game dev but concerned the GC will kill 
> their game's performance).

I think that Phobos should have some support for manual memory 
management. I don't mean clearing out the gc usage there, as it's 
fairly obvious. I rather think about something like 
unique_ptr/shared_ptr in the std. I think unique_ptr can't be 
implemented without rval refs, also C++ sollutions may not fit 
here. Anyways, now it's not so straightforward how to live 
without gc so standard sollution would be really helpful.

Also, it should be visible in C++/D that D can really deal with 
manual memory management conveniently - when I checked out Dlang 
first time I felt very disappointed that "delete" operator is 
deprecated. "So - they advertise one can code without GC, yet 
they seem to deprecate the operator" - false claims discourage 
people from using new languages.



More information about the Digitalmars-d mailing list