289 reputation
14
bio website
location Netherlands
age 41
visits member for 3 years
seen Jan 20 at 10:23

Jan
19
comment How do I control which calculations are done on the CPU and which are done on the GPU?
IIRC, the shaders are compiled on the CPU before being sent to the GPU. And that's done by the GPU driver without the OS.
Jan
14
comment Legality on BSP maps and creating them using Open Source Editor Tools
"Legality" is a misleading word here. There aren't any explicit laws on this; the terms are enforced by private contracts.
Jan
14
comment How do teams prevent overwriting work in source files?
@O.R.Mapper: Getting parent-child relations right is fairly easy. Both versions to renconcile may be assumed to be correct, after all. My main concern would be max-occurs; if two childs are added when one is allowed you have an invalid document.
Jan
13
comment How do teams prevent overwriting work in source files?
@MaurycyZarzycki: Changing the same letter is similar to changing the same pixel: that needs manual resolving. .JPEG probably was a bad example, I now realize, because artists don't work on lossy formats. But the merge issue also exists with .PNG. At the very least, you'd appreciate if merge tools would be able to merge XML without breaking it.
Jan
12
comment How do teams prevent overwriting work in source files?
On the plus side, locking is about the only way you can edit a .JPEG or other non-plain-text file. This isn't a theoretical limitation, it's just that the merge tools usually suck.
Jan
12
comment How do teams prevent overwriting work in source files?
In fact, 3 of the 4 tags are an answer, but one is the answer.
Jan
3
comment How can I make A* finish faster when the destination is impassable?
Re Google, at my previous job we analyzed the performance of Google Maps and found that it couldn't have been A*. We believe they use ArcFlags or other similar algorithms that rely on map preprocessing.
Jan
3
comment How can I make A* finish faster when the destination is impassable?
Wrong. A* is very much aware of topology, via the choice of admissable heuristic.
Jan
3
comment How can I make A* finish faster when the destination is impassable?
@Zehelvion: details, really, the point is that you establish an upper bound which allows you to prune A* searches, allowing a quicker result in particular for cases when no path exists (but also for long paths near the max length)
Jan
3
comment How can I make A* finish faster when the destination is impassable?
@Desty: That's NP in path length, not node count, which is why I explicitly wrote O(nodes) instead of just O(n).
Jan
2
comment How can I make A* finish faster when the destination is impassable?
If there are different agents with different rules, but not too many, this can still be generalized fairly efficiently by using a vector of IDs, one per agent class.
Jan
2
comment How can I make A* finish faster when the destination is impassable?
Note that you can determine (reasonably efficient, O(nodes)) for a given graph the maximum distance between two nodes. This is the longest path problem, and it provides you with a correct upper bound for the number of nodes to check.
Oct
27
answered Transmission implementation in a car game
Sep
3
comment How to describe the performance requirements for a PC game?
This problem is why demo's are very relevant for PC's. "If you doubt whether your PC is fast enough, just try the first level for free." Do put demanding GFX in that level, both to sell your game and to prevent performance problems later on.
Aug
12
comment How can glass breaking effect from Smash Hit be achieved?
Looks fake. The edges are curved unrealistically. Straight edges followed by sharp bends followed by sharp edges again? Not going to happen. Unprepared glass doesn't break in L shapes.
Jul
7
comment Dealing with multiple licenses
The first line would be better stated as "You must follow at least one of the licenses."
Jul
3
awarded  Critic
Jul
3
comment Does allocating and freeing a huge chunk of memory at startup “clean up memory”?
"Malloc has a long linked list of available blocks of memory called the free chain. When you call malloc, it walks the free chain to find a block of memory that's big enough for your request.". You're describing one possible implementation, but not a modern one. For instance, any modern implementation has optimized paths for 4, 8 and 16 byte allocations, and another for large (e.g. >4kB) allocations. A single free chain performs horribly.
Jun
30
comment which quarter of a triangle the point is in
Way overkill. You don't need a length-preserving rotation, so using (a=x+y, b=x-y) transform works well enough. Matrix transforms are useful in the general case, but they're rarely efficient in specific cases.
Jun
30
answered Reducing APK File Size by using JPG instead of PNG for game background images