Jump to content

Problema de uso de CPU de SDLMAME (0.123 y 0.144)


megaman_exe

Recommended Posts

Hola, tengo el siguiente problema. Al correr sdlmame en linux, habiendo ejecutado el makefile para que haga el build, ejecuto un juego pero para algunos el uso de la cpu es bastante elevado.

 

Por ejemplo, para el juego "outrun", el uso de la CPU ronda el 60%, siendo que para windoze es mas o menos la mitad (30%). Para otros como el 1942 ocupa mas o menos 45% CPU en linux.

 

El archivo mame.ini que ocupo es el siguiente:

 

#
# CORE CONFIGURATION OPTIONS
#
readconfig				1
#
# CORE SEARCH PATH OPTIONS
#
rompath				   roms
samplepath				samples
artpath				   artwork
ctrlrpath				 ctrlr
inipath				   $HOME/.mame;.;ini
fontpath				  .
#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory			 cfg
nvram_directory		   nvram
memcard_directory		 memcard
input_directory		   inp
state_directory		   sta
snapshot_directory		snap
diff_directory			diff
comment_directory		 comments
hiscore_directory		 hi
#
# CORE FILENAME OPTIONS
#
cheat_file				cheat.dat
#
# CORE STATE/PLAYBACK OPTIONS
#
state					
autosave				  0
playback				
record				  
mngwrite				
wavwrite				
#
# CORE PERFORMANCE OPTIONS
#
autoframeskip			 0
frameskip				 0
seconds_to_run			0
throttle				  1
sleep					 1
speed					 1.0
refreshspeed			  0
#
# CORE ROTATION OPTIONS
#
rotate					1
ror					   0
rol					   0
autoror				   0
autorol				   0
flipx					 0
flipy					 0
#
# CORE ARTWORK OPTIONS
#
artwork_crop			  0
use_backdrops			 1
use_overlays			  1
use_bezels				1
#
# CORE SCREEN OPTIONS
#
brightness				1.0
contrast				  1.0
gamma					 1.0
pause_brightness		  0.65
#
# CORE VECTOR OPTIONS
#
antialias				 0
beam					  1.0
flicker				   0
#
# CORE SOUND OPTIONS
#
sound					 1
samplerate				48000
samples				   1
volume					0
#
# CORE INPUT OPTIONS
#
ctrlr					
mouse					 0
joystick				  1
lightgun				  0
multikeyboard			 0
multimouse				0
steadykey				 0
offscreen_reload		  0
joystick_map			  auto
joystick_deadzone		 0.0
joystick_saturation	   1.0
# joystick_deadzone		 0.3
# joystick_saturation	   0.85
#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device			 keyboard
adstick_device			keyboard
pedal_device			  keyboard
dial_device			   keyboard
trackball_device		  keyboard
lightgun_device		   keyboard
positional_device		 keyboard
mouse_device			  mouse
#
# CORE DEBUGGING OPTIONS
#
log					   0
verbose				   0
update_in_pause		   0
#
# CORE MISC OPTIONS
#
bios					  default
cheat					 1
skip_gameinfo			 1
timetoresetgoal		   5400
intscale				  1
#
# DEBUGGING OPTIONS
#
oslog					 0
#
# PERFORMANCE OPTIONS
#
multithreading			1
sdlvideofps			   0
#
# VIDEO OPTIONS
#
video					 opengl
numscreens				1
window					0
keepaspect				0
unevenstretch			 0
effect					none
centerh				   1
centerv				   1
waitvsync				 1
yuvmode				   none
#
# OpenGL-SPECIFIC OPTIONS
#
filter					0
prescale				  0
gl_forcepow2texture	   0
gl_notexturerect		  0
gl_vbo					0
gl_pbo					0
gl_glsl				   0
gl_glsl_filter			0
glsl_shader_mame0		 none
glsl_shader_mame1		 none
glsl_shader_mame2		 none
glsl_shader_mame3		 none
glsl_shader_mame4		 none
glsl_shader_mame5		 none
glsl_shader_mame6		 none
glsl_shader_mame7		 none
glsl_shader_mame8		 none
glsl_shader_mame9		 none
glsl_shader_screen0	   none
glsl_shader_screen1	   none
glsl_shader_screen2	   none
glsl_shader_screen3	   none
glsl_shader_screen4	   none
glsl_shader_screen5	   none
glsl_shader_screen6	   none
glsl_shader_screen7	   none
glsl_shader_screen8	   none
glsl_shader_screen9	   none
gl_glsl_vid_attr		  0
#
# PER-WINDOW VIDEO OPTIONS
#
screen					auto
aspect					auto
resolution				auto
view					  auto
screen0				   auto
aspect0				   auto
resolution0			   auto
view0					 auto
screen1				   auto
aspect1				   auto
resolution1			   auto
view1					 auto
screen2				   auto
aspect2				   auto
resolution2			   auto
view2					 auto
screen3				   auto
aspect3				   auto
resolution3			   auto
view3					 auto
#
# FULL SCREEN OPTIONS
#
switchres				 1
useallheads			   0
#
# SOUND OPTIONS
#
audio_latency			 3
#
# SDL KEYBOARD MAPPING
#
keymap					0
keymap_file			   keymap.dat
#
# SDL JOYSTICK MAPPING
#
remapjoys				 0
remapjoyfile			  joymap.dat
sixaxis				   0
invertjoymask			 000000000

 

como ven, tengo activadas las opciones más críticas para que no use tanta CPU:

 

sleep 1

video opengl

waitvsync 1

 

Hay otras opciones que se las agregué al código fuente (sólo en el sdlmame 0.123) como son "intscale" que hace que el escalado de la imagen sea entero y no fraccionario, invertjoymask que hace que los niveles lógicos sean 1 cuando el boton no esté apretado y 0 cuando esté apretado (invierte los valores de estado) y timetoresetgoal que lo ocupo para mi proyecto de máquina de juegos arcade que entrega premio (controla el tiempo que tiene que pasar para que se resetee la meta a la meta original).

 

En el sdlmame 0.144 pasa lo mismo con la misma configuración (saldo las opciones mencionadas arriba que no existen).

 

Tengo una tarjeta de video integrada Nvidia 7025 y he probado con los drivers propietarios de nvidia 190.42 y 285.05.09 y es el mismo problema.

 

Tengo activado vsync en nvidia-settings (correr este mismo comando desde una terminal) tanto para x como para opengl.

 

He usado ubuntu 10.04, 11.10 y opensuse 11.2. El mismo drama.

 

¿Que podría estar faltando?

Espero me puedan ayudar.

 

Saludos cordiales! ;)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...