Map 20 of AV loading problems with latest stable
Even without any addons, if you load the map, it takes a long time, and if you try to reload the map after saving, it says 'loading' indefinitely and forces me to enter task manager. Also when I leave the game, I noticed recently that the screen almost fades to complete darkness, but takes several seconds to completely exit unlike previous versions, but when exiting the game form this map, it wont exit after fading, so I must exit through task manager here too. Maybe this map has a problem with Doomsday? It also seems that loading maps in general take longer then the last stable 1.10.
Application path: C:\PROGRAM FILES (X86)\DOOMSDAY\Bin\Doomsday.exe
Enabled log entry level: MESSAGE
Created a new 32.0 MB memory volume.
Executable: Doomsday Engine 1.11.0 (Stable 32-bit #933) Jul 22 2013 03:31:10.
Command line (17 strings):
0: ..\Bin\Doomsday.exe
1: -basedir
2: C:\PROGRAM FILES (X86)\DOOMSDAY/
3: -deh
4: C:\PROGRAM FILES (X86)\DOOMSDAY\SNOWBERRY\addons\AV.DEH
5: -file
6: C:\PROGRAM FILES (X86)\DOOMSDAY\SNOWBERRY\addons\AV.WAD
7: -sfxchan
8: 16
9: -notexcomp
10: -game
11: doom2
12: -pwadtex
13: -iwad
14: C:\Program Files (x86)\DOOM Collector's Edition\Doom2\DOOM2.WAD
15: -userdir
16: C:\Users\daniel\Documents\Doomsday Frontend\runtime/
Loading shader definitions from read-only archive entry "data/shaders.dei" at path "/data/
doomsday.pk3/data/shaders.dei" (out of archive in read-only native file "(basedir)\data\
doomsday.pk3")
Initializing plugins...
(id:1) dehread
(id:2) doom
(id:3) wadmapconverter
Joystick_Init: T
Starting GuiApp event loop...
Canvas: Gained focus.
OpenGL information:
Version: 4.2.12217 Compatibility Profile Context 12.104.0.0
Renderer: AMD Radeon HD 6800 Series
Vendor: ATI Technologies Inc.
Capabilities:
Compressed texture formats: 31
Available texture units: 8
Maximum texture anisotropy: 16
Maximum texture size: 16384
Line width granularity: 0.125
Line width range: 1...63
OpenGL Extensions:
AMD extensions:
conservative_depth, debug_output, depth_clamp_separate, draw_buffers_blend,
multi_draw_indirect, name_gen_delete, performance_monitor, pinned_memory,
query_buffer_object, sample_positions, seamless_cubemap_per_texture,
shader_stencil_export, shader_trace, texture_cube_map_array, texture_texture4,
transform_feedback3_lines_triangles, vertex_shader_layer,
vertex_shader_tessellator, vertex_shader_viewport_index
AMDX extensions:
debug_output, vertex_shader_tessellator
ARB extensions:
ES2_compatibility, ES3_compatibility, arrays_of_arrays, base_instance,
blend_func_extended, clear_buffer_object, color_buffer_float, compatibility,
compressed_texture_pixel_storage, compute_shader, conservative_depth,
copy_buffer, depth_buffer_float, depth_clamp, depth_texture, draw_buffers,
draw_buffers_blend, draw_elements_base_vertex, draw_indirect, draw_instanced,
explicit_attrib_location, explicit_uniform_location, fragment_coord_conventions,
fragment_layer_viewport, fragment_program, fragment_program_shadow,
fragment_shader, framebuffer_object, framebuffer_sRGB, geometry_shader4,
get_program_binary, gpu_shader5, gpu_shader_fp64, half_float_pixel,
half_float_vertex, imaging, instanced_arrays, internalformat_query,
invalidate_subdata, map_buffer_alignment, map_buffer_range, multi_draw_indirect,
multisample, multitexture, occlusion_query, occlusion_query2,
pixel_buffer_object, point_parameters, point_sprite, program_interface_query,
provoking_vertex, sample_shading, sampler_objects, seamless_cube_map,
separate_shader_objects, shader_atomic_counters, shader_bit_encoding,
shader_image_load_store, shader_image_size, shader_objects, shader_precision,
shader_stencil_export, shader_storage_buffer_object, shader_subroutine,
shader_texture_lod, shading_language_100, shading_language_420pack,
shading_language_packing, shadow, shadow_ambient, stencil_texturing, sync,
tessellation_shader, texture_border_clamp, texture_buffer_object,
texture_buffer_object_rgb32, texture_buffer_range, texture_compression,
texture_compression_bptc, texture_compression_rgtc, texture_cube_map,
texture_cube_map_array, texture_env_add, texture_env_combine,
texture_env_crossbar, texture_env_dot3, texture_float, texture_gather,
texture_mirrored_repeat, texture_multisample, texture_non_power_of_two,
texture_query_levels, texture_query_lod, texture_rectangle, texture_rg,
texture_rgb10_a2ui, texture_snorm, texture_storage, texture_storage_multisample,
timer_query, transform_feedback2, transform_feedback3,
transform_feedback_instanced, transpose_matrix, uniform_buffer_object,
vertex_array_bgra, vertex_array_object, vertex_attrib_64bit,
vertex_buffer_object, vertex_program, vertex_shader, vertex_type_2_10_10_10_rev,
viewport_array, window_pos
ATI extensions:
draw_buffers, envmap_bumpmap, fragment_shader, separate_stencil,
texture_compression_3dc, texture_env_combine3, texture_float, texture_mirror_once
EXT extensions:
abgr, bgra, bindable_uniform, blend_color, blend_equation_separate,
blend_func_separate, blend_minmax, blend_subtract, compiled_vertex_array,
copy_buffer, copy_texture, direct_state_access, draw_buffers2, draw_instanced,
draw_range_elements, fog_coord, framebuffer_blit, framebuffer_multisample,
framebuffer_object, framebuffer_sRGB, geometry_shader4, gpu_program_parameters,
gpu_shader4, histogram, multi_draw_arrays, packed_depth_stencil, packed_float,
packed_pixels, pixel_buffer_object, point_parameters, provoking_vertex,
rescale_normal, secondary_color, separate_specular_color,
shader_image_load_store, shadow_funcs, stencil_wrap, subtexture,
texgen_reflection, texture3D, texture_array, texture_buffer_object,
texture_compression_bptc, texture_compression_latc, texture_compression_rgtc,
texture_compression_s3tc, texture_cube_map, texture_edge_clamp, texture_env_add,
texture_env_combine, texture_env_dot3, texture_filter_anisotropic,
texture_integer, texture_lod, texture_lod_bias, texture_mirror_clamp,
texture_object, texture_rectangle, texture_sRGB, texture_sRGB_decode,
texture_shared_exponent, texture_snorm, texture_storage, texture_swizzle,
timer_query, transform_feedback, vertex_array, vertex_array_bgra,
vertex_attrib_64bit
IBM extensions:
texture_mirrored_repeat
KTX extensions:
buffer_region
NV extensions:
blend_square, conditional_render, copy_depth_to_color, copy_image,
explicit_multisample, float_buffer, half_float, primitive_restart,
texgen_reflection, texture_barrier
SGIS extensions:
generate_mipmap, texture_edge_clamp, texture_lod
SUN extensions:
multi_draw_arrays
WGL extensions:
EXT_swap_control
WIN extensions:
swap_hint
Extensions (WGL):
WGL extensions:
ARB_extensions_string, ARB_pixel_format, ATI_pixel_format_float,
ARB_pixel_format_float, ARB_multisample, EXT_swap_control, EXT_swap_control_tear,
ARB_pbuffer, ARB_render_texture, ARB_make_current_read, EXT_extensions_string,
ARB_buffer_region, EXT_framebuffer_sRGB, ATI_render_texture_rectangle,
EXT_pixel_format_packed_float, I3D_genlock, NV_swap_group, ARB_create_context,
AMD_gpu_association, AMDX_gpu_association, ARB_create_context_profile,
NV_DX_interop, NV_DX_interop2, NV_float_buffer
Initializing Render subsystem...
Setting up platform state...
FMOD Sound System (c) Firelight Technologies Pty, Ltd., 1994-2013.
Audio configuration (by decreasing priority):
CD: FMOD/CD
Music: FMOD/Ext
SFX: FMOD
Sfx_InitChannels: 16 channels.
Initializing Resource subsystem...
Initializing Texture subsystem...
Initializing Material subsystem...
Initializing InFine subsystem...
Initializing UI subsystem...
Locating "HACX - Twitch 'n Kill"...
Locating "Chex(R) Quest"...
Locating "Final DOOM: TNT: Evilution"...
Locating "Final DOOM: The Plutonia Experiment"...
Locating "DOOM 2: Hell on Earth"...
Locating "Ultimate DOOM"...
Locating "DOOM Registered"...
Locating "DOOM Shareware"...
Loading game resources...
IWAD identification: 010424c4
loadCompositeTextureDefs: Loaded all 428 texture definitions from "C:\Program Files (x86)\
DOOM Collector's Edition\Doom2\DOOM2.WAD:(basedir)\
TEXTURE1.lmp".
^ : Loaded all 720 texture definitions from "(basedir)\SNOWBERRY\addons\AV.WAD:(basedir)\
TEXTURE1.lmp".
R_InitCompositeTextures: Completed in 0.74 seconds.
R_InitFlatTetxures: Completed in 0.019 seconds.
R_InitSpriteTextures: Completed in 0.49 seconds.
Parsing primary config "configs\doom\game.cfg"...
Failed locating image resource for "Particle00".
Clearing binding context 'global'...
Clearing binding context 'deui'...
Clearing binding context 'console'...
Clearing binding context 'message'...
Clearing binding context 'chat'...
Clearing binding context 'shortcut'...
Clearing binding context 'gameui'...
Clearing binding context 'menu'...
Clearing binding context 'finale'...
Clearing binding context 'map-freepan'...
Clearing binding context 'map'...
Clearing binding context 'game'...
Parsing definition files...
readAllDefinitions: Completed in 0.054 seconds.
Applying DeHackEd patch file "C:\PROGRAM FILES (X86)\DOOMSDAY\SNOWBERRY\addons\AV.DEH"...
DehReader: Patch version: 6 Doom version: 19
NoText: false
Definitions:
30 animation groups
6 composite fonts
11 finales
9 lights
33 map infos
11 materials
27 particle generators
3 skies
36 songs
110 sound effects
138 sprite names
974 states
106 surface decorations
50 surface reflections
368 text strings
11 texture environments
140 things
buildSprites: Completed in 0.02 seconds.
R_InitSprites: Completed in 0.021 seconds.
Models_Init: Completed in 0.00 seconds.
Failed locating image resource for "Particle00".
DOOM 2: Hell on Earth
Loading map "MAP20"...
World::loadMap > WadMapConverter: Recognized a Doom format map.
Map: Pruned 3167 vertexes (0 equivalents, 3167 unused).
^ : Geometry bounds:[(-4968, -4288)->(5376, 4400) size:(10344, 8688)]
^ : Line blockmap dimensions:(81, 68)
^ : BSP built: 11382 Nodes, 11383 Leafs, 55080 Segments and 7915 Vertexes.
Tree balance is 55:44.
^ : BSP built in 8.7 seconds.
^ : Mobj blockmap dimensions:(81, 68)
^ : Polyobj blockmap dimensions:(81, 68)
^ : BSP leaf blockmap dimensions:(81, 68)
^ > S_DetermineBspLeafsAffectingSectorReverb: Completed in 1.2 seconds.
Current map elements:
19387 Vertexes
14839 Lines
0 Polyobjs
1842 Sectors
11382 BSP Nodes
11383 BSP Leafs
55080 Segments
Map::initNodePiles: Completed in 0.001 seconds.
P_PtcInitForMap: Completed in 0 seconds.
Map::initSkyFix: Completed in 0.001 seconds.
Precaching completed in 1.7 seconds.
Rend_RadioInitForMap: Completed in 0.051 seconds.
SB_InitForMap: Created a new 62.1 MB memory volume.
^ > BspLeaf::setBiasSurface: Created a new 32.0 MB memory volume.
SB_InitForMap: Completed in 0.078 seconds.
Map 20: Misri Halek
Author: Unknown
Map::initSkyFix: Completed in 0.001 seconds.
Canvas: Lost focus.
^ : Gained focus.
^ : Lost focus.
Comments
The reason for this is a change in the management of memory needed for the bias lighting model and which presently uses a less than ideal algorithm to release it when the map ends (or you exit). Similarly it takes a little longer to load very large maps.
These issues have already been addressed in a work branch, however. We decided not to merge this work during the candidate phase due to the large number of changes involved (which would have delayed the stable release further). It will be merged soon, though.
Try typing 'kill' in the console, to kill all the monsters on the map and comparing your FPS after, for instance.
Edit: I used the command and it is still about the same. Doesn't change frame rate
But upon going back and exploring the rest of the map, I can see the FPS is still poor in many areas.
When I played AV for the 1st time almost 6 years ago, I don't recall this map being as slow because somehow, I was able to kill monsters as I progressed throughout the map since I never cheated. That was back in the days of 1.9.6 - beta 5. What has to be done to the engine in the future to make the game accept so many monsters without any slowdown, and also make it so having 3D objects and lighting not slow down any map? Besides a lack of OpenGL 2.0, what else is limiting the speed of Doomsday? Is there some reason why even though we are all the way to 1.11.1, we still encounter these issues with performance? And I know it has nothing to do with my hardware.
On a side note, I notice that anytime you switch into automap, framerate goes down, but put it back into normal mode, and it plays at its previous framerate
It is easy for us to determine the bottlenecks in any particular map using a profiler. However, getting rid of the bottlenecks many times requires fundamental changes to some algorithms or data structures. Bad bottlenecks are for instance in the particle generators, model renderer, and the renderer's per-frame data structure updates that aren't really necessary to do every frame.