-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-10-30 07:09, schrieb mtewoodbury@gmail.com:
From: Max TenEyck Woodbury max+git@mtew.isa-geek.net
I was getting mystery frozen processes that cleared when a total screen redraw was forced.
This has been reported numerous times over several years. It came and went with various releases. I have been getting it consistantly recently. I had an idea that it might have something to do with partially uninitialized drawing data structures, so I started adding HEAP_ZERO_MEMORY flags in various places. This particular set cleared the problem, at least for now...
I don't understand the description. What do you mean with forcing a total screen redraw? Which Windows applications were affected? What's the symptom of a freeze? A game being stuck for half a second? A game being stuck forever until you kill it?
- declaration->elements = HeapAlloc(GetProcessHeap(), 0, sizeof(*declaration->elements) * element_count);
- declaration->elements = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof(*declaration->elements) * element_count);
I'd expect 1 byte padding at the end of the structure because the structure has only 19 bytes (23 in 64 bit). This may cause issues if we're doing a memcmp over a vertex declaration or one or more vertex declaration elements. I am not aware that we're doing such a thing though.