Example #1
0
        public static void LogEnvironmentInformation()
        {
            MySandboxGame.Log.WriteLine("MyVideoModeManager.LogEnvironmentInformation - START");
            MySandboxGame.Log.IncreaseIndent();

            try
            {
                ManagementObjectSearcher mosComputer = new System.Management.ManagementObjectSearcher("Select Manufacturer, Model from Win32_ComputerSystem");
                if (mosComputer != null)
                {
                    foreach (var item in mosComputer.Get())
                    {
                        MySandboxGame.Log.WriteLine("Win32_ComputerSystem.Manufacturer: " + item["Manufacturer"]);
                        MySandboxGame.Log.WriteLine("Win32_ComputerSystem.Model: " + item["Model"]);
                        MySandboxGame.Log.WriteLine("Virtualized: " + IsVirtualized(item["Manufacturer"].ToString(), item["Model"].ToString()));
                    }
                }

                ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT Name FROM Win32_Processor");
                if (mos != null)
                {
                    foreach (ManagementObject mo in mos.Get())
                    {
                        MySandboxGame.Log.WriteLine("Environment.ProcessorName: " + mo["Name"]);
                    }
                }

                //  Get info about memory
                var memory = new WinApi.MEMORYSTATUSEX();
                WinApi.GlobalMemoryStatusEx(memory);

                MySandboxGame.Log.WriteLine("ComputerInfo.TotalPhysicalMemory: " + MyValueFormatter.GetFormatedLong((long)memory.ullTotalPhys) + " bytes");
                MySandboxGame.Log.WriteLine("ComputerInfo.TotalVirtualMemory: " + MyValueFormatter.GetFormatedLong((long)memory.ullTotalVirtual) + " bytes");
                MySandboxGame.Log.WriteLine("ComputerInfo.AvailablePhysicalMemory: " + MyValueFormatter.GetFormatedLong((long)memory.ullAvailPhys) + " bytes");
                MySandboxGame.Log.WriteLine("ComputerInfo.AvailableVirtualMemory: " + MyValueFormatter.GetFormatedLong((long)memory.ullAvailVirtual) + " bytes");

                //  Get info about hard drives
                ConnectionOptions oConn  = new ConnectionOptions();
                ManagementScope   oMs    = new ManagementScope("\\\\localhost", oConn);
                ObjectQuery       oQuery = new ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3");
                using (ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery))
                {
                    ManagementObjectCollection oReturnCollection = oSearcher.Get();
                    foreach (ManagementObject oReturn in oReturnCollection)
                    {
                        string capacity  = MyValueFormatter.GetFormatedLong(Convert.ToInt64(oReturn["Size"]));
                        string freeSpace = MyValueFormatter.GetFormatedLong(Convert.ToInt64(oReturn["FreeSpace"]));
                        string name      = oReturn["Name"].ToString();
                        MySandboxGame.Log.WriteLine("Drive " + name + " | Capacity: " + capacity + " bytes | Free space: " + freeSpace + " bytes");
                    }
                    oReturnCollection.Dispose();
                }
            }
            catch (Exception e)
            {
                MySandboxGame.Log.WriteLine("Error occured during enumerating environment information. Application is continuing. Exception: " + e.ToString());
            }

            MySandboxGame.Log.DecreaseIndent();
            MySandboxGame.Log.WriteLine("MyVideoModeManager.LogEnvironmentInformation - END");
        }
Example #2
0
        private static MyProcessStartAnalytics GetProcessStartAnalyticsData()
        {
            MyProcessStartAnalytics data = new MyProcessStartAnalytics();

            try
            {
                var cpus = new ManagementObjectSearcher("root\\CIMV2", "SELECT Name FROM Win32_Processor").Get();
                // We're just reporting the first
                var cpuName = cpus.Cast <ManagementObject>().First()["Name"].ToString();

#if XB1
                System.Diagnostics.Debug.Assert(false);
#else // !XB1
                var memoryInfo = new WinApi.MEMORYSTATUSEX();
                WinApi.GlobalMemoryStatusEx(memoryInfo);
#endif // !XB1

                MyAdapterInfo gpu        = MyVideoSettingsManager.Adapters[MyVideoSettingsManager.CurrentDeviceSettings.AdapterOrdinal];
                var           deviceName = gpu.Name;

                data.ProcessorCount = (byte)MyEnvironment.ProcessorCount;
#if XB1
                System.Diagnostics.Debug.Assert(false);
#else // !XB1
                data.OsVersion = Environment.OSVersion.VersionString;
#endif // !XB1
                data.CpuInfo = cpuName;
#if XB1
                System.Diagnostics.Debug.Assert(false);
#else // !XB1
                data.OsPlatform = Environment.Is64BitOperatingSystem ? "64bit" : "32bit";
#endif // !XB1
                data.HasDX11     = MyDirectXHelper.IsDx11Supported();
                data.GameVersion = MyFinalBuildConstants.APP_VERSION_STRING.ToString();
#if XB1
                System.Diagnostics.Debug.Assert(false);
#else // !XB1
                data.TotalPhysMemBytes = memoryInfo.ullTotalPhys;
#endif // !XB1
                data.GpuInfo = new MyGraphicsInfo();
                data.GpuInfo.AnisotropicFiltering = MyVideoSettingsManager.CurrentGraphicsSettings.Render.AnisotropicFiltering.ToString();
                data.GpuInfo.AntialiasingMode     = MyVideoSettingsManager.CurrentGraphicsSettings.Render.AntialiasingMode.ToString();
                data.GpuInfo.FoliageDetails       = MyVideoSettingsManager.CurrentGraphicsSettings.Render.FoliageDetails.ToString();
                data.GpuInfo.ShadowQuality        = MyVideoSettingsManager.CurrentGraphicsSettings.Render.ShadowQuality.ToString();
                data.GpuInfo.TextureQuality       = MyVideoSettingsManager.CurrentGraphicsSettings.Render.TextureQuality.ToString();
                data.GpuInfo.VoxelQuality         = MyVideoSettingsManager.CurrentGraphicsSettings.Render.VoxelQuality.ToString();
                data.GpuInfo.GrassDensityFactor   = MyVideoSettingsManager.CurrentGraphicsSettings.Render.GrassDensityFactor;
                data.GpuInfo.GPUModelName         = gpu.DeviceName;
                data.GpuInfo.GPUMemory            = gpu.VRAM;
                data.AudioInfo.MusicVolume        = MySandboxGame.Config.MusicVolume;
                data.AudioInfo.SoundVolume        = MySandboxGame.Config.GameVolume;
                data.AudioInfo.HudWarnings        = MySandboxGame.Config.HudWarnings;
                data.AudioInfo.MuteWhenNotInFocus = MySandboxGame.Config.EnableMuteWhenNotInFocus;
                data.Fullscreen = MyVideoSettingsManager.CurrentDeviceSettings.WindowMode.ToString();
                data.Resolution = MySandboxGame.Config.ScreenWidth.ToString() + " x " + MySandboxGame.Config.ScreenHeight.ToString();
            }
            catch (Exception exception)
            {
                MyLog.Default.WriteLine(exception);
            }

            return(data);
        }