FWGS / xash3d-fwgs

Xash3D FWGS engine
1.58k stars 240 forks source link

Чёрный экран при сворачивании игры на главном меню #1782

Open Vladislav4KZ opened 3 months ago

Vladislav4KZ commented 3 months ago

Звуки меню при этом слышны.

Если свернуть игру с запущенной картой и открытым главным меню, то при закрытии главного меню клавишей ESC чёрный экран пропадает.

Проверял на: Xash3D FWGS v49/0.21 Номер сборки: 3424 Тип сборки: win32-i386 Коммит: https://github.com/FWGS/xash3d-fwgs/commit/f3d181b5ee2f2ac585ed908d35f78828dc621f9b Ветка: master

Сведения об устройстве: Ноутбук Lenovo B590 (не заводской комплектации) ОЗУ: 8ГБ DDR3 1600 МГц ЦП: Intel® Celeron® 1000M 3-его поколения (Ivy Bridge) с частотой 1.80 ГГц Видеоускоритель: Intel® HD Graphics для процессоров Intel® 3-его поколения. Базовая частота 650 МГц, максимальная 1 ГГц. (Конкретная модель не указана). Версия драйвера видеоускорителя: 10.18.10.4358 ОС: Windows 10 Домашняя для одного языка x64 22H2 Номер сборки ОС: 19045.4780

Вывод r_info:

GL_VENDOR: Intel
GL_RENDERER: Intel(R) HD Graphics
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 
GL_MAX_TEXTURE_SIZE: 16384
GL_MAX_TEXTURE_UNITS_ARB: 8
GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: 16384
GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: 16.0
GL_MAX_RECTANGLE_TEXTURE_SIZE: 16384
GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: 2048
GL_MAX_TEXTURE_COORDS_ARB: 8
GL_MAX_TEXTURE_IMAGE_UNITS_ARB: 16
GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB: 4096
GL_MAX_VERTEX_ATTRIBS_ARB: 16

MODE: 1440x900

VERTICAL SYNC: enabled
Color 24 bits, Alpha 8 bits, Depth 24 bits, Stencil 8 bits
Vladislav4KZ commented 3 months ago

Это происходит в Fullscreen, Windowed и Borderless режимах.

В Windowed режиме вместо чёрного окна, отображается застывшая картинка, которая показывает состояние до сворачивания игры. В Borderless режиме иногда происходит то же самое, либо чёрный экран, либо застывшая картинка.

Vladislav4KZ commented 3 months ago

Баг с чёрным экраном при сворачивании игры на главном меню воспроизводится только при ui_renderworld 0.

Vladislav4KZ commented 3 months ago

Баг воспроизводится только на OpenGL рендерере. На Software баг с чёрным экраном не воспроизводится.

Это как-то связано с отображением фона главного меню.

mittorn commented 3 months ago

Хорошо что ещё чёрный экран, а не access violation. Насколько я знаю, сворачивание opengl окон в некоторых виндовых интеловских драйверах сломано...

Другие opengl игры нормально переживают сворачивание?

Vladislav4KZ commented 3 months ago

На GoldSource например нет бага с чёрным экраном при сворачивании и разворачивании игры на OpenGL рендерере.

mittorn commented 3 months ago

Может драйвер и не причём, но точно интел начинает странно себя вести если свернуть окно, иногда даже крашится

a1batross commented 3 months ago

Сворачивание в borderless режиме теперь должно быть точно таким же, как и в оконном.

А то я хотел проверить это под линуксом, но заметил только то, что окно в оконный режим возвращается в borderless. Дома попробую в виртуалке воспроизвести.

https://github.com/FWGS/xash3d-fwgs/commit/70e11cc309e56274bc89e9212fed785b3323c076