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