Jump to content

mgarcia

Fosiles
  • Content Count

    22
  • Joined

  • Last visited

  • Days Won

    3

mgarcia last won the day on April 2 2017

mgarcia had the most liked content!

Community Reputation

9 Neutral

About mgarcia

  • Rank
    Iniciado

Profile Information

  • Especialidad
    Coder

Recent Profile Visitors

322 profile views
  1. Hola, dime nombre de la app y de la empresa. Odio que se aprovechen así de la gente... P.D: Puedes hacer algoritmos que pasado 1 mes después de la entrega deje de funcionar.
  2. Buenas, Los xeon gama media son muy caros, nº núcleos parecidos a los i, y poca frecuencia de reloj. Un ejemplo claro es: https://www.pccomponentes.com/intel-core-xeon-e5-2620-v4-21-ghz-box Cuesta 452€ con 8 núcleos, 16 hilos que te cuesta casi igual que https://www.pccomponentes.com/amd-ryzen-7-1800x-40ghz-sin-disipador pero Ryzen va a 4Ghz mientras que Xeon va a 2'1. Otro ejemplo claro es: https://www.pccomponentes.com/intel-xeon-e5-2630v4-2-2-ghz-box Con 10 núcleos, 20 hilos a 2.2Ghz cuesta más de 700€ cada uno, sin embargo https://www.pccomponentes.com/amd-ryzen-threadripper-1950x-34ghz con 16 nucleos, 36 hilos a 3,4Ghz por 1019€. Resumen de lo que quiero decir: Para hacerse un ordenador de dos procesadores y que sea rentable te tienes que gastar mucha mucha pasta (procesadores Xeon de unos 5k dólares cada uno), y como tú dices que tu presupuesto no es infinito, es mejor gastarse por un Ryzen Threadripper que con sus 36 hilos a 3,4 Ghz aceptando 128Gb de RAM (la ram está muy cara D: ) le pega paliza a dos Xeon e5 2630v4 con 10 nucleos y 20 hilos. Estamos hablando que en poder de procesamiento teórico (que nunca se da, debido a que el SO y los programas normalmente están diseñados a exprimir un procesador físico y no más) está a la par del Ryzen último que te he puesto o incluso les supera por que su frecuencia de reloj es realmente baja, y te has ahorrado 400 o 500 euros que puedes invertir en más RAM o en más tarjeta gráfica (la ram está muy cara D: ). Ten en cuenta que el doble procesador xeon se suele poner en servidores, donde el consumo no tiene que ser excesivo y pueda aceptar muchas peticiones a la vez sin saturarse a las primeras de cambio. Hay muy poco software que realmente aproveche al 100% dos o más CPU's físicos. Un saludo. P.D: He dicho ya que la RAM está MUY CARA? P.D.2: Te lo dice un casi ingeniero informático, puedes hacerme caso o no, pero es lo que hay D: P.D.3: Está pero que MUY MUY CARA. (SI, EXACTO, LA **** RAM)
  3. Buenas, hay dos formas de hacer un form (esto es de primero de html): por post o por get. Si es por get solo mirando la variable de los parámetros puedes hacer la petición por url, ejemplo: www.unityspain.com/index.php?meponemucho=true. La otra forma es por post, la cual tendrás que ver que parámetros tiene ese post y ver que action hace, es decir, a qué llama. Luego la petición por post hay muchas formas de hacerla y dependerá del lenguaje de programación que utilices. Si estás con unity en su API tienes más info: https://docs.unity3d.com/ScriptReference/WWWForm.html Un saludo.
  4. Hola, el código está muy poco optimizado. Deberías darle un poco más de vueltas al algoritmo. Basicamente porque es un juego con muy poca carga a nivel gráfico, así que esforzarse en mejorar el código nunca está de más jeje (Uno no puede llamarse coder por hacer las cosas a "la cuenta la vieja" xD) Sobre nombrarme en agradecimientos no hace falta que lo hagas, no te he ayudado por eso. Simplemente me parecía interesante el método que se me ha ocurrido a mi para hacer la animación del cubo en los saltos parabólicos con pocos recursos. Un saludo. Y suerte!
  5. Lo más facil es: 1.- Con el script que te ha pasado @francoe1 calculas x posiciones de la parábola, esas posiciones las divides por la rotación que quieres que haga tu cubo en el salto, y por cada nodo por el que pase lo giras lo que le corresponda. Ejemplo: Mi cubo quiero que gire 90 grados en la parabola y a mi parabola le he puesto 10 posiciones, 90 grados entre 10 son 9 así que por cada posición por la que pase hasta llegar a la posición final sumaré 9 grados al ángulo en el que rota. Ten en cuenta que si pones pocas posiciones se verá una rotación muy poco fluido. Con este algoritmo lo que se consigue es que solo sabiendo la parábola puedes hacer la animación completa independientemente de qué velocidad lleva el cubo y lo que tardará en recorrerla. Espero que te sirva. Salu2.
  6. Os la estáis midiendo a nivel programación y... ¿No me llamáis? Estoy desarrollando una inteligencia artificial basada en redes neuronales con su razonamiento lógico, visión artificial computada en CUDA y el resto del código en C++ con partes en ensamblador donde más peso de cómputo tiene el programa. Además estoy empezando a simular algoritmos cuánticos en GPU's Nvidia para mi TFG, comparando los algoritmos tradicionales con el posible ordenador cuántico del futuro. Jaque mate señores.
  7. No creo que te lo cojan como TFG, es demasiado fácil, aunque viendo el nivel de los últimos TFG de las universidades... quien sabe xD. Yo no le veo mercado, eso si, es súper instructivo para la gente que estudia Sistemas Operativos y que de seguro le puede ayudar a ver la gestión de procesos de una manera clara y sencilla. Un saludo.
  8. Se te ha olvidado que tenga conocimientos de mecánica cuántica, que tenga en su poder la piedra filosofal y que haya conseguido sangre de unicornio.
  9. Gracias @kingtrase! Eso es como en todo. Si petamos a hilos el procesador llegará un momento que la cola de procesos dejará que entren durante muy poco tiempo los procesos más urgentes (los de sistema) y hará que pete tu sistema operativo. Pero vamos, que con la tecnología actual ya tienes que dejar hilos ya xD
  10. Paralelismo con Unity3D en C# Hola buenas, Aquí os traigo un ejemplo de aplicación de multihilos a Unity3D. En este caso, el ejemplo consiste en dada una matriz rellenada con numeros random de 1 a 1000, hacer la suma total de cada fila. Es decir dada la matriz 3x3: 1 2 3 -> 6 4 5 6 -> 15 1 2 4 -> 7 Este es un ejemplo en el cual podremos utilizar multithreading (a partir de ahora multihilos) y ahorrar costo computacional. En el unitypackage que os adjunto se rellenan dos matrices de 10000 x 10000. Así que al darle al Play puede ser que vuestro ordenador se os tire varios segundos sin arrancar la escena debido a que el relleno de las matrices es por un único hilo y con un Random.Range(), algo que es costoso para un ordenador, pero que al ser un ejemplo no nos importa (nos centraremos en el calculo paralelo, os animo a completar el código para el relleno de las matrices por paralelismo ). En la escena nos aparecerán dos botones. Al darle click a "Hilo" os hará el calculo de la primera matriz con un único hilo. Al darle click a "Multihilo" os lo hará con multihilos. Super intuitivo el ejemplo así que no os podéis quejar. Os comento un poco el codigo del multihilo para que lo entendáis: using System.Collections; using System.Collections.Generic; using System.Threading; using UnityEngine; using HelperCustom; public class multiHilo { private int[,] v; private int tamX, tamY; public multiHilo(int tamX, int tamY) { this.tamX = tamX; this.tamY = tamY; v = new int[this.tamX, this.tamY]; HelperCustom.HelperMatriz.RellenarMatriz2d(ref v, ref tamX, ref tamY); } public void sumarVectoresMultiplesHilos() { for(int x = ; x < tamX; x++) { //1 System.Threading.ParameterizedThreadStart sum = new System.Threading.ParameterizedThreadStart (sumaElementosY); //2 System.Threading.Thread sobreUnaLinea = new System.Threading.Thread(sum); //3 sobreUnaLinea.Start(x); } } private void sumaElementosY(object y) { int j = (int)y; int resultado = ; for(int p = ; p < tamY; p++) { resultado += v [j, p]; } Debug.Log ("Calculado en multihilo"); } } Iremos por partes: El constructor de la clase es súper sencillo, simplemente le pasa por parámetro las filas y columnas de la matriz, crea una matriz con esas filas y columnas y luego las rellena con un helper hecho por mi (también añadido al unitypackage). Vamos al lío: sumarVectoresMultiplesHilos() es la clase que nos interesa. Como veréis recorremos la columna de la matriz, y por cada columna declaramos qué método queremos ejecutar en diferentes hilos, en este caso, sumaElmentosY (el número 1). Ahora en el 2 crearemos el hilo pasándole las propiedades declaradas en el 1, y finalmente empezaremos la ejecución del hilo, pasándole por parámetro la posición en la que estamos (fila 1, 2, 3...). Muy importante, nos debemos fijar que en lo que pasámos por parametro en realidad es un object, es decir que en sumaElementosY() el parámetro es object. Y luego tenemos que hacerle una conversión a int, en este caso se trata de un downcasting (cosas raras de los ingenieros informáticos). Ahora ya podremos calcular el resultado de la fila como haríamos con un vector, puesto que la posición x la sabíamos anteriormente y la hemos pasado por parámetro. Notas: En el estudio del tiempo que necesitamos he puesto un Debug.Log en cada una de las filas calculadas para que se note más la diferencia de tiempos (Ya que hablamos de una matriz 10kx10k, relativamente pequeña para la tecnología hardware actual). Esto está muy bien pero... ¿Para qué necesito yo saber esto? Las aplicaciones son casi infinitas, y lo mejor, súper óptimas. Se pueden utilizar en suma de vectores donde sabes que el tamaño siempre va a ser enorme, TerrainData que se trabaja con matrices super espesas (que es mi caso), Texturas, Colores, etc. Pues lo pienso hacer todo paralelo a partir de ahora @mgarcia Para el carro, he dicho casi infinitas. Hay operaciones las cuales da igual como las hagas siempre van a ser del mismo costo temporal. Todos aquellos algoritmos donde las variables que se tienen que modificar se compartan y necesites saber el resultado de la operación x para hacer la de la x+1 no se puede hacer paralelo (la explicación técnica es más compleja pero para que os hagáis una idea de lo que digo). Resultados temporales: Ahora os dejo con el resultado temporal que me ha salido a mi, como veréis, la diferencia de tiempos es enorme: Unos 9 segundos y medio de media en un único hilo mientras que en multihilo me ha dado menos de 3. Si aumentásemos el tamaño de la matriz imagináos... Y hasta aquí la pequeña introducción al paralelismo con Unity3D. Un saludo, y ¡hasta otra! tutoMultihilo.unitypackage
  11. ¿Cómo va el proyecto? Mola bastante @Kondor0 ! !Espero ver el final!
  12. Muchas gracias @iRobb !!
  13. mmmm.... no sabía que había un SDK específico para Unity, habrá que aprender a utilizarlo jeje
  14. Buenas, Tendrás que utilizar el API de desarrolladores de Facebook, Twitter y de las demás plataformas a las que quieras compartir. Por la Asset Store de Unity he visto alguna implementación de Facebook a unity, pero ninguna con upload de imagen. No se si será porque a lo mejor Facebook no da servicio de upload image por la API. Todo sería documentarse, un saludo.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...