Geeks With Blogs
Timo Heinäpurola C/C++
Command passing after a diet
Command passing is a handy way to execute pieces of code on specific threads. The idea is simple enough: Write a command into a buffer and that command then gets executed on some specific thread that monitors that command buffer. This paradigm is used in graphics APIs like DirectX and OpenGL, for instance. This allows you to split your data into working sets that are owned by a single thread and must maintain their state over a specified time period. In the graphics engine I’m developing at Raccoon ......

Posted On Wednesday, January 11, 2012 9:58 PM

Take your alignment seriously
Just recently I bumped into a very nasty bug that I had been unfortunate enough to conjure. Alignment of memory has never been my primary concern when working on the PC. As a typical C++ programmer you often don’t have to think about such things. On the PC this is usually “almost never” (when not optimizing, that is) and in a managed environment this truly should become “never”. On ARM, however, “never” becomes “almost never” again. Having your memory aligned means storing values of different sizes ......

Posted On Friday, November 4, 2011 7:20 PM

Referential danger
We all know how at some point a small typo can result in odd application behavior even if the source code it self compiles. One issue that pops up from time to time is missing the ‘&’ character and thus declaring a variable inadvertently as not being a reference. void SomeMethod() { // ... RRArray<RRInt_t> rIndices = pSubMesh->GetIndices(); // ... } Just recently I ran into this kind of a situation where I had a method that contained this kind of an invalid variable definition (GetIndices ......

Posted On Thursday, May 26, 2011 6:29 AM

vNext for C++ developers
TechEd 2011 got us talking about the next Visual Studio version called vNext. The update adds multiple small and subtle performance improvements as well as major new ALM tools. These tools focus on helping developers work in the so called Virtuous Cycle, which consists of development and operation in a continuous loop. The major tools concentrate on requirements gathering, agile planning, stakeholder feedback, test coverage analysis and much much more. You can see the full session by Cameron Skinner ......

Posted On Wednesday, May 25, 2011 4:25 PM

Copyright © raccoon_tim | Powered by: