Index: experimental/Threading/Threading.sln
===================================================================
--- experimental/Threading/Threading.sln	(revision 427)
+++ experimental/Threading/Threading.sln	(revision 428)
@@ -3,4 +3,6 @@
 # Visual Studio 2008
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Threading", "Threading\Threading.vcproj", "{0DA5F800-C727-4724-8FEE-4787703ED9B6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Timer", "Timer\Timer.vcproj", "{30B593AA-3661-4498-BAF1-15D701886EB2}"
 EndProject
 Global
@@ -14,4 +16,8 @@
 		{0DA5F800-C727-4724-8FEE-4787703ED9B6}.Release|Win32.ActiveCfg = Release|Win32
 		{0DA5F800-C727-4724-8FEE-4787703ED9B6}.Release|Win32.Build.0 = Release|Win32
+		{30B593AA-3661-4498-BAF1-15D701886EB2}.Debug|Win32.ActiveCfg = Debug|Win32
+		{30B593AA-3661-4498-BAF1-15D701886EB2}.Debug|Win32.Build.0 = Debug|Win32
+		{30B593AA-3661-4498-BAF1-15D701886EB2}.Release|Win32.ActiveCfg = Release|Win32
+		{30B593AA-3661-4498-BAF1-15D701886EB2}.Release|Win32.Build.0 = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: experimental/Threading/Timer/Timer.vcproj
===================================================================
--- experimental/Threading/Timer/Timer.vcproj	(revision 428)
+++ experimental/Threading/Timer/Timer.vcproj	(revision 428)
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="Timer"
+	ProjectGUID="{30B593AA-3661-4498-BAF1-15D701886EB2}"
+	RootNamespace="Timer"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(BOOST_HEADERS)&quot;;&quot;$(OSG_ROOT)\include&quot;"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="osgd.lib"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories="&quot;$(BOOST_LIBS)&quot;;&quot;$(OSG_ROOT)/lib&quot;"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				AdditionalIncludeDirectories="&quot;$(BOOST_HEADERS)&quot;;&quot;$(OSG_ROOT)\include&quot;"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="osg.lib"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="&quot;$(BOOST_LIBS)&quot;;&quot;$(OSG_ROOT)/lib&quot;"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Quelldateien"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\main.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Headerdateien"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Ressourcendateien"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Index: experimental/Threading/Timer/main.cpp
===================================================================
--- experimental/Threading/Timer/main.cpp	(revision 428)
+++ experimental/Threading/Timer/main.cpp	(revision 428)
@@ -0,0 +1,74 @@
+// Timer Test
+
+#define _WIN32_WINNT  0x0601
+
+// OSG includes
+#include <osg/Notify>
+#include <osg/Timer>
+#include <boost/asio.hpp>
+#include <boost/thread.hpp>
+
+
+
+using namespace std;
+
+class timed_class
+{
+public:
+  timed_class(boost::asio::io_service& io_service) : _timer(io_service), i(0), timer(*osg::Timer::instance())
+  {
+	last_tick = timer.tick();
+
+    // now schedule the first timer.
+
+    _timer.expires_from_now(boost::posix_time::milliseconds(1000/60)); // runs with 60Hz
+    _timer.async_wait(boost::bind(&timed_class::handle_timeout, this, boost::asio::placeholders::error));
+  }
+
+  void handle_timeout(boost::system::error_code const& cError)
+  {
+    if (cError.value() == boost::asio::error::operation_aborted)
+      return;
+
+    if (cError && cError.value() != boost::asio::error::operation_aborted)
+      return; // throw an exception?
+
+	// Schedule the timer again...
+    _timer.expires_from_now(boost::posix_time::milliseconds(1000/60)); // runs with 60Hz
+    _timer.async_wait(boost::bind(&timed_class::handle_timeout, this, boost::asio::placeholders::error));
+
+
+	// Payload
+	osg::Timer_t currentTick = timer.tick();
+	cout << timer.delta_m(last_tick,currentTick) << " msec" << endl;
+	last_tick = timer.tick();
+  }
+
+private:
+  boost::asio::deadline_timer _timer;
+    high_resolution_timer
+  int i;
+  const osg::Timer& timer;
+  osg::Timer_t last_tick;
+};
+
+
+
+int main( int argc, char **argv )
+{
+	boost::asio::io_service io_service;
+
+	timed_class t(io_service);
+
+	//io_service.run();	// Start ioService in this thread( blocking
+
+	// Start Timer in another thread to continue this thread
+	boost::thread thread(boost::bind(&boost::asio::io_service::run, &io_service));
+
+	// OUtput stuff to show th thread is working
+	while(1)
+		//OSG_ALWAYS<<"Main Thread:"<<i<<std::endl;
+		OSG_ALWAYS<<"";
+
+    return 0;
+}
