Krones Report post Posted December 7, 2007 (edited) I've experienced a drastic performance reduction with this last version of EL compared to the last one. On EL itself, the slowdown isn't that drastic. I've asked some other players how this new version was to them concerning performance, and they said it was a bit slower, but not awefuly, which seems to be compatible with the minor slowdown I noticed when playing. What troubles me is a major performance decrease on the desktop, and it's very noticeable when changing the focus of windows, even if it is not EL's (for example, if I minimize a browser, or open a text editor), or when working with menu tabs (pressing Alt+F or clicking on the File tab of your browser opens a menu tab). The system returns to normal after EL is closed. I run KDE. After some testing, I came to the following conclusions: *It is not my video setup. What sometimes happens to be the most limiting factor for performance on most 3D games, this is not the case. I ran EL on it's lowest (640x480, disabling all fancy 3D stuff, eyecandy, shadows and all that) and the problem persists. I can run other 3D stuff here without any problem, and I have a decent video card (NVIDIA GeForce FX 5200 256Mb). *It doesn't seem to be a CPU problem. I notice that most CPU-freezing situations (even not EL-related) cause my other aplications to freeze, slow or stop responding. I sometimes listen to music while playing EL, and the player doesn't stop when the problem occurs, while most computer-interaction does. All tasks seem normal. Overloading my CPU normally stops Amarok. I have a Sempron 2800+. *I have 768Mb memory, and I ran performance monitorations on EL. I could see that it eats up 15-30% of the memory. Shouldn't cause that much of a problem or slow the system that much. *I have sound disabled on EL *Tested it on fluxbox (other window manager, lighter) and the problem is as bad as in KDE. I'm Anyone else with this problems? Krones Edited December 7, 2007 by Krones Share this post Link to post Share on other sites
Vegar Report post Posted December 7, 2007 Have you tried minimizing the EL window while using other apps? How is the CPU usage when you experience the desktop slowdowns? Share this post Link to post Share on other sites
Krones Report post Posted December 7, 2007 (edited) Yes, I thouht about that too. Nope, problem persists, EL minimized or not... CPU usage seems to be normal (lower than when EL is maximized) Edited December 7, 2007 by Krones Share this post Link to post Share on other sites
Placid Report post Posted December 7, 2007 Is this in console mode or not? Share this post Link to post Share on other sites
alvieboy Report post Posted December 7, 2007 Hey, afaik, some objects/code is run despite its visible or not, I've seen that also. Not quite sure about what causes it. One of the locations I saw that happening is inside Manu School, in PL. If I face the entrance (even if I don't see it) the CPU usage goes beserk (my usual cpu is 5-10% with 25fps limit, geforce quadro). I can try to track down with greater granularity what is happening. Althrough is not easy. PS: even with the map going on, the objects seem either to be drawn or the maths for them is being computed. Álvaro Share this post Link to post Share on other sites
Krones Report post Posted December 7, 2007 True, my CPU goes frying everytime I see TG castle entrance (although that's somewhat better since I changed my video card), but that happened in the previous versions as well. And the performance cut doesn't seem to be place related in game. Placid: good thinking! In console mode it doesn't slow down, or even in map mode (tab key). That helps, and works as a work around for the time. Thanks Share this post Link to post Share on other sites
Sayre Report post Posted December 7, 2007 I am not sure if this is the same as what you are describing, but I have noticed a "pausing" of the xwindows system whenever I change windows from EL, but only when the graphical portion of the game is up (when in console mode I do not get the pauses) The pause occurs systemwide, and is accompanied by a 100% CPU spike. I only see it happening with EL. I had initially thought it was a bug with my nvidia drivers, but I updated those and still got the issue. S. Share this post Link to post Share on other sites
Vegar Report post Posted December 8, 2007 (edited) I'm unable to reproduce any of the things you're describing (Nvidia GeForce4 Ti4200, 96.43.01 legacy drivers). I did some profiling using callgrind, and with EL minimised, most of the CPU time is spent in draw_enhanced_actors() from draw_actors(), called from display_game_handler() in gamewin.c:998. The comment next to the draw_actors call is "// we need to 'touch' all the actors even if not drawing to avoid problems". I'm not quite sure what these problems are, since it doesn't seem to get called when the game window isn't displayed (ie. when looking at the console or the map). The other thing using CPU while minimised is ec_idle(), which is related to the eye candy code, but this is very little compared to the above (81.5% vs. 16.77%). Edited December 8, 2007 by Vegar Share this post Link to post Share on other sites
Usl Report post Posted December 8, 2007 I'm unable to reproduce any of the things you're describing (Nvidia GeForce4 Ti4200, 96.43.01 legacy drivers). I have a very similar -- if not the same -- problem: performance is ok when the 3D world is shown, but decreases dramatically as soon as it is not shown, i.e. when opening the map or console in full screen, or minimizing the EL window, or moving to another screen (I use 8 virtual screens with the Gnome Desktop, but results are identical with other window managers). Video card is a nVidia Corporation GeForce Go 6200 TurboCache (rev a1); kernel module NVIDIA UNIX x86 Kernel Module 1.0-9755 Mon Feb 26 23:21:15 PST 2007, GLInfo as follows: Video card: GeForce Go 6200/PCI/SSE2 Vendor ID: NVIDIA Corporation OpenGL Version: 2.1.0 NVIDIA 97.55 Supported extensions: GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_gpu_program_parameters GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_clear_tag GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum I could not very well pinpoint exactly where in the code the performance drop occurs, but it has to do with graphics rendering for sure. Performance loss in my laptop is so severe that the audio DMA can't be fed fast enough, and the music and effects become jerky as soon as the 3D world is not shown on-screen... If anybody more familiar with that code can provide some direction, I would be glad to do more testing. Share this post Link to post Share on other sites
Krones Report post Posted December 8, 2007 Spleenfeeder: maybe there is a CPU 100% spike and my tools aren't measuring it correctly, because the default intervals are too big. Probably. Console or map modes avoid the problem... and it's not the display driver. Very weird. It also happened that once or twice I had the whole X frozen completely. The apps would continue normaly, but I couldn't use the keyboard nor touch anything with the mouse, though it sill moved, displaying EL cursor. Very, very weird... but it has to do with this new update. Share this post Link to post Share on other sites
Entropy Report post Posted December 8, 2007 On Windows I always noticed that problem, and what I do is just go in the console mode whenever not actually using the game. Not sure if it is a bug or just that the game does take quite a lot of CPU. I noticed that with other games as well.. Share this post Link to post Share on other sites
Sayre Report post Posted December 8, 2007 What is happening to me has only started happening since 1.50, and I did initially think it was due to my system rather than the game. Whereas before it would pause for a fraction of a second maybe before changing screens or whatever, it is now pausing for over a second, which doesnt sound like much, but it is very noticable. Now that I see others noticing it using xwindows, I am less inclined to think it is a problem with my system. I have also tried to see whether changing windows with other opengl games running (with high cpu usage) and I am not noticing the systemwide pause. As you say Ent, I have now started to flick over to console mode before changing windows to prevent the pause. But it is new. S. Share this post Link to post Share on other sites
Krones Report post Posted December 14, 2007 Ent: I'm doing the same (putting the game in console mode), but I think the problem is not caused by an increase in the game's CPU consumption. Previous versions were much better, and there weren't significative 3D improvements from those versions (or at least, not to the point of cutting performance that much). Even if I set video options to the lowest, I still get those problems. And when playing the game it seems OK. If the game was eating up more CPU, the game itself would get slower, but what happens is that the game is not proporcionally slower to the downcut performance on Xwindows system. That's why I think it's more like a bug. Share this post Link to post Share on other sites
Erdie Report post Posted December 15, 2007 If you detect these performance issues, pls lauch "top" and check which value is displayed at "si", which means software interrupt. My performance issue where related to this value, which means, the higher the value was, the more performance the game uses. It would be highly interesting if you see the same behavior or not. -Erdie Share this post Link to post Share on other sites
Sayre Report post Posted December 15, 2007 top is of limited use here, for me anyway. it causes a COMPLETE system pause when I switch out of the EL window, so top is paused too. Every so often I catch top reporting full cpu usage of the xorg process, but thats about as useful as top gets in this case. The only consistent trace I get of it is my gkrellm monitor has a big fat red spike in it where the pause occurs. Again, latest nvidia drivers, not happening with any other opengl or otherwise program, and only since EL release 1.50. S. Share this post Link to post Share on other sites
Krones Report post Posted December 15, 2007 (edited) Spleenfeeder: Since it's only X that stops, redirect top's output to a file (top -b >>file). Don't forget the -b option. Erdie: After doing what I told Spleenfeeder, I could see that EL doesn't really use more of the CPU, but somehow makes the XWindows do it. Check this: CPU | MEM | NAME 12.0 4.1 Xorg 25.3 21.2 el.x86.linux.bin /////////////////////////////////////////////// 66.6 4.1 Xorg 18.3 21.2 el.x86.linux.bin //////////////////////////////////////////////// 37.3 4.1 Xorg 34.3 21.2 el.x86.linux.bin //////////////////////////////////////////////// 87.9 4.1 Xorg <-- Whoa! 2.0 21.2 el.x86.linux.bin /////////////////////////////////////////////// 80.6 4.1 Xorg 8.7 21.2 el.x86.linux.bin //////////////////////////////////////////////// 49.9 4.1 Xorg 31.6 21.2 el.x86.linux.bin /////////////////////////////////////////////// 8.0 4.1 Xorg <-- Same op, but EL in console mode 11.3 21.2 el.x86.linux.bin odd isn't it? Only happes with EL 1.5 Krones Edited December 15, 2007 by Krones Share this post Link to post Share on other sites
Sayre Report post Posted December 15, 2007 Heres my output: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26095 spleenie 23 0 316m 227m 88m R 55.4 22.5 414:32.72 elcvs.bin 4993 root 16 0 592m 323m 13m R 14.3 32.0 164:15.68 Xorg 26095 spleenie 19 0 316m 227m 88m R 44.5 22.5 414:34.06 elcvs.bin 4993 root 15 0 592m 323m 13m S 11.6 32.0 164:16.03 Xorg 26095 spleenie 16 0 316m 220m 88m R 28.3 21.8 414:34.91 elcvs.bin 4993 root 15 0 596m 323m 13m S 21.9 31.9 164:16.69 Xorg 4993 root 18 0 599m 327m 13m R 77.8 32.4 164:20.40 Xorg <---POW redspike 26095 spleenie 15 0 316m 220m 88m R 7.0 21.8 414:37.51 elcvs.bin 4993 root 15 0 592m 323m 13m R 27.2 32.0 164:21.22 Xorg 26095 spleenie 15 0 316m 220m 88m R 18.9 21.8 414:38.08 elcvs.bin 4993 root 16 0 593m 323m 13m S 64.7 31.9 164:24.22 Xorg <--and another (both simply by changing window focus) 26095 spleenie 16 0 316m 205m 88m R 23.6 20.3 414:39.50 elcvs.bin 26095 spleenie 15 0 316m 205m 88m S 34.9 20.3 414:40.55 elcvs.bin 4993 root 15 0 594m 323m 13m S 14.6 31.9 164:24.66 Xorg 26095 spleenie 15 0 316m 205m 88m S 24.8 20.3 414:41.30 elcvs.bin 4993 root 15 0 592m 323m 13m R 2.6 31.9 164:24.74 Xorg S. Share this post Link to post Share on other sites