Hi Isaac
Thanks for your detailed feedback. We greatly value such constructive feedback as it will help improve our product offering.
We appreciate your feedback on the sample application and I will make sure any issues that you have reported are fixed for our next release. The suggestion for capping frame rate is a great one that I will add to the application. Regarding the processing of physics on two separate threads based on splitting the number of spheres between the threads, while the data is decomposed, the functional decomposition is difficult. since we expect that these spheres are going to be colliding against each other, we will actually create more interdependencies between the 2 threads. One thing that we can consider doing is split the spheres based on which quadrant they are in and allocate each of the quadrants to a thread, thereby reducing the dependency when it comes to collision.
While we can definitely optimize the sample application for multi-core capability, the intention in this application is more to indicate the potential of platform feedback in the app. In this regard, the first and simplest step was to create these "meters" to show the various platform states on the HUD. But the impact of the platform awareness will show better if the game can use these to change states. In the past, game developers designed games to support the variant capabilities of graphics cards (hi-fidelity to low-end graphics). In the future, I expect game developers to design and develop their games for variant platforms. For example, a game that runs well on a desktop might not run as well on a laptop and might be even worse on a UMPC (ultra mobile PC) or on a cellphone, due to various reasons - form factor, power constraints, aspect ratio, graphics capabilities etc. Today, games are designed specifically for a particular type of platform. In future, this probably will not be the case. The expectation would be for the game to scale seamlessly between platforms. The games that can do this well, will be the ones that probably will lead the market for such usage.
If you have any other usage models for such use of platform information, do share with us and we will try to provide infrastructure for such capabilities in our software.
Thanks and happy gaming!!
Satheesh
Disclaimer: All opinions expressed in this post are those of the author and not a representation of Intel's views on this topic.