So, everytime we enter Crysis 3 we need to push that maximum button on the cpu timer to be set on 0.5 ? Also, bcdedit /set disabledynamictick yes, doesn't help to reduce the DPC latency ? Or DPC latency has nothing in common with cpu timer, i suppose..
If anyone interested, here is the real FULL list of console commands for Crysis 3/ build 1.0.0.1. Ripped from console (manually, cause DumpCommandsVars kinda won't work)/ Very High default settings: Spoiler quit (command) q_ShaderFX = 3 q_ShaderGeneral = 3 q_ShaderGlass = 3 q_ShaderHDR = 3 q_ShaderIce = 3 q_ShaderMetal = 3 q_ShaderPostProcess = 3 q_ShaderShadow = 3 q_ShaderSky = 3 q_ShaderTerrain = 3 q_ShaderVegetation = 3 q_ShaderWater = 2 e_CoverageBufferReproj = 2 e_GI = 1 e_GICache = 7 e_GIIterations = 10 e_GsmCache = 1 e_LodRatio = 40 e_MergedMeshesInstanceDist = 8 e_MergedMeshesViewDistRatio = 50 e_ParticlesForceSoftParticles = 1 e_ParticlesMotionBlur = 1 e_ParticlesObjectCollisions = 2 e_ParticlesShadows = 1 e_ShadowsMaxTexRes = 1024 e_ShadowsPoolSize = 4096 e_ShadowsResScale = 40 e_ShadowsTessellateCascades = 1 e_Tessellation = 1 e_TessellationMaxDistance = 30 e_ViewDistRatio = 100 e_ViewDistRatioDetail = 100 e_ViewDistRatioVegetation = 100 rcon_command (command) rcon_connect (command) rcon_disconnect (command) r_buffer_sli_workaround = 0 r_ChromaticAberration = 1.5 r_ColorGrading = 2 r_DeferredShadingAmbientSClear = 0 r_DepthOfField = 2 r_DisplayInfo = 0 r_DrawNearFoV = 55 r_FogShadows = 1 r_FogShadowsWater = 1 r_FullscreenPreemption = 1 r_FullscreenWindow = 0 r_Gamma = 1.0 r_GetScreenShot = 0 r_HDRBloomRatio = 0.15 r_HDRBrightLevel = 1 r_HDRGrainAmount = 0 r_MotionBlur = 2 r_MotionBlurShutterSpeed = 0.0055 r_MultiGPU = 2 r_overrideDXGIAdapter = -1 r_overrideDXGIOutput = 0 r_Sharpening = 0.25 r_SilhouettePOM = 1 r_SSAO = 0 r_ssdo = 2 r_SSReflections = 3 r_TessellationTriangleSize = 8 r_TexMaxAnisotropy = 16 r_TexMinAnisotropy = 16 r_TexturesStreamPoolSize = 384 r_VSync = 0 r_WaterTessellationHW = 1 i_mouse_accel = 1 i_mouse_accel_max = 100.0 i_mouse_smooth = 1 ///must be grater or the same as 'cl_fov' pl_movement.power_sprint_targetFov = 65 sys_languages = english sys_MaxFPS = 60 ///in-game FPS limiter sys_screensaver_allowed = 0 sys_spec_gameeffects = 4 sys_spec_light = 4 sys_spec_objectdetail = 4 sys_spec_particles = 4 sys_spec_physics = 4 sys_spec_postprocessing = 4 sys_spec_shading = 4 sys_spec_shadows = 4 sys_spec_sound = 4 sys_spec_texture = 4 sys_spec_volumetriceffects = 4 sys_spec_water = 4 sys_UncachedStreamReads = 1 sys_user_folder = Crysis3 s_DialogVolume = 1 s_MusicVolume = 1 s_SFXVolume = 1 disconnect (command) g_blaze_gamePort = 64100 g_language = english g_radialBlur = 1 g_skipIntro = 1 g_useHitSoundFeedback = 1 hud_canvas_width_adjustment = 1 hud_hide = 0 hud_psychoPsycho = 0 cl_bobHud = 1.0 cl_crouchToggle = 1 cl_fov = 65 cl_sensitivity = 19.4 cl_zoomToggle = 0 vote (command) votekick (command) net_blaze_voip_enable = 1 net_blaze_voip_enable_ptt = 1 net_blaze_voip_playback_volume = 1 map (command) ...also, here is the all Console Commands and Variables (with discriptions) for CryEngine (3.41?) from CryEngine's FreeSDK. But note this, the current build of C3 are greater than some parts of the free sdk's manual content offers
An interesting thing I discovered today: EVGA Precision 4.0 now has frametime monitoring. My setup hovered around 16 milliseconds during an hour of Crysis 3 today. Make of it what you will...
I dont understand how we can make it permanent... What do I do with this?? [DllImport("ntdll.dll", EntryPoint = "NtSetTimerResolution")] public static extern void NtSetTimerResolution(uint DesiredResolution, bool SetResolution, ref uint CurrentResolution); private void Foo() { uint DesiredResolution = 9000; bool SetResolution= true; uint CurrentResolution = 0; NtSetTimerResolution(DesiredResolution, SetResolution, ref CurrentResolution); }
@dnottis, well...you can at least google it for "NtSetTimerResolution"; "Windows Timer Resolution"; "How to change Timer Resolution.." and so on PS. google - the ultimate manual !
yea yea, already have, no one has anything other than c++ code. We need an app to set it .5 permanently.
I couldn't get the switches to work. Do you use the 2.0 version? Because that one does have it. Wish I had money for that version
@dnottis, well...you also can do this: - Enable High Precision Event Timer through m.b. BIOS (HPET). - Run this command bcdedit /set useplatformclock true via command prompt. Restart Windows (!) - Run this command bcdedit /set disabledynamictick yes via command prompt. Restart Windows (!) Done. You have the best Timer Resolution possible for your particular PC. to reverse back those actions, you need: - Guess what?..Disable HPET in m.b. BIOS - Run this command bcdedit /deletevalue useplatformclock via command prompt. Restart Windows (!) - Run this command bcdedit /deletevalue disabledynamictick via command prompt. Restart Windows (!)
...you also can search it on warez sites But really, all you need is just enable High Precision Event Timer on your machine
guys do I need this for my setup ? set timer tool to max ? disable hpet ? or activate hpet in windows with 2 commands by the way, hpet is default on in bios and default in windows I do not like messing with HPET as they told me in the main HPET thread in this forum edit my hpet is activated I guess I got 14.3.. mhz in WinTimerTester 1.1 tool. So either way Im not gonna touch to HPET at all Im already fine with that. Im gonna test the set timer tool to max.
...for some HPET/ platformclock is good, for some it is very bad - just check it for your pc and measure framerates/ latency.
Yes I tested 0.5 timer and its a bit smooth now but no big difference.. I guess becuase its more like weak cpus that users have more cpu bound.. So thats it. and by default hpet is activated on bios and windows. I do not recommend HPET off and never mess with that it may cause severe consequences.