Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HL 25] New Multiplayer contamination has very slow performance/frame rate issues #3614

Open
ChrisCostes opened this issue Nov 26, 2023 · 14 comments

Comments

@ChrisCostes
Copy link

To whom it may concern,

I am writing to report a performance issue with the new multiplayer map Contamination in Half-Life 25. The map has very slow and jerky performance, and low frame rates. The problem is especially noticeable when looking at the courtyard areas with the tall structures. I am using Windows 10 and the Intel HD 4000 GPU. Even with this older hardware, Half-Life 25 runs smoothly for all other maps and the regular game, except for this multiplayer map. Other players have reported a similar issue with this map as well. I have tried switching from OpenGL to software rendering, disabling texture filtering, and turning off vertical sync, but the performance issue still persists.

Please forward this issue to the appropriate party at Valve Software. Thank you for your attention and for the great work on Half-Life 25 Anniversary update.

Sincerely,

Chris C.

@sabianroberts
Copy link

@ChrisCostes have you given rocket_frenzy a try? It lags for me on my Radeon RX 580.

@ChrisCostes
Copy link
Author

Yes, rocket_frenzy has low framerate issues on my PC as well, however it is not unplayable. Here's what I'm seeing on that one.

rocket_frenzy:
Lowest: 27 fps
Average: 55 fps
Highest 127+ fps

So, for the most part, rocket_frenzy runs OK on my PC.

Pool_Party, this runs well on my PC, no framerate issues:
Low: 32 fps
Average: 55 fps
Highest 120+ fps

Contamination and Disposal, run too slow, have very low frame rate issues, becomes difficult to aim and characters and move the mouse around and move around the map:
Low: 15 fps
Average: 28 fps
Highest: 80 fps

@0Ky
Copy link

0Ky commented Nov 28, 2023

I can confirm that there is a major noticeable performance degradation in the new maps, it could be attributed to a case of high polygon count, where an excessive number of world polygons in the level design is causing a significant reduction in framerate. In the new map rocket_frenzy, along with other certain maps, there's a notable fluctuations in the framerate, ranging from as low as 30 fps to as high as 300 fps.

HL Version

Protocol version 48
Exe version 1.1.2.2/Stdio (valve)
Exe build: 01:43:07 Nov 23 2023 (9891)

System Info

OS: Windows 11 Pro [64-bit]
Version: 23H2 Build 22631.2715
CPU: AMD Ryzen 5 5600X 6-Core Processor @ 3.7GHz
GPU: AMD Radeon RX 6900 XT

Video Demo

HLfpsdrop.mp4

Game Settings:
Renderer: OpenGL
Resolution: 2560 x 1440
Display Mode: Widescreen
Vsync: Disabled
Texture Filtering: Enabled
default_fov: 100

@derBABO88
Copy link

derBABO88 commented Nov 28, 2023

Replying to #3614 (comment)

The performance did not degrade with the update. It is simply the complexity of the new maps that's causing them to run at bad framerates. If you open up any of the original maps, you'll still get the same fps as you did before the update.

It's just that the wpoly count on these new maps is ridicolously high, peaking at over 10.000 on rocket_frenzy:
rocketfrenzy-Poly

For reference, crossfire peaks at around ~600 at normal gameplay:
cross-poly

Higher wpoly count = more polygons are being rendered. 10.000 is just way higher than anything a GoldSrc map should ever have to maintain good performance. It baffles me how valve thought it would be a good idea to release such maps without accounting for the poor performance. Of course there is still the option of optimizing the engine itself as modern GPUs are still barely utilized in GoldSrc even at 10.000 polys.

Also, AMD cards will typically run much worse in GoldSrc because they are not as optimized for OpenGL.

@sabianroberts
Copy link

sabianroberts commented Nov 28, 2023 via email

@ghost
Copy link

ghost commented Nov 28, 2023

No one is playing this version of Half-Life on really old hardware anymore (I don't even think Steam works on Windows 7 now) so I see no negative impact of allowing higher poly levels9

It still does and many people in the world still use 10-15 years old PCs to play Half-Life and other GoldSrc games (because they cannot afford newer hardware). Valve wouldn't care about ending Windows 7-8 support though as they wouldn't earn much money from them.

@0Ky
Copy link

0Ky commented Nov 28, 2023

The performance did not degrade with the update. It is simply the complexity of the new maps that's causing them to run at bad framerates.

@derBABO88 You're absolutely right, I've corrected my comment.

@ededdneddyfan
Copy link

ededdneddyfan commented Nov 29, 2023

Replying to #3614 (comment)

Map tuning to lower wpolys is an art practiced by goldsrc level designers for many years now. I'm sure they can figure it out from the decades worth of tutorials and resources out there

@SamVanheer
Copy link

I'm seeing hollow spaces under the map that might be causing some problems:
afbeelding

I decompiled the map and it looks like there's a giant skybox box around the map. That's usually a cause of performance issues.

@ChrisCostes
Copy link
Author

Update: 12/1/2023

Tested contaimination map again after 12/1/2023 bug update for HL, very slow performance issue still persists for contaimination map. Issue occurs when looking at tall structure. Frame rate drops well below 30 fps and map becomes unplayable on my PC.

contamination 19 fps
12-01-2023-Contimination_19fps

@sabianroberts
Copy link

sabianroberts commented Sep 28, 2024

Replying to #3614 (comment)

sorry to ask so late but what command did you use to view the polycount of the map?

@SmileyAG
Copy link

Replying to #3614 (comment)

sorry to ask so late but what command did you use to view the polycount of the map?

r_speeds 1

@0Ky
Copy link

0Ky commented Jan 17, 2025

I've recently discovered some cvars that help increase the frame rate, especially in rocket_frenzy. Also, when playing this map with a high fov, it really impacts the frame rate.

Image

Here's some tests conducted with certain cvars, to see how much I can improve from 15 fps in rocket_frenzy...

Test Environment

OS: Windows 11 Pro, 24H2, 26100.2894
CPU: AMD Ryzen 5 5600X
GPU: AMD Radeon RX 6900 XT
GPU driver version: 32.0.12033.1030
AMD Software: Adrenalin Edition 24.12.1
Half-Life Build Version: 19:06:31 Oct  7 2024 (10210)
BIOS + OS + DRIVERS are all up-to-date

Video Settings

Renderer: OpenGL
Resolution: 2560 x 1440
V-Sync: Disabled
Shaders: Disabled

Starting Console Variables

default_fov 115
gl_display_lists 0
gl_use_shaders 0
gl_reduce_shader_changes 1
gl_lowlatency 1

* Started with 15 fps

Test 1 (5 fps increase)

Image
$\textcolor{}{\textsf{gl\_display\_lists 0}}$
$\textcolor{#77DD77}{\textsf{gl\_use\_shaders 1}}$
$\textcolor{}{\textsf{gl\_reduce\_shader\_changes 1}}$
$\textcolor{}{\textsf{gl\_lowlatency 1}}$

Test 2 (28 fps increase)

Image
$\textcolor{}{\textsf{gl\_display\_lists 0}}$
$\textcolor{#77DD77}{\textsf{gl\_use\_shaders 1}}$
$\textcolor{#77DD77}{\textsf{gl\_reduce\_shader\_changes 0}}$
$\textcolor{}{\textsf{gl\_lowlatency 1}}$

Test 3 (55 fps increase)

Image
$\textcolor{#77DD77}{\textsf{gl\_display\_lists 1}}$
$\textcolor{}{\textsf{gl\_use\_shaders 0}}$
$\textcolor{}{\textsf{gl\_reduce\_shader\_changes 1}}$
$\textcolor{}{\textsf{gl\_lowlatency 1}}$

Test 4 (59 fps increase)

Image
$\textcolor{#77DD77}{\textsf{gl\_display\_lists 1}}$
$\textcolor{#77DD77}{\textsf{gl\_use\_shaders 1}}$
$\textcolor{}{\textsf{gl\_reduce\_shader\_changes 1}}$
$\textcolor{}{\textsf{gl\_lowlatency 1}}$

Test 5 (63 fps increase)

Image
$\textcolor{#77DD77}{\textsf{gl\_display\_lists 1}}$
$\textcolor{#77DD77}{\textsf{gl\_use\_shaders 1}}$
$\textcolor{}{\textsf{gl\_reduce\_shader\_changes 1}}$
$\textcolor{#77DD77}{\textsf{gl\_lowlatency 0}}$

Test 6 (125 fps increase)

Image
$\textcolor{#77DD77}{\textsf{gl\_display\_lists 1}}$
$\textcolor{#77DD77}{\textsf{gl\_use\_shaders 1}}$
$\textcolor{}{\textsf{gl\_reduce\_shader\_changes 1}}$
$\textcolor{#77DD77}{\textsf{gl\_lowlatency 0}}$

Applied a patch on hw.dll file to disable the GL_ARB_multitexture extension, which was brought to my attention by issue #3889 as a way to improve the frame rate.

Caution

Avoid joining VAC-secured servers with modifications to the game's binary files.

@ZOVBOT
Copy link

ZOVBOT commented Jan 22, 2025

0Ky, please post your benchmarks over in the other thread, given those results I think multitexture extensions should probably be disabled by default (unless detailed textures are manually set by the user)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants