gelon escribió:viper2 escribió:gelon escribió:Para Quad Core, aunque no tengo claro si eso es solo a la hora de compilar, para que tarde menos, o a la hora de crear el ejecutable
O_O
Menos mal que en casa tengo un Core i7.

Pensaba que de lo único que se trataba la cadena de compilación era respecto del tiempo o el modo de compilar, que es una acción que come muchos recursos
Aún así dudo que MAME sea un producto brillantemente optimizado para arquitecturas, y de hecho la opción multithreathing no creo que sea más que un adorno al panel de opciones miscelaneas
En lo único que estará optimizado para varios procesadores MAME es usando Direct3D, cuando delega tareas gráficas en la GPU, pero el resto es pura estética, supongo vamos, nunca he podido comparar la optimización de mi Q6700 con algo diferente
Mame no esta optimizado para ninguna arquitectura en concreto que yo sepa ( ¡Y menos mal! )
Pero al compilar con gcc puedes generar o bien código que ejecute mejor en cierta arquitectura (-mtune), o código que solo se ejecute en cierta arquitectura (-march , que implica -mtune), aparte se pueden activar ciertos flags para aplicar conjuntos de optimizaciones más o menos agresivas según el flag u optimizar para obtener un binario más pequeño, también es posible activar la aplicación de cada optimización con su flag correspondiente.
Para que tarde menos a lo hora de compilar, lo que se usa es el parámetro -j X para make, donde X es el número de procesos que quieres que cree make para compilar (-j -> "jobs").
Es decir para compilar con con dos procesos: make -j 2
http://www.gnu.org/software/make/manual ... l#ParallelSacado del readme:
-[no]multithreading / -[no]mt
Enables multithreading within MAME. At the moment, this causes the window and all DirectDraw/Direct3D code to execute on a second thread, which can improve performance on hyperthreaded and multicore systems.
The default is OFF (-nomultithreading).
Pues si, es como dices la emulación en si no la va a acelerar, en todo caso puede que lo que se consiga sea no ser ralentizado al tener que esperar a que se muestre en pantalla cada frame, que ya es algo.
Es decir no va a conseguir que los juegos 3d vayan "el doble de rápido" ni de coña.
Para conseguir eso (Aunque no creo que se consiguiera el doble tampoco), se tendría que paralelizar la emulación del hard en todas sus etapas, algo complicado en la simulación de la cpu.
Una etapa candidata a paralelizarse en hardware 3d puede ser la rasterización, por ejemplo ocupándose una unidad de la parte superior de la pantalla y otra de la inferior, pero como la mayoría del hardware 3d arcade no se parece al de PC, no se como de facil puede ser identificar la etapa de rasterización.