[comparacion] render text y Write

Discusión en general sobre Gemix.

[comparacion] render text y Write

Postby SimulatorOne » Wed Mar 02, 2016 10:23 pm

Buenas

esto lo hice por curiosidad:
ver cual tiene mejor rendimiento en fps.

Source Code (Gemix) [ Download ] [ Hide ]
  • compiler_options _gmxsystem_graphics = gmxgraphics_modern;
  • PROGRAM test_text_render;
  •  
  • private
  • render_entity entity_text;
  •  
  • BEGIN
  •         mode_set(800, 480);
  •         set_fps(0,0);
  •        
  •         fnt_load("assets/FntGemix32.fnt");
  •        
  •         write(0,0,0,0,&fps);
  •        
  • //      write(1, 400, 240, 4, "Gemix Studio");    
  •        
  •         entity_text.asset.source.fnt     = 1;
  •         entity_text.transform.position.x = 400;
  •         entity_text.transform.position.y = 240;
  •         entity_text.transform.set.anchor = 4;
  •        
  •         LOOP
  •        
  •          render_text(&entity_text, "Gemix Studio");
  •        
  •         FRAME;
  •         END
  • END
  •  


hice la comparativa:
discpongo de 2 GPU en mi portatil, el portatil esta conectado a la corriente, no esta en modo economico.

usando el moderno render_text y todo ello que implica: da unos 480FPS(ejecutar con GPU NVIDIA) y 650FPS(Ejecutar con GPU Integrado intel HD 4400)
si solo usamos el clasico write de toda la vida, me da unos 700FPS(ejecutar con GPU NVIDIA) y 830FPS(Ejecutar con GPU Integrado intel HD 4400)

me da antender que mejor dejar el render_text para manipulacion de texto avanzados y cosas mas complejas.(es mas lento)
aun asi write es su competidor antiguo, que casi puede competir con el moderno sistema.(es mas rapido)

que opinan?
Last edited by SimulatorOne on Wed Mar 02, 2016 11:39 pm, edited 1 time in total.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [comparacion] render text y Write

Postby shao » Wed Mar 02, 2016 11:19 pm

Pues a mi me sorprende un poco, se supone que con render_text se está usando la aceleración, sin embargo es más rapido write, que no usa aceleración y solo usa CPU pero podría ser que el chip de la tarjeta de vídeo sea menos rápido que el del procesador y por eso es más rápido write.
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: [comparacion] render text y Write

Postby SimulatorOne » Wed Mar 02, 2016 11:29 pm

pues, desactive(lo puse en comentario) el modo modern(GPU)
//compiler_options _gmxsystem_graphics = gmxgraphics_modern;

y el resultado en modo Legacy, es sorprendente:
en ambos casos: tanto usando write como el moderno render_text...
da 480FPS
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [comparacion] render text y Write

Postby CicTec » Wed Mar 02, 2016 11:38 pm

shao wrote:Pues a mi me sorprende un poco, se supone que con render_text se está usando la aceleración, sin embargo es más rapido write, que no usa aceleración y solo usa CPU pero podría ser que el chip de la tarjeta de vídeo sea menos rápido que el del procesador y por eso es más rápido write.

No shao, no tiene que ver, RENDER_TEXT es soportado tanto en la legacy como en la modern, asi usara renderizado software o GPU, segun el sistema elegido.
La diferencia de performance viene porque WRITE es un objeto-texto, se crea una vez y luego el sistema lo utiliza internamente hasta que no se elimine (TEXT_DELETE).
RENDER_TEXT necesita hacer constantemiente una llamada por parte del script, y una llamada nativa que a su vez debe controlar la integridad de los parametros pasados, etc... la diferencia de performance es por esta razon.

Como ha supuesto SImulatorone, el utilizo de un sistema u otro depende dal tipo de juego/programa que se esta montando, la complejidad del texto, etc..., no hay una forma mejor en absoludo, simplemente este sistema permite mas optimizaciones y posibilidades que con solo el sistema WRITE de DIV no eran posibles.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: [comparacion] render text y Write

Postby SimulatorOne » Wed Mar 02, 2016 11:44 pm

actualize los FPS , ya que antes lo tenia sin cable de corriente en el portatil y por ende usaba el modo econico, 50% de rendimiento CPU/GPU

Ademas, tengo 2 GPU, que puedo probar y usar.
por defecto uso la NVIDIA, esa configuracion por default siempre puedo cambiarla.

el nuevo render_text tiene mucha flexiblidad de impresion de textos en pantalla, y para programarlo creo que es mas facil.

aun asi, va a gustos y necesidades.

por ejemplo si deseo imprimir un texto dentro de un scroll directamente... hacer tile como fondo de pantalla, imprimir un caracter por su valor de codigo ASCII... no se
con write se puede hacer tambien pero se debe usar mas funciones y jugar con ellas.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona


Return to General

Who is online

Users browsing this forum: No registered users and 7 guests