• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Question - EQ Stuttering and CPUs (1 Viewer)

Joined
Dec 25, 2021
RedCents
401¢
Started playing EQ again, first time since December of last year. They've rolled out the DirectX 11 since then and I'm now experiencing stutter when turning my characters. Happens to all six of my characters that I run.


It feeeeels like the rendering thread gets locked when loading textures and the EQ engine doesn't handle texture loading in a multi-threaded way, but that's just an educated guess and it could be anything.

I'm also looking to build a new PC to replace my ~6 year old one.

Is there anything that I can do to reduce this stuttering? I've tried lowering settings, turning off UseLitBatches, futzing with CPU affinity, etc. Note that I don't use Macroquest and run EQ from inner space boxer, I don't know if that matters.


Is there any CPU characteristics that would assist with stuttering? I was thinking about getting an AMD Ryzen 7 7800X3D because it's great for gaming and for Factorio :D. It's notable because while it only has 8 CPU cores, they're quite powerful and it has a massive cache that has some advantages. But maybe an i9 with 24 cores would be better, since I could allocate 4 cores to each instance via CPU affinity?
 
Started playing EQ again, first time since December of last year. They've rolled out the DirectX 11 since then and I'm now experiencing stutter when turning my characters. Happens to all six of my characters that I run.


It feeeeels like the rendering thread gets locked when loading textures and the EQ engine doesn't handle texture loading in a multi-threaded way, but that's just an educated guess and it could be anything.

I'm also looking to build a new PC to replace my ~6 year old one.

Is there anything that I can do to reduce this stuttering? I've tried lowering settings, turning off UseLitBatches, futzing with CPU affinity, etc. Note that I don't use Macroquest and run EQ from inner space boxer, I don't know if that matters.


Is there any CPU characteristics that would assist with stuttering? I was thinking about getting an AMD Ryzen 7 7800X3D because it's great for gaming and for Factorio :D. It's notable because while it only has 8 CPU cores, they're quite powerful and it has a massive cache that has some advantages. But maybe an i9 with 24 cores would be better, since I could allocate 4 cores to each instance via CPU affinity?
turn off the new ui engine - it is a pile of dogshit

UseNewUIEngine=0 in your eqclient.ini

if you have the new engine on, framelimiter doesn't do much for you
 
There are several of the graphic settings on modern CPUs that make EQ run like absolute poop. I can't remember exactly which ones, but I have seen traffic on the EQ message boards about it. Also, having background application framerate controls on your video card can make performance on your background characters run worse.
 
I think it's just a dog shit implementation of DX11 on the part of DPG devs. I run ISBoxer as well and have the exact same problem (rendering "hangs" when turning and new textures come onto the screen). Nothing I've done seems to work. I remember some comments on the ISB Discord with regards to their efforts to make ISB compatible with EQ's DX11 that EQ didn't actually update their game engine to run DX11, they just wrote a wrapper to translate the existing DX9 system calls into DX11 system calls. And also that they DPG did it in the worst possible way they could have.
 
turn off the new ui engine - it is a pile of dogshit

UseNewUIEngine=0 in your eqclient.ini

if you have the new engine on, framelimiter doesn't do much for you
Thanks, this makes a huge difference. I can't believe how botched the new UI's engine must be.



I still get more stutter than I remember pre-DX11 though. The stutter only lasts like, 100ms instead of 400ms like the UI engine stutter.
 
I was having issues with my boxes using ISboxer where they would lag pretty bad, and it would mess with my /follow.

I found a thread on Reddit where someone said to change you max fps in the background to anything 60fps and below, mine was on unlimited, something to do with EQ being max at 60 and the system trying to go over that causing issues. I changed it to 60 and it was so much better.
 
I used to have the same issue and fixed it by manually assigning cores to each client.

Under IsBoxer go you your saved set, go to each slot and under performance manually assign each character an entire core (2 threads each).

I run 4 characters on a Ryzen 5600X. So 1st character gets 1,2, second gets 3,4 and so on.

Best of luck.
 
Started playing EQ again, first time since December of last year. They've rolled out the DirectX 11 since then and I'm now experiencing stutter when turning my characters. Happens to all six of my characters that I run.


It feeeeels like the rendering thread gets locked when loading textures and the EQ engine doesn't handle texture loading in a multi-threaded way, but that's just an educated guess and it could be anything.

I'm also looking to build a new PC to replace my ~6 year old one.

Is there anything that I can do to reduce this stuttering? I've tried lowering settings, turning off UseLitBatches, futzing with CPU affinity, etc. Note that I don't use Macroquest and run EQ from inner space boxer, I don't know if that matters.


Is there any CPU characteristics that would assist with stuttering? I was thinking about getting an AMD Ryzen 7 7800X3D because it's great for gaming and for Factorio :D. It's notable because while it only has 8 CPU cores, they're quite powerful and it has a massive cache that has some advantages. But maybe an i9 with 24 cores would be better, since I could allocate 4 cores to each instance via CPU affinity?

Oh yeah. I never had a problem before in raids with fully decked out graphical settings. Ever. Until they added the feature that NOBODY asked for and one they could not implement correctly but went ahead and shoved it in the game. If I'm running from POI bridge to the phsyical Laurion's Inn, I will literally go down to 2-3 fps unless I look down. Once I get inside and up the stairs it's slightly better, but there's no excuse for the way it is now.
 
Logs can also cause stutter in EQ. /log to check that it's off, or if you want logging on for DPS and log tracking of information, be sure to clear the log occasionally. Once the log gets so big it will cause stuttering when accessing the file to write new information to it. This is an EQ logging feature that can cause the issue, it is not MQ related.
 
After setting UseNewUIEngine=0 things got better but stutter is still pretty common.

I have an i7-9700K ( https://www.intel.com/content/www/u...-12m-cache-up-to-4-90-ghz/specifications.html ) now. I just ordered parts for a new PC with a a Ryzen 9 7950X3D ( https://www.newegg.com/amd-ryzen-9-...es-raphael-zen-4-socket-am5/p/N82E16819113791 ), we'll see if this dumb game chokes on 16 cores of power.
Post a trip report when you get your build done. I'm on a similar aged system as well so I know I'm due for a new build. Just frustrated that DPG's shitty DX11 implementation is forcing the timing on that upgrade. I can run DX11/12 games just fine and EQ ran just fine up until the DX11 port. Now, EQ runs worse than MS Flight Sim, which is a much more resource intensive game.
 
if you guys haven't exhausted your possibilities with some kind of frame limiting that may be cheaper than a new PC.

Doesn't have to be from MQ. If you have, well, uh, sorry, that sucks.
 
if you guys haven't exhausted your possibilities with some kind of frame limiting that may be cheaper than a new PC.

Doesn't have to be from MQ. If you have, well, uh, sorry, that sucks.
I strong recommend against external "frame limiting" it doesn't work the same as the MQ framelimiter and can and will "starve" your toons the ability to "do work" while being limiteds
 
That's fair, my strong recommend is simply against assuming that you need a new PC without exhausting possibilities (or assuming that it will solve spagettEQ issues). I've read accounts of people using in-game or vid card settings to success.

OP wants a new PC and has already ordered it, so that is that, and I hope it is the end of his particular issues, which definitely may be different from someone else's (who knows with those ISbuxr ppl).
I strong recommend against external "frame limiting" it doesn't work the same as the MQ framelimiter and can and will "starve" your toons the ability to "do work" while being limiteds
 
After setting UseNewUIEngine=0 things got better but stutter is still pretty common.

I have an i7-9700K ( https://www.intel.com/content/www/u...-12m-cache-up-to-4-90-ghz/specifications.html ) now. I just ordered parts for a new PC with a a Ryzen 9 7950X3D ( https://www.newegg.com/amd-ryzen-9-...es-raphael-zen-4-socket-am5/p/N82E16819113791 ), we'll see if this dumb game chokes on 16 cores of power.

Your i7-9700K should be plenty powerful enough for EQ.

The 7950X3D has some issues. the 7950X3D and 7900X3D both have two 8x core 'chiplets', but only one has the extra cache. Depending on the work load the asymmetry can cause performance issues. They implemented a 'game' mode which will turn off the non 3D cache cores, but it uses the microsoft 'game bar' to detect when you are gaming. No clue if that works for EQ.

I suspect your issue is actually with your GPU and the settings in the eqclient.ini and memory.ini.

The DX11 roll out was ... 'painful' ... and required months to 'fix' it back to near DX9 performance.

One of the major sources of stutter is loading textures.

When the client loads a zone, it loads the 3D models with low or no textures. Then it loads X number of textures per frame. If the X is too low, you run around with out textured models for 2, 5, 10 minutes but your camera movement is smooth. If the X is too high, then you get stuttering when you move the camera as the game is doing too much 'per frame'.


There were fairly in depth discussions about what settings helped or hurt.
 
if you guys haven't exhausted your possibilities with some kind of frame limiting that may be cheaper than a new PC.

Doesn't have to be from MQ. If you have, well, uh, sorry, that sucks.
I don't even box, it's runs like shit with just a single character.
Your i7-9700K should be plenty powerful enough for EQ.

The 7950X3D has some issues. the 7950X3D and 7900X3D both have two 8x core 'chiplets', but only one has the extra cache. Depending on the work load the asymmetry can cause performance issues. They implemented a 'game' mode which will turn off the non 3D cache cores, but it uses the microsoft 'game bar' to detect when you are gaming. No clue if that works for EQ.

I suspect your issue is actually with your GPU and the settings in the eqclient.ini and memory.ini.

The DX11 roll out was ... 'painful' ... and required months to 'fix' it back to near DX9 performance.

One of the major sources of stutter is loading textures.

When the client loads a zone, it loads the 3D models with low or no textures. Then it loads X number of textures per frame. If the X is too low, you run around with out textured models for 2, 5, 10 minutes but your camera movement is smooth. If the X is too high, then you get stuttering when you move the camera as the game is doing too much 'per frame'.


There were fairly in depth discussions about what settings helped or hurt.
Been there, done that with all the suggested "fixes" and ini tweeks that showed up on the forums. It's very much not back to near DX9 performance.
 
if you guys haven't exhausted your possibilities with some kind of frame limiting that may be cheaper than a new PC.

Doesn't have to be from MQ. If you have, well, uh, sorry, that sucks.
I've exhausted every option I know about. CPU affinities, background FPS, memory settings etc. I don't use MQ and use ISBoxer with an unmodified game client. For what it's worth my CPU usage approaches 100% when 6boxing. As far as I can tell there is just a critical locking of the rendering or game thread when textures are loaded that appears to be alleviated when there are enough CPU cores/threads to service the game, but my poor old i7-9700K with its 8 cores/threads just doesn't have the cycles to spare.

Besides, it's a six year old PC. I looked into buying Spare Marine 2 and my GTX 1080 Ti sent me a PM in Discord with this image

green-mile-im-tired-boss.gif
 
When the client loads a zone, it loads the 3D models with low or no textures. Then it loads X number of textures per frame. If the X is too low, you run around with out textured models for 2, 5, 10 minutes but your camera movement is smooth. If the X is too high, then you get stuttering when you move the camera as the game is doing too much 'per frame'.
Is there a way for a user to control that X value? I'll infrequently see untextured models when turning, but almost always get stutter in even modestly decorated areas.
 
Is there a way for a user to control that X value? I'll infrequently see untextured models when turning, but almost always get stutter in even modestly decorated areas.
That is controlled by the Memory.ini file located in the Resources folder of your EQ install. Even back when the dev on the official forums explained what changes to make, nothing completely worked for me, so I gave up on fiddling with it.
 
1. Make a copy of your EQ folder so you can revert these changes if they don't work.

Clean out all your old config files.

1. Delete any files that have your characters name in them.
2. Delete eqclient.ini
3. Run OptionEditor.exe
- Engine Settings
--- Sound (off)
--- Social Animations (on)
--- Mip Mapping (off) <--- This is critical
--- Dynamic Lighting (off) <-- this is critical
--- Texture Caching (on) <-- not sure if this matters
--- Texture Compress (on) <-- not sure if this matters
--- Texture Quality (high) <-- set to high so you avoid some visible artifacts ( may be fixed now ) low for performance.

4. Log into your character.
5. Alt O-> Display -- Uncheck "Use New UI Engine"
6. Alt O-> Display -> Advanced ->
--- Set Max Frames Per second to unlimited,
--- Set Max Background FPS to unlimited.
--- Set Memory Mode to Most Memory Usage
--- Set Terrain Texture Quality to 'Normal'

7. EQ button -> MacroQuest -> Settings
- Frame Limiter
--- Enable frame limited when in the background ( on )
--- Render game scene ( off ) - I have it on at 5FPS because I sometimes record my game play
--- Enable frame limited when in the foreground ( on ) 60 FPS
--- Minimum Simulation Rate ( 30 FPS )

8. Exit EQ

---------------------------------------------------------------------------------------------

9. Run Task Manager so you can see your CPU/GPU load.
10. Run single EQ client.
--- You should see CPU usage on a single core anywhere from 40% to 70%.
--- Alt Tab so EQ no longer has focus --> CPU usage should drop down to around 10-20% of a core.

11. Move around in your guild hall and see how smooth your client is under minimum load.

------------------------------------------------------------

** IF ** you are still stuttering then ...

Open your eqclient.ini in notepad and set the following variables. ( most of these were set when via OptionsEditor.exe )

[default]
MipMapping=FALSE
ShowDynamicLights=FALSE
GraphicsMemoryModeSwitch=1
TextureQuality=1
MultiPassLighting=0
AllLuclinPcModelsOff=0
UseNewUIEngine=0

------------------------------------------------------------

If you made changes, save and see if it fixes the stuttering issue, if not

Open your eqclient.ini in notepad and add the following line

[Defaults]
MemoryIni=Resources\MyMemory.ini

-- make a copy of "everquest\resources\Memory.ini" and rename it "MyMemory.ini"
-- Open the file in notepad

There are comments at the top of the file explaining the variables and what they do.
We picked "most memory usage" so we want to make changes to varibles under [MemoryMode2]

# TextureLoadsPerFrame--The number of deferred textures the renderer will load from disk each frame.
# AnimationLoadsPerFrame--The number of deferred animations the renderer will load from disk each frame.
# BitmapsPerFrame--The number of textures that will be analyzed for reclamation each frame.
# DownsamplesPerFrame--The maximum number of textures that can be down-sampled each frame.
# DownsampleDistance1--If a texture is further than this distance (in feet) from the camera, it will have one MIP level removed when down-sampled.
# DownsampleDistance2--If a texture is further than this distance (in feet) from the camera, it will have two MIP levels removed when down-sampled.
# UpsamplesPerFrame--The maximum number of textures that can be re-loaded per frame if they have gotten closer than UpsamplesDistance.
# UpsamplesDistance--The distance at which a texture will be upsampled to a higher quality.
# TimeoutNearDistance--If a texture is further than this distance (in feet) from the camera and not being rendered, it will use a linearly interpolated timeout between TimeoutNearTime (milliseconds) and TimeoutFarTime (milliseconds).
# TimeoutNearTime--Timeout (milliseconds) since last render for closer textures.
# TimeoutFarDistance--If a texture is further than this distance (in feet) fromthe camera and not being rendered, it will use timeout of TimeoutFarTime (milliseconds) before being unloaded.
# TimeoutFarTime--Timeout (milliseconds) since last render for far away textures.
# MaxTextureQuality--The maximum quality that textures in the game will be loaded at (0 is highest, 2 is lowest).
# MinTextureQuality--The minimum quality that textures in the game will be loaded at (0 is highest, 2 is lowest).
# TextureDistance1--The distance beyond which textures will be loaded at the medium texture quality.
# TextureDistance2--The distance beyond which textures will be loaded at the low texture quality.
# MaxHighQualityTextureMem--The maximum amount of memory that can be used by the game on high quality textures.
# DownsampleTextureMem--The minimum texture memory that must be loaded for the game to begin downsampling textures that have reached downsampling distances.

---------------------------------------------------------------------

The goal is to limit the number of texture loads and to disable mipmapping

[MemoryMode2]
BitmapsPerFrame=1
TextureLoadsPerFrame=1
AnimationLoadsPerFrame=1
DownsamplesPerFrame=1
UpsamplesPerFrame=1
MaxTextureQuality=2
MinTextureQuality=2

These force the quality to stay low and only loads 1x per frame which gives very smooth performance when I was testing it.

I have since reverted to the default memory.ini because its 'good enough'

This is all kind of from memory so there may be mistakes.
 
1. Make a copy of your EQ folder so you can revert these changes if they don't work.

Clean out all your old config files.

1. Delete any files that have your characters name in them.
2. Delete eqclient.ini
3. Run OptionEditor.exe
- Engine Settings
--- Sound (off)
--- Social Animations (on)
--- Mip Mapping (off) <--- This is critical
--- Dynamic Lighting (off) <-- this is critical
--- Texture Caching (on) <-- not sure if this matters
--- Texture Compress (on) <-- not sure if this matters
--- Texture Quality (high) <-- set to high so you avoid some visible artifacts ( may be fixed now ) low for performance.

4. Log into your character.
5. Alt O-> Display -- Uncheck "Use New UI Engine"
6. Alt O-> Display -> Advanced ->
--- Set Max Frames Per second to unlimited,
--- Set Max Background FPS to unlimited.
--- Set Memory Mode to Most Memory Usage
--- Set Terrain Texture Quality to 'Normal'

7. EQ button -> MacroQuest -> Settings
- Frame Limiter
--- Enable frame limited when in the background ( on )
--- Render game scene ( off ) - I have it on at 5FPS because I sometimes record my game play
--- Enable frame limited when in the foreground ( on ) 60 FPS
--- Minimum Simulation Rate ( 30 FPS )

8. Exit EQ

---------------------------------------------------------------------------------------------

9. Run Task Manager so you can see your CPU/GPU load.
10. Run single EQ client.
--- You should see CPU usage on a single core anywhere from 40% to 70%.
--- Alt Tab so EQ no longer has focus --> CPU usage should drop down to around 10-20% of a core.

11. Move around in your guild hall and see how smooth your client is under minimum load.

------------------------------------------------------------

** IF ** you are still stuttering then ...

Open your eqclient.ini in notepad and set the following variables. ( most of these were set when via OptionsEditor.exe )

[default]
MipMapping=FALSE
ShowDynamicLights=FALSE
GraphicsMemoryModeSwitch=1
TextureQuality=1
MultiPassLighting=0
AllLuclinPcModelsOff=0
UseNewUIEngine=0

------------------------------------------------------------

If you made changes, save and see if it fixes the stuttering issue, if not

Open your eqclient.ini in notepad and add the following line

[Defaults]
MemoryIni=Resources\MyMemory.ini

-- make a copy of "everquest\resources\Memory.ini" and rename it "MyMemory.ini"
-- Open the file in notepad

There are comments at the top of the file explaining the variables and what they do.
We picked "most memory usage" so we want to make changes to varibles under [MemoryMode2]

# TextureLoadsPerFrame--The number of deferred textures the renderer will load from disk each frame.
# AnimationLoadsPerFrame--The number of deferred animations the renderer will load from disk each frame.
# BitmapsPerFrame--The number of textures that will be analyzed for reclamation each frame.
# DownsamplesPerFrame--The maximum number of textures that can be down-sampled each frame.
# DownsampleDistance1--If a texture is further than this distance (in feet) from the camera, it will have one MIP level removed when down-sampled.
# DownsampleDistance2--If a texture is further than this distance (in feet) from the camera, it will have two MIP levels removed when down-sampled.
# UpsamplesPerFrame--The maximum number of textures that can be re-loaded per frame if they have gotten closer than UpsamplesDistance.
# UpsamplesDistance--The distance at which a texture will be upsampled to a higher quality.
# TimeoutNearDistance--If a texture is further than this distance (in feet) from the camera and not being rendered, it will use a linearly interpolated timeout between TimeoutNearTime (milliseconds) and TimeoutFarTime (milliseconds).
# TimeoutNearTime--Timeout (milliseconds) since last render for closer textures.
# TimeoutFarDistance--If a texture is further than this distance (in feet) fromthe camera and not being rendered, it will use timeout of TimeoutFarTime (milliseconds) before being unloaded.
# TimeoutFarTime--Timeout (milliseconds) since last render for far away textures.
# MaxTextureQuality--The maximum quality that textures in the game will be loaded at (0 is highest, 2 is lowest).
# MinTextureQuality--The minimum quality that textures in the game will be loaded at (0 is highest, 2 is lowest).
# TextureDistance1--The distance beyond which textures will be loaded at the medium texture quality.
# TextureDistance2--The distance beyond which textures will be loaded at the low texture quality.
# MaxHighQualityTextureMem--The maximum amount of memory that can be used by the game on high quality textures.
# DownsampleTextureMem--The minimum texture memory that must be loaded for the game to begin downsampling textures that have reached downsampling distances.

---------------------------------------------------------------------

The goal is to limit the number of texture loads and to disable mipmapping

[MemoryMode2]
BitmapsPerFrame=1
TextureLoadsPerFrame=1
AnimationLoadsPerFrame=1
DownsamplesPerFrame=1
UpsamplesPerFrame=1
MaxTextureQuality=2
MinTextureQuality=2

These force the quality to stay low and only loads 1x per frame which gives very smooth performance when I was testing it.

I have since reverted to the default memory.ini because its 'good enough'

This is all kind of from memory so there may be mistakes.
Thank you for trying to offer help, but I've done all of that and EQ still stutters when I use mouse look to turn.
 
Thank you for trying to offer help, but I've done all of that and EQ still stutters when I use mouse look to turn.

Here is a good write up with more suggestions.

Two questions Whelps:

Q1 - Have you tried using 'stickfigures'? ( edit your eqclient.ini and add StickFigures=1 -- I think )

Q2 - What are the stats on your machine?

There was a setting on some newer machines that you needed to turn on in the bios but I'm not finding it.
 
This is all kind of from memory so there may be mistakes.
Thanks, this was super helpful. I just did all that while recording videos of my character loading into PoK facing away from the Bristlebane lag pile and then keyboard-turning around in circles.

Using the approach you described I was able to dramatically reducing my stuttering. The big gains came from resetting my eqclient.ini (I've been butchering this poor file for... decades...), switching from Least Memory->Most Memory (I'd been flipping between both of these trying things out) and turning off mipmapping.

Once I get my new monster of a CPU (Ryzen 7950X3D) I'll try some other tests and then upload a montage video with some data.
 
Here is a good write up with more suggestions.

Two questions Whelps:

Q1 - Have you tried using 'stickfigures'? ( edit your eqclient.ini and add StickFigures=1 -- I think )

Q2 - What are the stats on your machine?

There was a setting on some newer machines that you needed to turn on in the bios but I'm not finding it.
I don't think stickfigures will help. I can maintain 50-60 fps even in high traffic areas, it's just when I try to mouse-look-turn that the stuttering starts.

i7-8700K OC'd to 5.0Ghz
64GB DDR4
ROG Strix z370-f
RTX 4060 Ti
NVME and SSD for storage
 
I don't think stickfigures will help. I can maintain 50-60 fps even in high traffic areas, it's just when I try to mouse-look-turn that the stuttering starts.

i7-8700K OC'd to 5.0Ghz
64GB DDR4
ROG Strix z370-f
RTX 4060 Ti
NVME and SSD for storage
Are you showing names? (Sorry if you already said).
 
I don't think stickfigures will help. I can maintain 50-60 fps even in high traffic areas, it's just when I try to mouse-look-turn that the stuttering starts.

Please try running stick figures.

Edit your eqclient.ini and add

[Defaults]
StickFigures=1

One possible reason for the stutter is all the character models. The EQ engine struggles to get 50+ of them rendered in a single frame 60 fps frame.

Ultimately the EQ Devs need to put more work into optimizing the EQ engine but ...
 
Alternatively, you can try just turning pets and players off on your options menu. I ran like that for quite awhile during the directx migration with huge performance improvements and actually still do it now on some raids for personal preference when I want less visual clutter.
 
ive had issues the last few patches but only after the toons have been logged in for a few days. ill load 100 toons and CPU will be at 36% but after 2-3 days its 70-100%
 
Alternatively, you can try just turning pets and players off on your options menu. I ran like that for quite awhile during the directx migration with huge performance improvements and actually still do it now on some raids for personal preference when I want less visual clutter.

This is good but stick figures also effects player race NPC's and if I recall right also avoids drawing weapons.

"/hidemodel all" is great for raids.
 
Question - EQ Stuttering and CPUs

Users who are viewing this thread

Back
Top