halflife icon indicating copy to clipboard operation
halflife copied to clipboard

[HL1/CS1.6] Disabling multitexture improves framerates dramatically.

Open ZOVBOT opened this issue 11 months ago • 8 comments

Disabling the GL_ARB_multitexture extension in hw.dll leads to a dramatic improvement in framerates on my machine, without any loss in visual quality. I gained 200 fps standing in spawn on de_dustybleek, in 2festungen (Half-Life map) my fps would hover around 40-60 depending on where you are standing but with the extension disabled it runs right up to the framerate cap (1000fps) constantly.

As a consequence you will lose detailed texture support (r_detailtextures & r_detailtexturessupported), but very few maps make use of them and I had this disabled anyway, so no loss there.

It also seems to solve muzzflash stutter, and fps drops with flashlight, and nightvision without having to disable dynamic lighting.

Hardware: AMD 500 Series, Radeon RX 580 and AMD Ryzen 6 Core

ZOVBOT avatar Jan 15 '25 05:01 ZOVBOT

As to the mod, search and replace in any hex editor, don't try this online.

GL_ARB_multitexture1 GL_ARB_multitexture2

ZOVBOT avatar Jan 15 '25 05:01 ZOVBOT

Interesting, I've tested this in rocket_frenzy, a new map shipped with the 25th anniversary update and noticed a substantial fps increase.

0Ky avatar Jan 16 '25 23:01 0Ky

This method is truly amazing! I couldn't play many maps due to very low FPS. This method works perfectly. I no longer have any FPS issues. THANK YOU!

tfcccc avatar Jan 31 '25 10:01 tfcccc

Confirming this has a performance gain on a high end system with an Nvidia GPU as well. I didn't get low fps issues, but this gives an extra 100FPS for me. This should at least be given a cvar to toggle it off.

From what I can tell this breaks the detailtextures/overbright/fog shader, but these things already have cvars. It would be nice if we could get the performance benefit if we're not using these things in our mod or config.

pierow avatar Feb 02 '25 05:02 pierow

This method is amazing! I tested it on dozens of maps that I couldn't play before due to low FPS issue, and it delivered truly outstanding results. I can confirm that it only caused the error shown in the picture in a specific area of one single map.

Image

tfcccc avatar Feb 12 '25 19:02 tfcccc

It does seem to solve so many different performance issues with the engine and should be disabled by default

What map are you having issues on? I have not had a single crash on my client but I have r_lightmap set to zero (the default)

ZOVBOT avatar Feb 13 '25 18:02 ZOVBOT

It does seem to solve so many different performance issues with the engine and should be disabled by default

What map are you having issues on? I have not had a single crash on my client but I have r_lightmap set to zero (the default)

https://tfcma.s3.us-east-2.amazonaws.com/custom_sow2.zip

this is a team fortress classic map. you have to choose the soldier class and jump down. while jumping down fire the rocket towards the ground and have the bug

tfcccc avatar Feb 13 '25 23:02 tfcccc

@tfcccc

You might want to try setting r_dynamic 0 and gl_flashblend 2, flashblend looks a bit different than dynamic lighting for each effect but it is much faster in most situations, even with multitexture disabled.

https://quakewiki.org/wiki/Gl_flashblend

https://www.quaddicted.com/webarchive/ezquake.sourceforge.net_20121129/docs/index.html%3Fvars-lighting.html

ZOVBOT avatar Mar 28 '25 15:03 ZOVBOT