View Issue Details

IDProjectCategoryView StatusLast Update
0004696The Dark ModSoundpublic11.11.2023 09:35
ReporterAluminumHaste Assigned Tostgatilov  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformX64OSWindowsOS Version7
Product VersionSVN 
Target VersionTDM 2.06Fixed in VersionTDM 2.06 
Summary0004696: At high FPS player footsteps don't always play
DescriptionI've been playing with FPS uncapped and over 200 fps I noticed that the player footsteps don't play while walking or running except in certain situations.

Turning on Vsync fixes the issue.

Steps To ReproduceUncap FPS on a small map so you can get really high FPS, and run and/or walk. You should notice that the footstep sounds either don't play, or only sometimes play.
Additional InformationI've uploaded a test map, you'll have to DMAP it.
TagsNo tags attached.
Attached Files
wtfglass.map (28,930 bytes)   
Version 2
// entity 0
{
"classname" "worldspawn"
"editor_drLastCameraPos" "-465.88 -128.052 466.139"
"editor_drLastCameraAngle" "-5.7 85.2 0"
// primitive 0
{
brushDef3
{
( 0 0 1 -944 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 1 0 -2144 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -2272 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -1424 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -2248 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 936 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 1 -936 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 1 0 -2152 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -2272 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 -64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -2248 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 2144 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 1 -936 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 1 0 -2144 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -2280 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 -64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -1424 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 2272 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 1 0 -2144 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -2272 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 -72 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -1424 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -2248 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 1 64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 1 -936 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -2272 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 -64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -1432 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -2248 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 1 0 1424 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 0 1 -936 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 1 0 -2144 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 -64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -1424 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -2256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 2248 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 6
{
brushDef3
{
( 0 0 1 -128 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 1 0 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 1 0 0 0 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 -1 0 240 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( -1 0 0 -128 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 -1 120 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
}
}
// primitive 7
{
brushDef3
{
( 0 1 0 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 1 0 0 0 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 -1 -64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 -1 0 240 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 1 -120 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( -1 0 0 -8 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
}
}
// primitive 8
{
brushDef3
{
( 0 1 0 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 -1 -64 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 -1 0 240 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( -1 0 0 -128 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 1 0 0 8 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 1 56 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
}
}
// primitive 9
{
brushDef3
{
( 0 1 0 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 -1 0 240 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( -1 0 0 -128 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 1 -120 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 0 0 -1 -56 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
( 1 0 0 120 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/dark_rough" 0 0 0
}
}
// primitive 10
{
patchDef2
{
"textures/darkmod/glass/stained_glass_lion_2sided"
( 3 3 0 0 0 )
(
( ( -120 248 -56 0 0 ) ( -120 248 32 -1.224646799147353e-16 -1 ) ( -120 248 120 -2.449293598294706e-16 -2 ) )
( ( -64 248 -56 -0.5 6.123233995736766e-17 ) ( -64 248 32 -0.5000000000000002 -1 ) ( -64 248 120 -0.5000000000000002 -2 ) )
( ( -8 248 -56 -1 1.224646799147353e-16 ) ( -8 248 32 -1 -0.9999999999999998 ) ( -8 248 120 -1 -2 ) )
)
}
}
// primitive 11
{
brushDef3
{
( 0 0 1 -186 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 69.8125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 1728 ) ( ( 0.0625 0 122.1875 ) ( 0 0.0625 7.40625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2736 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 7.40625 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -2048 ) ( ( 0.0625 0 69.8125 ) ( 0 0.0625 7.40625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2608 ) ( ( 0.0625 0 6.09375 ) ( 0 0.0625 7.40625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 178 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 57.1875 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 12
{
brushDef3
{
( 0 0 1 -178 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 69.8125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 1720 ) ( ( 0.0625 0 122.1875 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2736 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 50 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 122.1875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2608 ) ( ( 0.0625 0 6.09375 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -1728 ) ( ( 0.0625 0 6.8125 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 13
{
brushDef3
{
( 0 1 0 1728 ) ( ( 0.0625 0 122.1875 ) ( 0 0.0625 70.40625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2736 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 70.40625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 42 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 122.1875 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -2048 ) ( ( 0.0625 0 69.3125 ) ( 0 0.0625 70.40625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2608 ) ( ( 0.0625 0 6.09375 ) ( 0 0.0625 70.40625 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -50 ) ( ( 0.0625 0 57.90625 ) ( 0 0.0625 6.8125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 14
{
brushDef3
{
( 0 0 1 -178 ) ( ( 0.0625 0 7.03125 ) ( 0 0.0625 70 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2736 ) ( ( 0.0625 0 7.03125 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 50 ) ( ( 0.0625 0 7.03125 ) ( 0 0.0625 122 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -2056 ) ( ( 0.0625 0 70 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2608 ) ( ( 0.0625 0 56.96875 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 2048 ) ( ( 0.0625 0 57 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 15
{
brushDef3
{
( 0 0 1 -178 ) ( ( 0.0625 0 58.5 ) ( 0 0.0625 6.5 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 1728 ) ( ( 0.0625 0 121.5 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 50 ) ( ( 0.0625 0 58.5 ) ( 0 0.0625 121.5 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -2048 ) ( ( 0.0625 0 6.5 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2600 ) ( ( 0.0625 0 5.5 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2608 ) ( ( 0.0625 0 58.5 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 16
{
brushDef3
{
( 0 0 1 -178 ) ( ( 0.0625 0 58.5 ) ( 0 0.0625 62 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 1728 ) ( ( 0.0625 0 2 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 50 ) ( ( 0.0625 0 58.5 ) ( 0 0.0625 2 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -2048 ) ( ( 0.0625 0 62 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2736 ) ( ( 0.0625 0 5.5 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2744 ) ( ( 0.0625 0 58.5 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 17
{
brushDef3
{
( 0 0 1 -178 ) ( ( 0.0625 0 63.40625 ) ( 0 0.0625 69.8125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 1808 ) ( ( 0.0625 0 122.1875 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2736 ) ( ( 0.0625 0 63.40625 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 50 ) ( ( 0.0625 0 63.40625 ) ( 0 0.0625 122.1875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2608 ) ( ( 0.0625 0 0.59375 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -1816 ) ( ( 0.0625 0 6.8125 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 18
{
brushDef3
{
( 0 0 1 -178 ) ( ( 0.0625 0 65.90625 ) ( 0 0.0625 69.8125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 1848 ) ( ( 0.0625 0 122.1875 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -2736 ) ( ( 0.0625 0 65.90625 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 50 ) ( ( 0.0625 0 65.90625 ) ( 0 0.0625 122.1875 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 2608 ) ( ( 0.0625 0 126.09375 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -1856 ) ( ( 0.0625 0 6.8125 ) ( 0 0.0625 70.90625 ) ) "textures/common/caulk" 0 0 0
}
}
}
// entity 1
{
"classname" "info_player_start"
"name" "info_player_start_1"
"angle" "90"
"origin" "-72 64 -64"
}
// entity 2
{
"classname" "atdm:playertools_compass"
"name" "CompassEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2617 -1766.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 3
{
"classname" "atdm:playertools_lantern"
"name" "LanternEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2629 -1766.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 4
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2639 -1766.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 5
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2655 -1766.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 6
{
"classname" "atdm:weapon_shortsword"
"name" "SwordEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2727 -1864.5 109.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 7
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2678.63 -1865.25 109.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 8
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2667 -1766.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 9
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2619 -1864.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 10
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2616 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 11
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2616 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 12
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2616 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 13
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2632 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 14
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2632 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 15
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2632 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 16
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2648 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 17
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2648 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 18
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2648 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 19
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2664 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 20
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2664 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 21
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2664 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 22
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2680 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 23
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2680 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 24
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2680 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 25
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2696 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 26
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2696 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 27
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2696 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 28
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2728 -1944 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 29
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2728 -1992 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 30
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2728 -2040 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 31
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2678.63 -1881.25 109.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 32
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2678.63 -1897.25 109.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 33
{
"classname" "atdm:weapon_shortsword"
"name" "SwordHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2727 -1880.5 109.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 34
{
"classname" "atdm:weapon_shortsword"
"name" "SwordExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2727 -1896.5 109.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 35
{
"classname" "atdm:playertools_compass"
"name" "CompassHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2617 -1782.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 36
{
"classname" "atdm:playertools_compass"
"name" "CompassExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "2617 -1798.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 37
{
"classname" "atdm:playertools_lantern"
"name" "LanternHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2629 -1782.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 38
{
"classname" "atdm:playertools_lantern"
"name" "LanternExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "2629 -1798.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 39
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2639 -1782.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 40
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "2639 -1798.5 158.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 41
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2619 -1880.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 42
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2619 -1896.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 43
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2655 -1782.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 44
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2655 -1798.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 45
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2667 -1782.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 46
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2667 -1798.5 133.5"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 47
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2710 -1766 130"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 48
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2726 -1766 130"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 49
{
"classname" "atdm:playertools_mine"
"name" "MinesEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2650 -1864 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 50
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2666 -1864 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 51
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2634 -1864 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 52
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2710 -1782 130"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 53
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "2710 -1798 130"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 54
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "2726 -1782 130"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 55
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "2726 -1798 130"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 56
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2634 -1880 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 57
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2634 -1896 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 58
{
"classname" "atdm:playertools_mine"
"name" "MinesHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2650 -1880 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 59
{
"classname" "atdm:playertools_mine"
"name" "MinesExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2650 -1896 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 60
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2666 -1880 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 61
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "2666 -1896 130"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 62
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2712 -1943 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 63
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2712 -1991 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 64
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "2712 -2039 90"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 65
{
"classname" "light"
"name" "light_1"
"origin" "-48 672 184"
"light_center" "0 0 0"
"light_radius" "3648 3000 1144"
"_color" "0.220 0.220 0.220"
"parallel" "0"
"nospecular" "0"
"nodiffuse" "0"
"noshadows" "0"
"texture" "lights/ambientlightnfo"
}
wtfglass.map (28,930 bytes)   

Relationships

related to 0004865 resolvedcabalistic Improve the way how FPS cap works (uncapped FPS) 
related to 0004514 resolvedstgatilov Game runs sluggish randomly 
related to 0006333 resolvedstgatilov Jumping player sometimes pauses at top on very high FPS 
child of 0004493 resolvedduzenko Some physics events have changed in 2.05 due to faster fps 

Activities

stgatilov

stgatilov

20.12.2017 14:53

administrator   ~0009855

1. I still hear my footsteps up to 400 FPS, but at 500 FPS I don't hear them at all.

2. I always hear swings of my blackjack, regardless of FPS.

3. If I jump during running at 500 FPS, then I do not fall down until I release "move forward" button or press movement button (I simply levitate forward at constaint height). If I jump from place, then I get stuck in the air, very slowly going down.

I'm pretty sure that there are tons of issues with framerate this high. The most reliable solution is to cap FPS. For instance, a cap of 200 FPS should be: 1) high enough to not want anything higher 2) small enough to avoid physics issues like mentioned above 3) small enough to avoid GPU whining.
AluminumHaste

AluminumHaste

20.12.2017 15:45

developer   ~0009856

Last edited: 20.12.2017 15:47

My monitor runs at 144hz, new high Hz monitors are 240hz, so 240 would be the max I would suggest.

https://www.asus.com/us/Monitors/ROG-SWIFT-PG258Q/

However, users should have the option of syncing their max FPS to monitor refresh, but not V-synced.

nbohr1more

nbohr1more

20.12.2017 16:03

developer   ~0009857

Last edited: 20.12.2017 16:10

Yeah, I was gonna say the 250 or 246 might be better so there is engineering overhead for 244hz monitors.

I took a stab at making USERCMD_HZ configurable awhile back but it's too high up in the code hierarchy.
The console and all basic UI operations start after this has been initialized.
Not that this would be "required" to cap FPS but it would unify the way the current cap works.

stgatilov

stgatilov

20.12.2017 17:40

administrator   ~0009858

Last edited: 20.12.2017 17:41

Committed in svn rev 7354.

I have added a strict condition that 4000 microseconds must pass between frames. This sets FPS cap 250, although I see only 210-220 locally.
Please review if this is a plausible way of capping FPS.

P.S. To be honest, time handling code is a complete mess now.

AluminumHaste

AluminumHaste

20.12.2017 19:19

developer   ~0009860

Okay will give it a try.
AluminumHaste

AluminumHaste

21.12.2017 04:44

developer   ~0009861

Seems to run fine now, but I also can't get it over 235 fps.
stgatilov

stgatilov

21.12.2017 04:55

administrator   ~0009862

Yes, you can't.
Do you need to? =)
AluminumHaste

AluminumHaste

24.01.2018 01:18

developer   ~0010035

I'm playing The Ravine on the latest code, and I have no footsteps while crouch walking anymore. Every now and then I'll get a footstep sound.
AluminumHaste

AluminumHaste

14.03.2018 00:55

developer   ~0010053

This is still happening with uncapped FPS option.
Once my FPS reaches close to the max 235 fps, my foot step sounds while crouch walking, disappear.
Once FPS dips a bit I start getting some of the foot fall sounds, and once I get to around 150 fps, they're all there.
This happens with smp on or off.
With com_fixedtic set to 1(ON).
With it set to off, fps is capped at 60 fps, so I can't tell if it works because FPS is low, or because fixedtic is off.
AluminumHaste

AluminumHaste

19.03.2018 12:23

developer   ~0010073

To allow 2.06 to get out of the door faster, can we lower the FPS cap to 166 FPS or similar speed, and can look at this later for 2.07?
stgatilov

stgatilov

19.03.2018 12:46

administrator   ~0010075

Yes, we can.
But I have a feeling that this will not solve the problem for everyone: the good cap depends on the machine. For me sound work well with 400 fps, but for you 250 fps is too high. Someone will still miss sound with 150 fps, so what will we do then?
Is there any sense to have "unlocked FPS" with 100 FPS cap? with 120 FPS cap? with 166 FPS cap? Which hard limit on FPS is good enough for the "unlocked FPS" mode to be still considered the "unlocked FPS" mode?
AluminumHaste

AluminumHaste

19.03.2018 12:54

developer   ~0010077

Well, there's been complaints for years on Quake Live at 250fps (game cap), some sounds don't play.
The old cap was 400 fps.
So it's not just this engine.
For me personally, I just would like a cap over my monitors refresh rate (144hz), for a smooth as possible experience.
To be clear, the only sounds I'm missing at 250fps, are when I'm crouch walking/running. Every other sound seems to play as normal.

Have you checked to see if you hear crouch walking/running sounds at 250fps?
nbohr1more

nbohr1more

19.03.2018 13:54

developer   ~0010084

Last edited: 19.03.2018 13:54

From a cursory review of the current state of refresh rates available to
consumers, anything over 144hz is mostly "faked" via some LCD strobing algorithm
rather than actually updating the pixel states. There are scant few 240hz capable
screens and there are even fewer 480hz screens (and I was unable to find any
evidence that the ANY of the 480hz models were doing real pixel updates at that
rate).

166hz sounds like a practical limit based on available consumer hardware options.

stgatilov

stgatilov

19.03.2018 14:03

administrator   ~0010085

Last edited: 19.03.2018 14:05

Game FPS is not only about refresh rate, it is also about reducing game lag.
Currently we have something like 2-3 frames of lag, which is probably hardly noticeable even on 150 FPS.

But once again: what was the original purpose of doing the "unlocked FPS" mode? Was it only about supporting monitors with high refresh rate?

UPDATE: I would like to hear from someone who originally created this "unlocked FPS" mode if he considers 150 FPS hard cap a viable solution 1) in long run 2) temporarily for 2.06.

AluminumHaste

AluminumHaste

19.03.2018 14:08

developer   ~0010086

It was for the VR version, 60 FPS is too low for VR.
Once the FPS cap was removed, we started noticing issues.

I've been wanting higher FPS for years now, and I could live with 166fps.
AluminumHaste

AluminumHaste

19.03.2018 14:21

developer   ~0010087

Last edited: 19.03.2018 14:28

http://forums.thedarkmod.com/topic/18999-im-working-on-a-vr-version-early-alpha/
Original thread AFAIK

EDIT: That might not be it, there's posts in that thread stating that we had already unlocked FPS.

nbohr1more

nbohr1more

19.03.2018 14:43

developer   ~0010088

Last edited: 19.03.2018 15:02

Actually Duzenko started the uncapped FPS process in 2.05 before Cabalistic broached it.

I was in favor of the change because drivers are\were becoming increasingly unfriendly to capped FPS on the PC since the introduction of N-Sync \ Free-Sync tech.

Doom 3, in particular, would produce some pretty nasty frame pacing if you didn't specifically tell the engine that the monitor was running at 60hz

seta r_displayRefresh "60"

because Windows 10 was not reporting the correct refresh rate to the display
drivers. Uncapping FPS is a way to side-step some of that mess and modernize
things as well as fulfill a longstanding community request.

stgatilov

stgatilov

19.03.2018 14:43

administrator   ~0010089

Yes, com_fixedTic was present in the original Doom 3 code, I think.

Well, let's increase the hard pause to 6000 microseconds then (166.6 FPS --- in practice is would be less, smth like 140 or 135 FPS probably).
If anyone complains that "unlocked FPS" is not unlocked enough, than we'll see =)
AluminumHaste

AluminumHaste

19.03.2018 15:01

developer   ~0010090

Thank you, we can always revisit it later on, we just need to get 2.06 out the door without this game breaking bug. (AI don't hear your footsteps either).
stgatilov

stgatilov

19.03.2018 17:20

administrator   ~0010103

Committed in svn rev 7373.

I have honestly tried to reproduce the issue in both "The Ravine" and tavern.map, but in both cases I almost did not hear footsteps at all this time. They were clearly playing, but often at infinitesimal volume level.
AluminumHaste

AluminumHaste

20.03.2018 00:42

developer   ~0010108

Works perfectly now thank you
duzenko

duzenko

20.03.2018 08:27

developer   ~0010112

Last edited: 20.03.2018 11:05

Why is it a problem to make it a cvar?
com_maxfps

AluminumHaste

AluminumHaste

20.03.2018 11:53

developer   ~0010115

Requires a rebuild of the binaries right now.
I guess it could be exposed as a CVAR, stgatilov?
stgatilov

stgatilov

20.03.2018 13:25

administrator   ~0010117

It is a problem because there are already smth like 3 cvars related to FPS, most of them has more than two meanings, some have quite weird meaning (why fixedTic = true means that duration of tic becomes unfixed?!).


If anyone wants to create a cvar, feel free to do it.
Although I feel than com_fixedTic becomes redundant after adding com_maxfps, but I guess no one wants to mess with them now.
AluminumHaste

AluminumHaste

20.03.2018 13:30

developer   ~0010118

Leave it for now as is and we'll come around and look again for 2.07. Let Grayman know to include your SVN commit in the 2.06 Beta thread.
stgatilov

stgatilov

20.03.2018 14:10

administrator   ~0010120

Last edited: 20.03.2018 14:12

I suppose I was not entirely correct in what I wrote about cvar.
So let me phrase it like this:

It is technically trivial to add a cvar, but I'm not sure that it is necessary. The current amount of cvars has freaked me out to the point where I am not eager to add a new one =) But I definitely won't argue. Having a cvar make world more configurable/hackable.

P.S. If you are sure that cvar should be added, either directly tell me to do so or simply do it yourself (it is obvious how to do it from the commits I noted here).

stgatilov

stgatilov

11.11.2023 08:02

administrator   ~0016169

I fixed footsteps properly in svn rev 10496.

Basically, footsteps are played when headbob changed half-cycle (i.e. changing between left and right feet).
But headbob implementation uses 8-bit accumulator, which suffered from radical loss of precision on high FPS.

Issue History

Date Modified Username Field Change
12.12.2017 02:45 AluminumHaste New Issue
12.12.2017 02:45 AluminumHaste File Added: wtfglass.map
20.12.2017 14:53 stgatilov Note Added: 0009855
20.12.2017 15:45 AluminumHaste Note Added: 0009856
20.12.2017 15:47 AluminumHaste Note Edited: 0009856
20.12.2017 16:03 nbohr1more Note Added: 0009857
20.12.2017 16:09 nbohr1more Note Edited: 0009857
20.12.2017 16:10 nbohr1more Note Edited: 0009857
20.12.2017 17:37 stgatilov Assigned To => stgatilov
20.12.2017 17:37 stgatilov Status new => assigned
20.12.2017 17:40 stgatilov Note Added: 0009858
20.12.2017 17:40 stgatilov Note Edited: 0009858
20.12.2017 17:41 stgatilov Note Edited: 0009858
20.12.2017 19:19 AluminumHaste Note Added: 0009860
21.12.2017 04:44 AluminumHaste Note Added: 0009861
21.12.2017 04:55 stgatilov Note Added: 0009862
23.12.2017 10:02 stgatilov Status assigned => resolved
23.12.2017 10:02 stgatilov Fixed in Version => TDM 2.06
23.12.2017 10:02 stgatilov Resolution open => fixed
24.01.2018 01:18 AluminumHaste Note Added: 0010035
24.01.2018 02:06 Springheel Status resolved => assigned
14.03.2018 00:55 AluminumHaste Note Added: 0010053
19.03.2018 12:23 AluminumHaste Note Added: 0010073
19.03.2018 12:46 stgatilov Note Added: 0010075
19.03.2018 12:54 AluminumHaste Note Added: 0010077
19.03.2018 13:54 nbohr1more Note Added: 0010084
19.03.2018 13:54 nbohr1more Note Edited: 0010084
19.03.2018 14:03 stgatilov Note Added: 0010085
19.03.2018 14:05 stgatilov Note Edited: 0010085
19.03.2018 14:08 AluminumHaste Note Added: 0010086
19.03.2018 14:21 AluminumHaste Note Added: 0010087
19.03.2018 14:28 AluminumHaste Note Edited: 0010087
19.03.2018 14:43 nbohr1more Note Added: 0010088
19.03.2018 14:43 stgatilov Note Added: 0010089
19.03.2018 15:01 nbohr1more Note Edited: 0010088
19.03.2018 15:01 AluminumHaste Note Added: 0010090
19.03.2018 15:02 nbohr1more Note Edited: 0010088
19.03.2018 17:20 stgatilov Note Added: 0010103
20.03.2018 00:42 AluminumHaste Note Added: 0010108
20.03.2018 08:27 duzenko Note Added: 0010112
20.03.2018 11:05 duzenko Note Edited: 0010112
20.03.2018 11:53 AluminumHaste Note Added: 0010115
20.03.2018 13:25 stgatilov Note Added: 0010117
20.03.2018 13:30 AluminumHaste Note Added: 0010118
20.03.2018 14:10 stgatilov Note Added: 0010120
20.03.2018 14:11 stgatilov Status assigned => resolved
20.03.2018 14:12 stgatilov Note Edited: 0010120
15.07.2018 03:57 stgatilov Relationship added related to 0004865
01.02.2019 05:46 nbohr1more Relationship added child of 0004409
01.02.2019 05:46 nbohr1more Relationship added child of 0004493
01.02.2019 05:49 nbohr1more Relationship deleted child of 0004409
04.03.2019 16:33 stgatilov Relationship added related to 0004514
11.11.2023 08:02 stgatilov Note Added: 0016169
11.11.2023 09:35 stgatilov Relationship added related to 0006333