Every time I launch Quake 3 it seems fine until I hit anything on the menu. From singleplayer to exit, every time I click on something the frame rate drops to about half a frame a second. How do I fix this, I cant find a fix anywhere else

how to fix it because i am being pissed off

Hey there, sorry quake 3 wasn’t working. A few questions to try and solve the issue:

  1. Did you download a version of ioquake3 from our website or are you running the original quake 3 without ioquake3?
  2. Are you running Windows? macOS? Linux? What version or distro?
  3. What graphics hardware does your computer have? Do other games run at normal speeds?

I am experiencing something similar. Windows 10.

I downloaded the game from here https://files.ioquake3.org/Windows.zip, unpacked it then moved the original game .pk3 files to baseq3 of the unpacked folder.
I also tried following the instructions in https: //ioquake3 .org/help/players-guide/#windows (running installer, then replacing files), but the result is the same.

Notably, when I launch ioquake3.x86.exe from the old installer instead of ioquake3.x86_64.exe from Windows.zip, it runs smooth, not as atrociously as ioquake3.x86_64.exe.

My original Quake III Arena from steam also runs smooth.

My GPU is an old-ish (~2015) Nvidia one.

This looks very similar to Engine runs at less than 1 FPS on Windows XP.


And just as I was about to press “post”, I launched the game once again, and it worked perfectly! Both the “installed” version and the simply unpacked Windows.zip.
Frankly, I have no idea what fixed it.

OK, never mind, the issue is back.

I tested it again with the latest build fix minor spelling errors · ioquake/ioq3@ab18167 · GitHub

Another peculiar thing: the main menu (where there are “Single Player”, “Multiplayer” buttons) is smooth, the other menus are not.
Aaand if you manage to start the game (let’s say with map q3dm1 from the main menu), it takes a minute to load, but the game itself is smooth.

Edit: I also tried the latest SDL2 build, as recommended here Only initialise a joystick when they're enabled by tjone270 · Pull Request #715 · ioquake/ioq3 · GitHub, but it didn’t help.

Workaround

OK, I have found a workaround: launch the game with ./ioquake3.x86_64.exe +set cl_renderer opengl1. You can create a .bat file with this text.

More debugging

Now, some more debugging:
I also noticed that setting r_finish 1 (“sync every frame”) also makes the main menu laggy.
Another thing is if I go to the “player” menu where the player model is displayed, it stops lagging.
So I highly suspect that this has to do with whether there is an “active” animation being displayed on the screen. If there isn’t, then it’s laggy.

If you can’t get to the console setting the launch option may be easier, but if you can get to the console you can also set the cl_renderer cvar and do a vid_restart, this is documented in the Player’s Guide

1 Like

More debugging:

I looked at the logs when the game happens to run smooth, and when it happens to be laggy. And they are identical (I checked with diff).

log
logfile opened on <REDACTED>

----- Client Initialization -----
----- Initializing Renderer ----
Trying to load "renderer_opengl2_x86_64.dll" from "<REDACTED>\ioquake3"...
-------------------------------
QKEY found.
----- Client Initialization Complete -----
----- R_Init -----
SDL using driver "windows"
Initializing OpenGL display
Display aspect: 1.778
...setting mode 3: 640 480
Using 24 color bits, 24 depth, 8 stencil display.
Available modes: '<REDACTED> 640x480 800x600 1024x768 <REDACTED>'
GL_RENDERER: Intel(R) HD Graphics <REDACTED>
* IGNORING OPENGL EXTENSIONS *
...using GLSL version OpenGL ES GLSL ES 1.0 - Build 10.18.10.4358
------- GLSL_InitGPUShaders -------
Using GPU vertex animation
loaded 108 GLSL shaders (48 gen 42 light 18 etc) in  0.87 seconds
------- R_InitVaos -------
Initializing Shaders

GL_VENDOR: Intel
GL_RENDERER: Intel(R) HD Graphics <REDACTED>
GL_VERSION: OpenGL ES 2.0 - Build 10.18.10.4358
GL_EXTENSIONS: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_color_buffer_float GL_EXT_texture_rg GL_EXT_texture_buffer GL_INTEL_performance_queries GL_INTEL_performance_query GL_EXT_texture_storage GL_KHR_debug GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_depth_texture GL_EXT_color_buffer_half_float GL_OES_vertex_half_float GL_EXT_shadow_samplers GL_OES_standard_derivatives GL_OES_mapbuffer GL_EXT_discard_framebuffer GL_EXT_texture_format_BGRA8888 GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_vertex_array_object GL_OES_get_program_binary GL_OES_texture_3D GL_OES_fbo_render_mipmap GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_element_index_uint GL_OES_texture_npot GL_EXT_sRGB GL_EXT_frag_depth GL_APPLE_texture_max_level GL_EXT_occlusion_query_boolean GL_EXT_texture_compression_dxt1 GL_OES_required_internalformat GL_EXT_separate_shader_objects GL_OES_surfaceless_context GL_EXT_robustness GL_EXT_texture_sRGB_decode GL_EXT_shader_texture_lod GL_EXT_unpack_subimage GL_EXT_read_format_bgra GL_EXT_debug_marker GL_KHR_blend_equation_advanced GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_OES_texture_stencil8 GL_OES_shader_image_atomic GL_EXT_shader_integer_mix GL_EXT_disjoint_timer_query GL_EXT_primitive_bounding_box 
GL_MAX_TEXTURE_SIZE: 8192
GL_MAX_TEXTURE_IMAGE_UNITS: 16

PIXELFORMAT: color(24-bits) Z(24-bit) stencil(8-bits)
MODE: 3, 640 x 480 windowed hz:N/A
GAMMA: hardware w/ 1 overbright bits
texturemode: GL_LINEAR_MIPMAP_NEAREST
picmip: 2
texture bits: 32
compiled vertex arrays: disabled
texenv add: enabled
compressed textures: disabled
----- finished R_Init -----
------ Initializing Sound ------
Trying to load "OpenAL32.dll"...
Failed to open OpenAL device 'DirectSound Software', trying default.
Allocated 96 sources.
OpenAL default capture device is '<REDACTED>'
OpenAL capture device opened.
OpenAL info:
  Vendor:         Creative Labs Inc.
  Version:        1.1
  Renderer:       Software
  AL Extensions:  EAX EAX2.0 EAX3.0 EAX4.0 EAX5.0 EAX3.0EMULATED EAX4.0EMULATED AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE
  ALC Extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_EFX
  Device:         <REDACTED>
  Available Devices:
<REDACTED>
Generic Software on Realtek Digital Output (Realtek High Definition Audio)
  Input Device:   <REDACTED>
  Available Input Devices:
<REDACTED>
Sound initialization successful.