PDA

Ver la versión completa : ppsspp PC vs android



rafa-lito
27/12/2015, 23:19
¿La diferencia de rendimiento entre ambas versiones se debe a la potencia del pc respecto a los dispositivos android o es tema de programación?. Porque vamos, en mi gpd Q89 son pocos los juegos que van a una velocidad estable, en cambio en el pc van todos Fullspeed!!! incluyendo los God of WAR, etc. Da igual lo que le eches. Encima a Fullscreen en mi pantalla de 40 es una gozada!!! (qué maravilla jugar al ultimate ghosts goblins a ese tamaño. Ni en la misma psp jugaba a gusto)

dj syto
27/12/2015, 23:56
Pasa con cualquier emulador. No solo con este. Estan TODOS diseñados en origen para pc. Pasa con dreamcast y gamecube tambien. A mi me sorprende que sea capaz de emular en android unos cuantos juegos a full speed.

Obviamente la potencia tiene mucho que ver. Y por supuesto tambien es cosa de programacion debido a los distintos tipos de cpu y gpu que hay entre pc y android. Y sobre todo a si usa directx, opengl, etc...

Drumpi
28/12/2015, 02:56
Lo mismo meto la gamba, Syto, pero ¿ppsspp no es ese emulador de PSP programado en Java que se lanzó inicialmente para Android? Y de ser así ¿Java con DirectX? Había leido con OpenGL pero no puedo estar seguro porque nunca programé en Android, y creo que daba problemas de rendimiento con los chips gráficos de los móviles o que tenía problemas de licencias en Play Store o en la de iOS por ser GPL y todo ese rollo.
:confused::confused::confused:

dj syto
28/12/2015, 03:15
No drumpi. No esta hecho en java.

Drumpi
28/12/2015, 03:40
Ok, debo haberlo confundido con otro.

Carlos24
28/12/2015, 10:41
En android los emuladores no se programan en Java.. lo que es el nucleo del emulador es el mismo en PC y android y la parte de sonido utilizan OpenSL o Openal que está escrito en C/C++ con el NDK + compilador clang o gcc , como mucho la interfaz la escriben en java o aveces ni eso hacen una pequeña llamada en java para que cargue su framework escrito en C/C++ .

En cuanto PPSSPP nació para sistema GNU/UNIX orientándose siempre una versión base para android para dispositivos modestos

En cuanto el rendimiento la culpa es de los fabricante hacen una chapuza de drivers gráficos casi siempre sin respectar los estandares Opengl y si los fabricantes no se preocupan de optimizar su hw sino de vender hardware obligándote que los últimos cambios y optimizaciones acaben pasando para sus últimos Socs pues mal vamos..

Los desarrolladores de emuladores termian acabando aconsejando Soc NVIDIA en dispositivos ARM porque es el único que ofrece unos drivers mediante bien con eso ya se dice mucho la de hacks que tienen que hacer en un emulador para que vaya más o menos bien

Adreno , Powervr , Mali ninguna se salva que tienen algún hack especifico para ganar velocidad

rafa-lito
28/12/2015, 10:50
...A mi me sorprende que sea capaz de emular en android unos cuantos juegos a full speed.



¿Hay alguna lista de compatibilidad de ppsspp en android? Es que realmente me gusta más jugar a la psp en la GPD, pero siempre que sea a fullspeed o casi, si no no merece la pena.

Aprovecho para hacer otra pregunta : las versiones de psp y ps2 del mismo juego son iguales o las de psp son más recortadas?

Carlos24
28/12/2015, 11:41
Intenta jugar con la resolución a 1x a más si rascas más fps a 2x o 3x si es así el limitante está en el driver gráfico/GPU.

Si pones render sin buffer (Skip buffer effect) va más rápido a costa de no mostrar algunos efectos y si lo pones con renderizado por buffery si el rendimiento va mucho más lento con renderizado por buffer la respuesta la tienes en la driver gráfico/GPU...

nintiendo1
28/12/2015, 12:57
En android los emuladores no se programan en Java.. lo que es el nucleo del emulador es el mismo en PC y android y la parte de sonido utilizan OpenSL o Openal que está escrito en C/C++ con el NDK + compilador clang o gcc , como mucho la interfaz la escriben en java o aveces ni eso hacen una pequeña llamada en java para que cargue su framework escrito en C/C++ .

En cuanto PPSSPP nació para sistema GNU/UNIX orientándose siempre una versión base para android para dispositivos modestos

En cuanto el rendimiento la culpa es de los fabricante hacen una chapuza de drivers gráficos casi siempre sin respectar los estandares Opengl y si los fabricantes no se preocupan de optimizar su hw sino de vender hardware obligándote que los últimos cambios y optimizaciones acaben pasando para sus últimos Socs pues mal vamos..

Los desarrolladores de emuladores termian acabando aconsejando Soc NVIDIA en dispositivos ARM porque es el único que ofrece unos drivers mediante bien con eso ya se dice mucho la de hacks que tienen que hacer en un emulador para que vaya más o menos bien

Adreno , Powervr , Mali ninguna se salva que tienen algún hack especifico para ganar velocidad

¿Entonces el problema de Android son los drivers y no el propio Android?

Por otro lado, si tienen hacks específicos para ganar velocidad, debería ir a más velocidad. (aunque tenga fallos gráficos), ¿no?

Carlos24
28/12/2015, 14:45
Si en una emulación donde interactua bastante la GPU si el driver gráfico no interactua bien con el código que tu tienes en tu emulador a la hora de compilar los shaders y es ultra dependiente del driver solo el fabricante puede solucionar/optimizar ese error ya que el error está en el driver del fabricante y no en tu código.

En la interfaz hay opciones drásticas para dispositivos que no le sientan bien como es la emulación alpha o efectos que carguen lentos o la calidad de spline/bezier.
Por esta razón no les quedó otra que meter una información de la CPU y GPU de los dispositivos que está en tools -> system information donde sale toda la información sobre tu dispositivo

Un Glitch gráfico producido por el driver puede hacer que cuando intentes emular ese juego haga llamadas inecesarias a la CPU y tengas un buen bonito cuello de botella lo que es conocido como Overhead y bloquees a la cpu cosa mala .

^MiSaTo^
28/12/2015, 16:40
¿Entonces el problema de Android son los drivers y no el propio Android?

Por otro lado, si tienen hacks específicos para ganar velocidad, debería ir a más velocidad. (aunque tenga fallos gráficos), ¿no?

Son ambas cosas. Android tb tiene su parte de problema pero con el NDK te quitas una capa. Aun así no es Jauja aquello.

nintiendo1
28/12/2015, 16:44
Si en una emulación donde interactua bastante la GPU si el driver gráfico no interactua bien con el código que tu tienes en tu emulador a la hora de compilar los shaders y es ultra dependiente del driver solo el fabricante puede solucionar/optimizar ese error ya que el error está en el driver del fabricante y no en tu código.

En la interfaz hay opciones drásticas para dispositivos que no le sientan bien como es la emulación alpha o efectos que carguen lentos o la calidad de spline/bezier.
Por esta razón no les quedó otra que meter una información de la CPU y GPU de los dispositivos que está en tools -> system information donde sale toda la información sobre tu dispositivo

Un Glitch gráfico producido por el driver puede hacer que cuando intentes emular ese juego haga llamadas inecesarias a la CPU y tengas un buen bonito cuello de botella lo que es conocido como Overhead y bloquees a la cpu cosa mala .

De todas formas, si los emuladores tiran de C/C++, supongo que harán versiones para cada tipo de GPU, por lo que esos problemas deberían ser mínimos. Tampoco hay tantas GPUs, Mali, Adreno, Power y Tegra.

De todas formas, el Tegra X1, es super-potente y tiene unos drivers bien hechos, y tampoco ofrece ese rendimiento tan espectacular (por lo menos en Android).

Saludos.

selecter25
28/12/2015, 16:46
A día de hoy y quitando unos cuantos títulos, con un móvil medio decente y trasteando las opciones de configuración juegas al 90% del catálogo a fullspeed, incluso a 720p. Sin ir más lejos me hace un par de semanas acabé FFVII: Crisis Core en un vetusto Coolpad 7320 (MTK6952/Mali450MP4).

Carlos24
28/12/2015, 18:03
De todas formas, si los emuladores tiran de C/C++, supongo que harán versiones para cada tipo de GPU, por lo que esos problemas deberían ser mínimos. Tampoco hay tantas GPUs, Mali, Adreno, Power y Tegra.

El problema no es que haya tantos fabricantes sino como lo hagan para actualizar sus drivers que muchos fabricantes ofrecen un soporte corto y cuando acaba dicho soporte si en sus drivers no es fijado o no soportado pues actualiza de hardware para una mayor experiencia..

Esto en el sistema Mobile está muy descuidado y fragmentado en comparación con el hardware gaming de PC.


De todas formas, el Tegra X1, es super-potente y tiene unos drivers bien hechos, y tampoco ofrece ese rendimiento tan espectacular (por lo menos en Android).

Hombre poder tirar juegos como GTA y God of war que son juegos dicho por el autor que tira muchas drawcalls en pantalla no es moco de pavo con unos drivers con un overhead bajo.

Salvo novedad de cambio dice que con Vulkan este ayudará bastante en estos fabricantes a ver si esto ayuda a que no haya tantos problemas en un fúturo próximo..

FlipFlopX
28/12/2015, 18:39
Entro a meter cizaña (me leí el hilo de Dolphin), Los BayTrail y los Cherry que ganan en potencia a los ARM, en tema emus se comerían a cualquiera, pero leí por ahí que sus drivers gráficos no están muy currados. Alguien puede dar algo de luz técnica con todo esto?

Carlos24
28/12/2015, 19:34
Entro a meter cizaña (me leí el hilo de Dolphin), Los BayTrail y los Cherry que ganan en potencia a los ARM, en tema emus se comerían a cualquiera, pero leí por ahí que sus drivers gráficos no están muy currados. Alguien puede dar algo de luz técnica con todo esto?

La mayoria de sus problemas sucede fuera de Directx.
En linux/android se lava las manos con un driver libre mesa y que tarda mucho en implementar algún soporte de manera directa (ya que en sí contrata una empresa externa) ya que hasta hace nada en linux no podías cargar juegos que requeriesen de teselación o computer shader.. requerido para juegos como grid y Shadow of mordor en la version bajo linux teniendo tirar de otro fabricante para jugar esos juegos xD...

dj syto
28/12/2015, 20:19
Entro a meter cizaña (me leí el hilo de Dolphin), Los BayTrail y los Cherry que ganan en potencia a los ARM, en tema emus se comerían a cualquiera, pero leí por ahí que sus drivers gráficos no están muy currados. Alguien puede dar algo de luz técnica con todo esto?

Que significa "no estan muy currados"?

FlipFlopX
28/12/2015, 21:50
Que significa "no estan muy currados"? Si son 100% compatibles con DX12 o aún siendo menos potentes los Mali y demás están mejor desarrollado. Vamos, para emular Dolphin y PCSX2 que va a ser mejor en el tema gráfico los ARM o los Intel

dj syto
28/12/2015, 23:40
Si son 100% compatibles con DX12 o aún siendo menos potentes los Mali y demás están mejor desarrollado. Vamos, para emular Dolphin y PCSX2 que va a ser mejor en el tema gráfico los ARM o los Intel

El rendimiento del dolphin está a años luz en los intel. Pero ya no creo que sea solo cosa de los drivers graficos.

A600
29/12/2015, 01:05
¿Cuál es el juego de PSP que pone al límite el PPSSPP?, lo pregunto para probarlo en la Nvidia Shield TV. Por cierto, la mejor compra que he hecho en años y la "Kodi machine" definitiva.

zhorro
29/12/2015, 01:35
El rendimiento del dolphin está a años luz en los intel. Pero ya no creo que sea solo cosa de los drivers graficos.

Es probable porque también utiliza las extensiones SSE* y similares de Intel que en ARM no existen.

dj syto
29/12/2015, 03:30
¿Cuál es el juego de PSP que pone al límite el PPSSPP?, lo pregunto para probarlo en la Nvidia Shield TV. Por cierto, la mejor compra que he hecho en años y la "Kodi machine" definitiva.

Es dificil decirlo, porque no siempre los monstruos graficos son los que mas al limite ponen la consola, sino los que mejor lo aprovechan. El sega rally va muy bien, pero por ejemplo el outrun y el motorstorm van como el culo. En moviles, me refiero. Seria bueno que probaras esos dos.

-----Actualizado-----


Es probable porque también utiliza las extensiones SSE* y similares de Intel que en ARM no existen.

Es una de las cosas buenas que tendra la consola gpd y que no tendra pyra.

Carlos24
29/12/2015, 07:18
¿Cuál es el juego de PSP que pone al límite el PPSSPP?, lo pregunto para probarlo en la Nvidia Shield TV. Por cierto, la mejor compra que he hecho en años y la "Kodi machine" definitiva.

Los GTA y God of war son ejemplos de cargar bastante la psp son quienes muestras más drawcalls en pantalla por lo tanto necesitan más tralla y optimización en la parte de la GPU.


Y En cuanto el rendimiento del dolphin en la parte de recompilación de la CPU sí intel y cualquier cpu x86 tiene ventaja porque el recompilador está más optimizado , cuando la versión para Armv8 solo está en desarrollo desde hace un par de años y no tiene todo implementado en igualdad por ejemplo los juegos que requieren de MMU como Metal gear no funcionan y hasta hace bien poco unos meses desde septiembre no se podía jugar a una buena velocidad , ni emular juegos de Wii en dispositivos arm debido a la posibilidad de mapear el input y porque el recompilador que había era demasiado lento en un test que utilizan llos desarrolladores de dolphin para medir el rendimiento en la wii real da sobre 17min o así y en el tegra x1 daba sobre 1hora en acabar de ejecutarlo por lo tanto era ~3x veces más lento a pasar a dar un resultado superior a Wii unos 16min.
Pero lo que es la parte de la GPU toca tegra x1 se pasa por la piedra a la GPU de intel ya que esta última sufre para emular la resolución nativa 1x-1,5x y en cambio en Tegra x1 lo pones a renderizar a 2.5x o 3x de resolucion y apenas se ve limitado sigue en los mismos fps como mucho 1-2fps de perdida según el juego.