I have attached a map of the locales I will be at so far.
Monday, February 18, 2008
Tuesday, February 12, 2008
GDC 2008 Agenda
Thursday, January 3, 2008
New GC Feature in Framework 2.0 SP1
There are a bevy of new functionality added with SP1 for .NET Framework 2.0, but one of particular interest to me was the changed to the garbage collector. There are 2 major changes that I will discuss.
GC Collection Modes
There now exists a new overload to the GC.Collect method. The new method signature is void System.GC.Collect(int generation, System.GCCollectionMode mode). The generation parameter can be 0 to System.GC.MaxGeneration (usually 2 is upper limit on server GC). The mode parameter can be Default, Forced or Optimized.
- Default - same as if you call System.GC.Collect with no parameters
- Forced - guarantees collection of all generations (currently this is the same as Default)
- Optimized - tells GC to only collect if it is determined to be "productive"
GC Latency Modes
A new property has been added to the Runtime help in controlling the GC. The new property signature is System.Runtime.GCLatencyMode System.Runtime.GCSettings.LatencyMode { get; set; }. Follwing explains the differences.
- Batch - allow GC to work with maximum throughput at the cost of responsiveness
- Interactive - allows the GC to be balanced between max throughput and max responsiveness
- LowLatency - allows the GC to be "stalled", useful when responsiveness or CPU load is needed by the application and GC should not interrupt.
Friday, December 28, 2007
Frame of Reference and Animation Thoughts
Recently I have been studying the ideas of Frame Hierarchies used in graphics programming. Specifically, with DirectX and the X file graphics format. Listed are some of my findings:
Frame of References
Frame of References are all around us. A typical example is someone giving directions to someone else. These are typically given "within a frame of reference". Meaning, if directions are given to the location (B), they are given assuming you are starting at location (A).
In the context of DirectX graphics, frames (which contain mesh(s)) are usually more complex than just a single frame / mesh. Hence, we require a way to manipulate the "series" of frames (and corresponding meshes) in a way that will allow each frame to be manipulated, but still allow the frame objects to maintain some sort of relationship. If we use the concept of a hierarchy and a frame of reference we can accomplish this.
Basically, we establish a root of the hierarchy and then siblings/children under this. Each sibling will share the same parent world matrix, and each child will have a parent (which it will get its world matrix from).
The order of operation on the world matrix at the child level determines how the object is manipulated/changed. If we apply, for instance, a rotation to the child model space matrix and then concatenate this matrix with the child's parent matrix, we can archive frame independent transformation/rotation/scaling while maintaining the overall frame hierarchal relationship.
Animation
How does this frame hierarchy business help us when we begin to use animation? It does so by defining animation interfaces, that are called by D3DX when Animation Sets that are active (allocated to tracks in the animation mixer) are found that have frame name references that are found in our Frame Hierarchy.
The D3DX API is constructed in such a way as to allow the X file definition contain animation sets, which contain animation definitions. These are in turn linked to frames in the hierarchy. Animation is a much more complex subject, but to simplify it, D3DX will crawl our hierarchy as time advances looking for frames that contain animation sets/animations. It will then do the calculations to determine what the animation should do based on passed time values and animation definition.
One key to remember is that since we are using a hierarchy we don't necessarily have to reprocess the entire tree if only a few children are affected by the change. We just process that part of the tree.
Tuesday, November 20, 2007
XNA Game Studio 2.0 BETA released!
The second release of XNA Game Studio has been released today. I am in currently in process of installation of this. I will be posting my experiences with this. Link to download.
Wednesday, November 14, 2007
Better Zuner than later :)
I have recently had the opportunity to experience the newest version of firmware and software available for the Zune. I am the proud owner of a Halo 3: 30GB Zune. As I have been using what is now termed the Zune 30 I have had experience with the device for about 6 months.
Device update
New firmware is included with the release of the new Zune devices, so the users of the 30GB model are not left out. As they are very similar in specs to the new Zune 80, sans the extra disk space and slightly smaller screen (.2" bigger) and a slight decrease in weight on the new devices. The new devices still use 801.11b/g wireless and this is one of the biggest updates, the advent of wireless music syncing. The menu system that is introduced with the new firmware is very similar to the prior version but is faster and transitions are more "polished". One of the biggest improvements I have welcomed is the ability to stop a video in progress, go listen to something else, and when you return to the video, your bookmark is automatically there. This was one of my biggest pet peeves of the previous version.
Marketplace update
As most who are interested in the Zune know, the software that accompanies the Zune's has been totally rewritten. Much more of a web 2.0 feel to the new version. The myriad of settings are increased to help personalization of your device. Podcast subscriptions are now supported. In similar fashion of the device, the software feels much faster (asynchronous tricks ;))
Online components
Some new additions to the system are the online components. There is now a personalized portal that functions as your zune home online. Zune cards have been introduced. This is very similar to gamercards for the XBox 360. The difference is obviously that they relate to how your using your device. The site shows users with "most plays" among other things. Users are able to "share" their zune cards with friends. Mine is here. This is driving home the social aspect that was originally sought after with this device. I personally love it! Join this with the fact that if you are a XBox 360 user, your friends list is available here for you (as well as view of your friends zunes stats, if they choose to share the info).
Conclusion
The update has been very easy and welcome by me and many others. I will support and add my part to keep the "social" growing!
Sunday, November 11, 2007
Posting from Windows Live Writer
This is a post generated by using a new tool recently released by Microsoft (Windows Live Writer). I have never used a offline blog editing software, so I am looking forward to this. Might help me stay up on my blog posts.