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.

Ummm, now it also happened on opengl1 renderer

You may try these and see if it improves:

  1. Your console log reports “* IGNORING OPENGL EXTENSIONS *”. Try enabling “Allow Extensions” in the Setup → System → Graphics menu. (Or run “r_allowExtensions 1; vid_restart” in the Quake 3 console.) Disabling extensions may interfere with proper function and is probably mainly for old OpenGL drivers that advertise features but have broken support.

  2. In your console log it reports you are using the 2009 era Creative Labs OpenAL32.dll. This was included in ioquake3 1.36 installer but is no longer recommended. Try moving it out of your ioquake3 directory. (You can replace OpenAL32.dll with OpenAL Soft if you want surround sound support.)

If these don’t resolve it, could you post the log from ioquake3.x86_64.exe with cl_renderer opengl1 and from old quake3.exe? I wonder if a different OpenGL driver is used for 32-bit and 64-bit applications on your system. (In which case you may benefit from compiling and running ioquake3 for x86.)

1 Like

Oh. Thanks! With

cl_renderer opengl1
r_allowExtensions 0

it runs smooth now.

On opengl2, however, r_allowExtensions, whether 0 or 1, has no effect. I also removed openal32.dll from the dir. That also didn’t help.

Here is the diff of the logs, from x64 to x86. Indeed, looks like a different driver is used:

`qconsole.log` diff
--- a/x64.log	
+++ b/x86.log	
@@ -1,30 +1,27 @@
 
 ----- Client Initialization -----
 ----- Initializing Renderer ----
-Trying to load "renderer_opengl1_x86_64.dll" from "...\ioquake3"...
 -------------------------------
 QKEY found.
 ----- Client Initialization Complete -----
 ----- R_Init -----
-SDL using driver "windows"
+SDL using driver "directx"
 Initializing OpenGL display
-Display aspect: 1.778
+Estimated display aspect: 1.778
 ...setting mode 6: 1024 768
-Using 24 color bits, 24 depth, 8 stencil display.
-Available modes: '<REDACTED> 640x400 <REDACTED>'
+Using 8/8/8 Color bits, 24 depth, 0 stencil display.
+Available modes: '<REDACTED> 320x200 640x400 <REDACTED>'
 GL_RENDERER: <REDACTED>
 * IGNORING OPENGL EXTENSIONS *
-Initializing Shaders
 
 GL_VENDOR: Intel
 GL_RENDERER: <REDACTED>
 GL_VERSION: 4.0.0 - Build 10.18.10.4358
-GL_EXTENSIONS: GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color GL_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_SGIS_texture_edge_clamp GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_SGIS_texture_lod GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_texture_edge_clamp GL_EXT_separate_specular_color GL_ARB_multitexture GL_ARB_map_buffer_alignment GL_ARB_conservative_depth GL_EXT_texture_env_combine GL_EXT_bgra GL_EXT_blend_func_separate GL_EXT_secondary_color GL_EXT_fog_coord GL_EXT_texture_env_add GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_texture_env_add GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays GL_NV_blend_square GL_ARB_texture_compression GL_3DFX_texture_compression_FXT1 GL_EXT_texture_filter_anisotropic GL_ARB_texture_border_clamp GL_ARB_point_parameters GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar GL_EXT_texture_compression_s3tc GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fragment_program GL_EXT_stencil_two_side GL_ATI_separate_stencil GL_ARB_vertex_buffer_object GL_EXT_texture_lod_bias GL_ARB_occlusion_query GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_two GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite GL_ARB_fragment_program_shadow GL_EXT_blend_equation_separate GL_ARB_depth_texture GL_ARB_texture_rectangle GL_ARB_draw_buffers GL_ARB_color_buffer_float GL_ARB_half_float_pixel GL_ARB_texture_float GL_ARB_pixel_buffer_object GL_EXT_framebuffer_object GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_occlusion_query2 GL_EXT_draw_buffers2 GL_WIN_swap_hint GL_EXT_texture_sRGB GL_ARB_multisample GL_EXT_packed_float GL_EXT_texture_shared_exponent GL_ARB_texture_rg GL_ARB_texture_compression_rgtc GL_NV_conditional_render GL_ARB_texture_swizzle GL_EXT_texture_swizzle GL_ARB_texture_gather GL_ARB_sync GL_ARB_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_ARB_depth_buffer_float GL_EXT_transform_feedback GL_ARB_transform_feedback2 GL_ARB_draw_indirect GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_ARB_framebuffer_object GL_ARB_framebuffer_no_attachments GL_EXT_texture_array GL_EXT_texture_integer GL_ARB_map_buffer_range GL_ARB_texture_buffer_range GL_EXT_texture_buffer GL_EXT_texture_snorm GL_ARB_blend_func_extended GL_INTEL_performance_queries GL_INTEL_performance_query GL_ARB_copy_buffer GL_ARB_sampler_objects GL_NV_primitive_restart GL_ARB_seamless_cube_map GL_ARB_uniform_buffer_object GL_ARB_depth_clamp GL_ARB_vertex_array_bgra GL_ARB_shader_bit_encoding GL_ARB_draw_buffers_blend GL_ARB_geometry_shader4 GL_EXT_geometry_shader4 GL_ARB_texture_query_lod GL_ARB_explicit_attrib_location GL_ARB_draw_elements_base_vertex GL_ARB_instanced_arrays GL_ARB_base_instance GL_ARB_fragment_coord_conventions GL_EXT_gpu_program_parameters GL_ARB_texture_buffer_object_rgb32 GL_ARB_compatibility GL_ARB_texture_rgb10_a2ui GL_ARB_texture_multisample GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_timer_query GL_ARB_tessellation_shader GL_ARB_vertex_array_object GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_texture_cube_map_array GL_EXT_gpu_shader4 GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_shader_subroutine GL_ARB_transform_feedback3 GL_ARB_get_program_binary GL_ARB_separate_shader_objects GL_ARB_shader_precision GL_ARB_vertex_attrib_64bit GL_ARB_viewport_array GL_ARB_transform_feedback_instanced GL_ARB_compressed_texture_pixel_storage GL_ARB_shader_atomic_counters GL_ARB_shading_language_packing GL_ARB_shading_language_420pack GL_ARB_texture_storage GL_EXT_texture_storage GL_ARB_vertex_attrib_binding GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_texture_storage_multisample GL_ARB_buffer_storage GL_ARB_debug_output GL_KHR_debug GL_ARB_arrays_of_arrays GL_INTEL_map_texture GL_ARB_texture_compression_bptc GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_robustness GL_EXT_texture_sRGB_decode GL_KHR_blend_equation_advanced GL_EXT_shader_integer_mix GL_ARB_stencil_texturing WGL_EXT_depth_float WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_pixel_format WGL_ARB_pbuffer WGL_EXT_extensions_string WGL_EXT_swap_control WGL_EXT_swap_control_tear WGL_ARB_multisample WGL_ARB_pixel_format_float WGL_ARB_framebuffer_sRGB WGL_ARB_create_context WGL_ARB_create_context_profile WGL_EXT_pixel_format_packed_float WGL_EXT_create_context_es_profile WGL_EXT_create_context_es2_profile WGL_NV_DX_interop WGL_ARB_create_context_robustness 
-GL_MAX_TEXTURE_SIZE: 16384
+GL_EXTENSIONS: GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color GL_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_SGIS_texture_edge_clamp GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_SGIS_texture_lod GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_texture_edge_clamp GL_EXT_separate_specular_color GL_ARB_multitexture GL_ARB_map_buffer_alignment GL_ARB_conservative_depth GL_EXT_texture_env_combine GL_EXT_bgra GL_EXT_blend_func_separate GL_EXT_secondary_color GL_EXT_fog_coord GL_EXT_texture_env_add GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_texture_env_add GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays GL_NV_blend_square GL_ARB_texture_compression GL_3DFX_texture_compression_FXT1 GL_EXT_texture_filter_anisotropic GL_ARB_texture_border_clamp GL_ARB_point_parameters GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar GL_EXT_texture_compression_s3tc GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fragment_program GL_EXT_stencil_two_side GL_ATI_separate_stencil GL_ARB_vertex_buffer_object GL_EXT_texture_lod_bias GL_ARB_occlusion_query GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_two GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite GL_ARB_fragment_program_shadow GL_EXT_blend_equation_separate GL_ARB_depth_texture GL_ARB_texture_rectangle GL_ARB_draw_buffers GL_ARB_color_buffer_float GL_ARB_half_float_pixel GL_ARB_texture_float GL_ARB_pixel_buffer_object GL_EXT_framebuffer_object GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_occlusion_query2 GL_EXT_draw_buffers2 GL_WIN_swap_hint GL_EXT_texture_sRGB GL_ARB_multisample GL_EXT_packed_float GL_EXT_texture_shared_exponent GL_ARB_texture_rg GL_ARB_texture_compression_rgtc GL_NV_conditional_render GL_ARB_texture_swizzle GL_EXT_texture_swizzle GL_ARB_texture_gather GL_ARB_sync GL_ARB_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_ARB_depth_buffer_float GL_EXT_transform_feedback GL_ARB_transform_feedback2 GL_ARB_draw_indirect GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_ARB_framebuffer_object GL_ARB_framebuffer_no_attachments GL_EXT_texture_array GL_EXT_texture_integer GL_ARB_map_buffer_range GL_ARB_texture_buffer_range GL_EXT_texture_buffer GL_EXT_texture_snorm GL_ARB_blend_func_extended GL_INTEL_performance_queries GL_INTEL_performance_query GL_ARB_copy_buffer GL_ARB_sampler_objects GL_NV_primitive_restart GL_ARB_seamless_cube_map GL_ARB_uniform_buffer_object GL_ARB_depth_clamp GL_ARB_vertex_array_bgra GL_ARB_shader_bit_encoding GL_ARB_draw_buffers_blend GL_ARB_geometry_shader4 GL_EXT_geometry_shader4 GL_ARB_texture_query_lod GL_ARB_explicit_attrib_location GL_ARB_draw_elements_base_vertex GL_ARB_instanced_arrays GL_ARB_base_instance GL_ARB_fragment_coord_conventions GL_EXT_gpu_program_parameters GL_ARB_texture_buffer_object_rgb32 GL_ARB_compatibility GL_ARB_texture_rgb10_a2ui GL_ARB_texture_multisample GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_timer_query GL_ARB_tessellation_shader GL_ARB_vertex_array_object GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_texture_cube_map_array GL_EXT_gpu_shader4 GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_shader_subroutine GL_ARB_transform_feedback3 GL_ARB_get_program_binary GL_ARB_separate_shader_objects GL_ARB_shader_precision GL_ARB_vertex_attrib_64bit GL_ARB_viewport_array GL_ARB_transform_feedback_instanced GL_ARB_compressed_texture_pixel_storage GL_ARB_shader_atomic_counters GL_ARB_shading_language_packing GL_ARB_shading_language_420pack GL_ARB_texture_storage GL_EXT_texture_storage GL_ARB_vertex_attrib_binding GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_texture_storage_multisample GL_ARB_buffer_storage GL_ARB_debug_output GL_KHR_debug GL_ARB_arrays_of_arrays GL_INTEL_map_texture GL_ARB_texture_compression_bptc GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GLhðu|äþ çBGL_MAX_TEXTURE_SIZE: 16384
 GL_MAX_TEXTURE_UNITS_ARB: 0
 
-PIXELFORMAT: color(24-bits) Z(24-bit) stencil(8-bits)
+PIXELFORMAT: color(24-bits) Z(24-bit) stencil(0-bits)
 MODE: 6, 1024 x 768 windowed hz:N/A
 GAMMA: hardware w/ 0 overbright bits
 rendering primitives: multiple glArrayElement
@@ -35,9 +32,10 @@ multitexture: disabled
 compiled vertex arrays: disabled
 texenv add: disabled
 compressed textures: disabled
+Initializing Shaders
 ----- finished R_Init -----
 ------ Initializing Sound ------
-Trying to load "OpenAL32.dll"...
+Loading "OpenAL32.dll"...
 Allocated 96 sources.
 OpenAL default capture device is 'Microphone <REDACTED>'
 OpenAL capture device opened.
@@ -47,23 +45,14 @@ OpenAL info:
   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>
-<REDACTED>
-  Input Device:   <REDACTED>
-  Available Input Devices:
-<REDACTED>
+  Device:         Generic Software
+Available Devices:
+Generic Software
 Sound initialization successful.
 --------------------------------
 Loading vm file vm/ui.qvm...
-File "vm/ui.qvm" found at "...\ioquake3\baseq3"
-...which has vmMagic VM_MAGIC_VER2
-Loading 1162 jump table targets
-VM file ui compiled to 697201 bytes of code
-ui loaded in 1751200 bytes on the hunk
+VM file ui compiled to 594408 bytes of code
+ui loaded in 1368576 bytes on the hunk
 35 arenas parsed
 32 bots parsed
 --- Common Initialization Complete ---
@@ -96,9 +85,9 @@ IP: 172.19.128.1
 IP: 172.24.240.1
 Opening IP6 socket: [::]:27960
 Opening IP socket: 0.0.0.0:27960
+Unknown command "+zoom^7"
 ]\quit 
------ Client Shutdown (Client quit) -----
-RE_Shutdown( 1 )
-Hunk_Clear: reset the hunk ok
+----- CL_Shutdown -----
 OpenAL capture device closed.
+RE_Shutdown( 1 )
 -----------------------

I think that’s what you had before though? :smile:

 GL_VENDOR: Intel
 GL_RENDERER: <REDACTED>
 GL_VERSION: 4.0.0 - Build 10.18.10.4358

These seem to indicate it’s the same OpenGL driver. The difference in GL_EXTENSIONS is because quake3.exe didn’t support a large enough buffer to hold it.

I think someone on Windows 10 encountered 32-bit apps using Intel OpenGL driver and 64-bit apps using Vendor: Microsoft, Renderer: GDI Generic which is a poor performance wrapper over DirectX. That doesn’t seem to be the case for you though.

I don’t know why 64-bit ioquake3 would be performing worse with the same OpenGL driver. It might still be worth trying compiling ioquake3 for 32-bit. :person_shrugging:

1 Like

Hm well yep, probably. I might have just not noticed that I enabled r_allowExtensions prior to when it started also affecting opengl1 (the issue seems to start happening after an OS restart).

IDK TBH if this can be called “performing worse” though. The main menu runs smooth, as well as the game itself, when it loads eventually. It’s only other menus that are the issue (probably because they don’t have moving stuff).

Yet another update (not a very interesting one probably): I updated the video driver, and now on opengl2 there is no more of this “freezing” in the menu, but when I a map, everything is black except the HUD. On opengl1 it’s fine.