IDE para Gemix [SIMPLE IDE].

Foro de discusión general sobre Gemix Studio.

Re: IDE para Gemix [SIMPLE IDE].

Postby erkosone » Sat Jan 27, 2018 4:16 am

Pues no se.. eso lo haces en java y no cuesta nada.. claro.. no se como está hecho un write() en gemix, quizá el screenDrawText() es mas eficiente??

También se me acaba de ocurrir una idea un poco rebuscada pero que puede funcionar jeje..

Mira tu escribes los writes y ya está.. y les aplicas un FX contra un background.. el background simplemente en vez de insertar nuevos writes lo que hacemos es insertar rectangulos en la posición de las palabras reservadas, así aplicando el FX provocará un tintado concreto según el color.

mi screenDrawGraphic() está hecho así cicTec:

Source Code (Java) [ Download ] [ Hide ]
  • final void screenDrawText(PFont fnt_, int size, String text, int cod, float x, float y, color col, float alpha) {  
  •     blitter.pushMatrix();
  •     if (fnt_ != null) {
  •         blitter.textFont(fnt_);
  •     }
  •     blitter.textSize(size);
  •     if (cod==4) {
  •         blitter.textAlign(CENTER, CENTER);
  •     }
  •     if (cod==3) {
  •         blitter.textAlign(LEFT, CENTER);
  •     }
  •     if (cod==5) {
  •         blitter.textAlign(RIGHT, CENTER);
  •     }
  •     blitter.fill(col, alpha);
  •     blitter.text(text, x, y);
  •     blitter.popMatrix();
  • }


Casi tiene codigo y funciona muy rapido, hasta podria hacerlo mucho mas rapido.
Supongo que si tu función es rapida quizá podria ser mejor idea hacerlo así que con writes verdad??
User avatar
erkosone
 
Posts: 10624
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: IDE para Gemix [SIMPLE IDE].

Postby CicTec » Sat Jan 27, 2018 11:40 am

No es eso el punto erkos, vamos con un ejemplo practico....

Toma el sintax-highlight del notepad++ para colorear la sintaxis de Gemix, tienes:
keywords = color #1
built-in consts = color #2
built-in global vars = color #3
built-in local vars = color #4
built-in functions = color #5
operators = color #6
numbers = color #7
IDs = color #8


Con eso tenemos 8 colores diferentes por cada tipo de token, ahora ponemos por ejemplo una expresion como esta, la cual debe ser tokenizada:
Source Code (Gemix) [ Download ] [ Hide ]
  • var_id = calculate_dist_mode7(m7[0].camera, x, y, near_angle(angle, final_angle, 100));
  •  

Esta istruccion ya tiene:
token #01 = var_id (IDs = color #8)
token #02 = "=" (operators = color #6)
token #03 = calculate_dist_mode7 (IDs = color #8)
token #04 = "(" (operators = color #6)
token #05 = m7 (built-in global vars = color #4)
token #07 = "[" (operators = color #6)
token #08 = 0 (numbers = color #7)
token #09 = "]" (operators = color #6)
token #10 = "." (operators = color #6, con un optimizador se podria juntar con el token anterior siendo del mismo tipo)
token #11 = camera (built-in global vars field = color #4 o IDs = color #8 dependiendo de la precision del analizador highlight)
token #12 = "," (operators = color #6)
token #13 = x (built-in local vars = color #4)
token #14 = "," (operators = color #6)
token #15 = y (built-in local vars = color #4)
token #16 = "," (operators = color #6)
token #17 = near_angle (built-in functions = color #5)
token #18 = "(" (operators = color #6)
token #19 = angle (built-in local vars = color #4)
token #20 = "," (operators = color #6)
token #21 = final_angle (IDs = color #8)
token #22 = "," (operators = color #6)
token #23 = 100 (numbers = color #7)
token #24 = ")" (operators = color #6)
token #25 = ")" (operators = color #6)


Como puedes ver ya una sola linea de codigo requiere 25 llamadas graficas (sea WRITE u otro), si tienes en cuenta que un editor de texto debe adaptarse completamente a la resolucion de pantalla del usuario, que puede ser hasta fullHD o 4K hoy en dia, un pestana de edicion con una dimencion de caracter mediamente aceptable puede contener hasta 100 lineas de texto.

Si haces el calculo de por ejemplo 100 lineas por cada linea de 25 (puede ser menos, pero pueden ser tambien mas) ya son 2500 llamadas graficas, demasiadas tenendo en cuenta que el editor debe contener tambien menu, barras de scrolling, pestana de listado de procesos/funciones, etc...

Podrias conseguir un resultado de rendimiento adecuado con aceleracion hardware, pero como sabes OpenGL puede fallar segun en que sistema/tarjeta se esta ejecutando, esto obliga a un rendering por software y hacer cientos o miles llamadas graficas en fullHD ya te puedes dar cuenta del rendimiento que podria conseguir el editor.

Si quieres haz una prueba con tu version de libreria por software y luego me dices los resultados, considera todavia la potencia de tu maquina y que puede estar ejecutando todo en otras de menor potencia.
User avatar
CicTec
 
Posts: 16151
Joined: Thu Jul 31, 2008 10:18 pm

Re: IDE para Gemix [SIMPLE IDE].

Postby erkosone » Sat Jan 27, 2018 4:47 pm

Entiendo CicTec.. vale.. entonces me pregunto que sistema usan para colorear sintaxis las librerias hechas para tal cosa??

Pienso que podría funcionar, no lo veo tan pesado la verdad, he hecho pruebas con processing y puedo renderizar en mi maquina 10.000 textos a 25 fps sin problemas con render por software "sin nada de aceleración gráfica".

Diez mil tio.. yo creo que por mucho que se complique la cosa.. tiene que dar de sobras con Gemix.

Sería questión de hacer algunas pruebas pero creo que puede funcionar bien, o por lo menos deberia. :)
User avatar
erkosone
 
Posts: 10624
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: IDE para Gemix [SIMPLE IDE].

Postby CicTec » Sat Jan 27, 2018 5:12 pm

25 fps son pocos para una app para escribir, pero bueno, prueba a si puedes, a ver que sale.
User avatar
CicTec
 
Posts: 16151
Joined: Thu Jul 31, 2008 10:18 pm

Previous

Return to General

Who is online

Users browsing this forum: No registered users and 3 guests