Diablo – Why is Diablo 2 laggy when played online with a lot of effects going on (flames)


Is this a server or a game issue? This happens even on modern PCs. It's when baal-running for example and you got 8 people and a lot of spells going off (especially flames seem to be an issue) it can get laggy and people are afraid the game might be shut down because of dupe-protection. I do not know how this works or why this is. I would really like to know why. I think it's because the game uses old technology that makes it so that with modern hardware you don't necessarily get better performance.

Best Answer

For answering this question, I first have to explain what GLIDE itself is. GLIDE is a graphic card-interface that has been evolved by the company 3DFX, to give application-programmers the chance, to access their graphic card-chipsets (so-called voodoo-chipsets) with high efficiency.

The game Diablo 2 (Lord of Destruction too) is known for the fact, that it runs far better with GLIDE than with Direct3D. The actual problem is, that meanwhile the company 3DFX has been taken over by NVIDIA and so there's no manufacturer any more who produces graphic cards that support GLIDE naturally.

At this point a GLIDE-wrapper gives support:

It makes the GLIDE-interface available, by receiving the GLIDE-commands and translating them to another interface. So it is possible to use GLIDE-enhanced programs even on graphic-cards, which normally do not support this interface.

Setup Guide:

Download GLIDE-wrapper (People have asked on the Battle.net forums, and Blizzard reps confirmed that this was perfectly okay to use)

Copy glide3x.dll & glide-init.exe to your Diablo II directory

Launch glide-init.exe

Set preferred language setting (German is set by default)

Click OpenGL-infos from the left, then Query OpenGL-infos from the right (This will run a small test that identifies your video card and attempts to determine its performance capabilities and what extensions it supports). Make note of the texture memory.

Move on to the settings tab. Some of this is personal preference, but I recommend making sure Vsync is enabled, as this will cap the fps at the refresh rate of your monitor. There's no need to render more frames than your monitor can display. It's not necessary to set an fps limit unless you're not using Vsync for some reason.

Next is renderer. This is where things get a little more complex and will probably depend on what your GPU is capable of. According to the author's website you want to set that based on your video memory for optimal performance.

On graphic-cards that support 8-bit-textures (f.e. all Geforces and Radeon since 8500):

texture memory = real video-memory / 4 * 3

on any other graphic card:

texture memory = real video-memory / 8 * 3

As for the other settings, buffer texture size will also depend on your GPU but it doesn't hurt to leave that at the default setting. If you don't like what the wrapper does to gamma settings, feel free to either uncheck shader gamma or check no gamma.

In order to have D2 actually use the Glide wrapper, you'll have to run the video test. If you don't remember what that is, it's also in your D2 folder as D2VidTst.exe, and it's what allows you to change video modes. Open it, run the test, and select Glide when it finishes. Once you've selected it in the video test, D2 will always launch with it.

Note: If you don't want to use it anymore, open the settings, click std/export, click the button to remove the registry entries, and delete the Glide files. Then run the video test again and select a different video mode.