Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Velocidad: Paint Vs Draw Vs OpenGL
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Velocidad: Paint Vs Draw Vs OpenGL 
 
Hice un test y comparto...

captura_de_pantalla_de_2015_08_26_09_25_15

Ya que tengo implementados los tres métodos de dibujo, hice un test con un gráfico que tiene:

40.500 lineas
55.000 textos
55.000 rectángulos

los tiempos que toma dibujar son:

Paint 8.87 seg

OpenGL 514 seg

Draw 1.87 seg (deprecada!)
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
tercoIDE escribió: [Ver mensaje]

los tiempos que toma dibujar son:

Paint 8.87 seg

OpenGL 514 seg

Draw 1.87 seg (deprecada!)


WTF!!???

En serio?
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
jguardon escribió: [Ver mensaje]
tercoIDE escribió: [Ver mensaje]

los tiempos que toma dibujar son:

Paint 8.87 seg

OpenGL 514 seg

Draw 1.87 seg (deprecada!)


WTF!!???

En serio?


perdon, un punto no salio:

OpenGL es 5.14 seg
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
tercoIDE:

¿ Y cómo va ser más rápida Draw ?. Algo internamente no va.

En cuanto al calculo no es tanta la diferencia entre Paint y OpenGl...es muy raro.
Si pudieses hacer el mismo dibujo, dibujando solo con "wireframe", ya cambiaría la cosa, pero bastante.  

Citar:

Wireframe: Es un algoritmo de renderización del que resulta una imagen semitransparente, de la cual solo se dibujan las aristas de la malla que constituye al objeto. De ahí su nombre.


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
En realidad es un resultado bastante logico, pues Draw es una clase mas simple, con menos funciones y recursos.
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
tercoIDE escribió: [Ver mensaje]
... con menos funciones y recursos.

No puede ser esta la razón.  
La cantidad general de recursos contenidos en una clase o en una libreria externa no vicia - de por sí - la fluidez de un recurso.

Haría falta estudiar los códigos fuentes.
 



 
última edición por vuott el Jueves, 27 Agosto 2015, 15:26; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
el codigo es similar, por ejemplo para dibjar una linea utilizo


Public Sub linea(p0 As Punto3d, p1 As Punto3d, Optional _color As Single = -1, Optional ancho As Single = -1)

    ' Esta es una rutina 3D, tanto para Draw, Paint y OpenGL
    Dim r As Integer, g As Integer, b As Integer
    Dim p As New Punto3d

    Select Case modestru.settings.modograficos
        Case 1 'Draw

            If _color >= 0 Then Draw.Foreground = _color
            If ancho >= 0 Then SetAnchoLinea(ancho) Else SetAnchoLinea(1)
            draw.Line(xyzX3D(p0), xyzY3D(p0), xyzX3D(p1), xyzY3D(p1))

        Case 2 'Paint
            
            If _color >= 0 Then Paint.Brush = Paint.Color(_Color)
            If ancho >= 0 Then SetAnchoLinea(ancho) Else SetAnchoLinea(1)
            Paint.MoveTo(xyzX3D(p0), xyzY3D(p0))
            Paint.LineTo(xyzX3D(p1), xyzY3D(p1))

            Paint.Stroke
            
        Case 3 'OpenGL

            gl.Begin(gl.LINES)

            If _color >= 0 Then SetColor(_color)
            If ancho >= 0 Then SetAnchoLinea(ancho) Else SetAnchoLinea(1)

            rotar3d(p0, p)
            gl.Vertex3f(p.x, p.y, p.z)
            rotar3d(p1, p)
            gl.Vertex3f(p.x, p.y, p.z)
            gl.End

    End Select

End

 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
tercoIDE escribió: [Ver mensaje]
el codigo es similar

...yo, pero, hablaba de las librerias externas.
 



 
última edición por vuott el Jueves, 27 Agosto 2015, 22:47; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
Vuott:

Sobre las librerías externas.

Las librerías externas "deberían" ser las misma que pueda usar "C", que pueda usar "Python". Me refiero a las que el sistema tiene instalado.
Solo que gambas las llama o sirve de intermediario para llegar y dar uso a esas librerías.

A menos que te refieras a "ese código intermedio" que usa gambas para llegar a las librerías del sistema. Al igual que un interprete.

Si estamos usando QT4 en gambas, pues gambas usa el componente gb.qt4 para acceder a las funciones de la librería QT4 del sistema.
De este componente o librería depende de lo mejor o peor que este hecho para que vaya mejor o peor la librería QT4 en Gambas.

Entrando en Offtopic:

El problema que podemos pensar, ¿ por que otros lenguajes siendo interpretados son más rápidos unos que otros ?...pues por la calidad del código.    
¿ Quiere decir entonces que un lenguaje es peor que otro ?. Supongo que los limites son los que los programadores conozcan y hayan escrito en el código del lenguaje.

Os cuento una historia. Ejemplo: ( Estuve haciendo un ejercicio, si queréis os lo subo)

En Python 3 no se usa una clase String para trabajar con caracteres UTF-8. Entonces si uso  longitud(cadena) en Python y
esta cadena es por ejemplo: "mañana", me da la longitud exacta, en cambio en gambas debo usar la clase String,
ya que me dará una longitud + 1, si no uso la clase String.

¿ Por qué el propio lenguaje gambas con las funciones de cadena no es capaz de por si solo de hacer eso sin la clase String ?.

Y diréis...es que las funciones de cadenas de gambas solo trabajan con caracteres Asciis..

Es un ejemplo, claro. Lo que me refiero es que ¿ por que hay lenguaje que permiten hacer las cosas mas transparentes para el usuario y
en cambio otros lenguajes deben complicarse más ?.  

¿ Quien dice o marca los limites de un lenguaje ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Velocidad: Paint Vs Draw Vs OpenGL 
 
Shell escribió: [Ver mensaje]
Las librerías externas "deberían" ser las misma que pueda usar "C", que pueda usar "Python".

Sì, en efecto yo creo que las pruebas - en este caso - deberian ser hechas con los recursos del propio lenguaje de origen.
 



 
última edición por vuott el Domingo, 30 Agosto 2015, 14:19; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes OpenGL Amaro Pargo General 1 Jueves, 24 Marzo 2011, 13:03 Ver último mensaje
netking86
No hay nuevos mensajes Tipo Draw? pittusa General 0 Domingo, 10 Abril 2011, 20:31 Ver último mensaje
pittusa
No hay nuevos mensajes Draw Vs Paint ahtonio General 3 Domingo, 18 May 2014, 09:59 Ver último mensaje
ahtonio
No hay nuevos mensajes [OpenGL] Introduction To OpenGL Graphics ... Shell Programación en otros lenguajes 0 Sabado, 09 Marzo 2019, 14:48 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron