Trucazo de optimización en Unity

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 272

  • @herbertgm9279
    @herbertgm9279 Год назад +3558

    Resumen: Alva está llevando todos sus libros de colegio aunque solo le toque llevar el de matemáticas.

    • @Sodium_Slug
      @Sodium_Slug Год назад +168

      En realidad es como que no te dan varias carpetas para llevar hojas para cada materia diferente, entonces tiene todas las materias en una sola carpeta.

    • @juanbp97
      @juanbp97 Год назад +19

      Lo que no se es porque hace objetos vacíos en plan carpetas cuando puedes crear carpetas

    • @enriclop3044
      @enriclop3044 10 месяцев назад +15

      ​@@juanbp97Porque no puedes crear carpetas para los objetos XD

    • @zeekezara7800
      @zeekezara7800 10 месяцев назад +4

      Y por que no puede crear carpetas xd?

    • @Eiravxe
      @Eiravxe 8 месяцев назад

      XD@@enriclop3044

  • @germansolano7664
    @germansolano7664 Год назад +469

    Una vez vi un tutorial donde en lugar de anidar objetos para organizarlos, lo que hacían era crear objetos vacíos como separadores y acomodarlos en la lista para que se pudiesen agrupar los objetos sin anidarlos dentro de otros. Creo que luego de ver esto me hace mucho más sentido el hacerlo así.

    • @terminado
      @terminado Год назад +21

      En serio 😅 pensaba que estaría un poco mejor hecho ya con tantos años de desarrollo en Unity.

    • @EstebanAlpha
      @EstebanAlpha Год назад +10

      Esa esta buena, asi lo tienes organizado sin afectar.

    • @suryoz3992
      @suryoz3992 Год назад +1

      yo uso eso

    • @theredwolf6621
      @theredwolf6621 Год назад +2

      ​@@terminado A ver, a no ser que metan la capacidad de crear carpetas no hay mucho mas (y ni así se solucionaría mucho porque seguirian siendo hijos de. Quiero decir un gameObject dentro de otro sigue teniendo que hacer calculos extras :/

    • @efraincastillo9251
      @efraincastillo9251 8 месяцев назад

      Si, crear nullos para agrupar, sobre todo en 3D
      Yo no sabía que era un "Truco". Cuando me lo enseñaron en la universidad era la norma, pensé que en todos lados era igual XD

  • @agent4237
    @agent4237 Год назад +1881

    cuando tu metes objetos en otros objetos, cuando cargas un objeto se cargan los demás objetos hijos, por lo tanto si no borras el espacio en memoria se vuelve mas pesado xD

    • @uwupaloma3387
      @uwupaloma3387 Год назад +44

      Buen dato, de verdadxd

    • @alvarorodriguez1592
      @alvarorodriguez1592 Год назад +47

      Ostras, en serio? Rollo metes todos los árboles en una carpeta árboles, y el garbage colector no diferencia?

    • @agent4237
      @agent4237 Год назад +20

      @@alvarorodriguez1592 depende el lenguaje en el que bases tu proyecto, xD

    • @gonzalolopez2284
      @gonzalolopez2284 Год назад +95

      ​@@alvarorodriguez1592 pero Alva no los metio en una carpeta, lo metio en un objeto, al inicializar cualquiera se inicializarian todos

    • @s3phir0th14
      @s3phir0th14 Год назад +2

      🤯

  • @gaboandres
    @gaboandres Год назад +102

    Es cierto, no recuerdo que video lo vi pero se que en algún video de optimizaciones de unity lo comentaban, e investigando encontré que unity para calcular la posición de los hijos de un objeto tiene que calcular también la del padre por lo que mientras más parents de parents tenga un objeto más posiciones de parents debe chequear para conocer la posición del objeto hijo

    • @BS-qt4bz
      @BS-qt4bz Год назад +2

      ya, si yo comenté algo similar, es como que duplica los objetos.

    • @Rafa.1407
      @Rafa.1407 10 месяцев назад +1

      En resumen, calcula todos los archivos de una carpeta para identificar donde está el archivo que necesitamos en ese momento

    • @ESTEBANLORETO
      @ESTEBANLORETO 9 месяцев назад +1

      Multiplicación de Matrices es lo que hace en cada uno de esos pasos, para objeto está en el centro de su propia matriz.

  • @ibis2165
    @ibis2165 Год назад +157

    Al tener objetos como carpetas, lo que estas haciendo es crear una lista de objetos. debido a que cada objeto en una lista es una referencia estas consumiendo N(8 + M) bits donde N es la cantidad de objetos que tienes en esa lista y M la suma del peso de cada objeto, a eso le sumas 12bits de overhead y otros 4 de longitud, por eso ocupas mas memoria que tenerlos separados.

    • @renatoprincich3953
      @renatoprincich3953 Год назад +59

      Pobre e ingenuo de ti, creyendo que el grandiosísimo Alva usaría matemáticas para comprender el correcto uso de objetos anidados.

    • @-L1ch-
      @-L1ch- Год назад +9

      @@renatoprincich3953 En resumen, cargas al objeto raiz y a todas sus ramas al mismo tiempo aún cuando no se necesiten, por eso consume más.

  • @SaibotDice
    @SaibotDice 6 месяцев назад +4

    Genio. Me ayudaste una banda 🗣

  • @Nomikt
    @Nomikt Год назад +818

    Lógica de Unity:

    • @snake698
      @snake698 Год назад +72

      Lógica tiene si se conoce el funcionamiento interno. Primero, se tienen todos los objetos anidados cargados en memoria constantemente ya que el objeto padre está cargado en memoria, por lo que tenemos mucha memoria ocupada sin necesitarlo, y segundo los objetos dentro de objetos son dos referencias lo cual duplica el tiempo de búsqueda de la posición de memoria en bytes, ya que hay que hacer una para el objeto padre y otra para los internos

    • @zeusconde7
      @zeusconde7 Год назад +6

      Se nota que nunca lo usaste ni entiendes de lógica xd

    • @Nomikt
      @Nomikt Год назад +3

      En nigun momento dije que no tiene logica

    • @massiete
      @massiete Год назад +3

      @@zeusconde7 zzz

    • @zeusconde7
      @zeusconde7 Год назад +1

      @@massiete zzzzzzz

  • @kire9341
    @kire9341 Год назад +12

    Puede ser Alva Majo el gamedev que menos sabe de informática que he visto? Yo no entiendo cómo aún así es tan jodidamente puto amo ese nivel de apañado está potente

    • @Eiravxe
      @Eiravxe 8 месяцев назад +2

      jaja, es simple, el odia las matematicas

  • @MirikoVT
    @MirikoVT 8 месяцев назад +1

    Se supone que como pertenecen a un solo grupo, están conectados simultáneamente y trabajan como si estuviera cargando un mismo grupo aunque no sea necesario que todos los assets estén trabajando en una carga compartida qué sé vuelve grande. Pero cuando se sacan, obtienen "independencia" y su carga trabaja de manera más independiente con consumos diferentes y separados qué no necesariamente estén siendo cargados todos al mismo tiempo y que no necesariamente estarán funcionando continuamente y en conjunto qué un solo grupo grande. Por eso hay juegos qué pueden limitar las distancias de renderizado para optimizar las cargas de cada uno de los assets, pero si metes todos ellos en un solo grupo. Es como si el sistema tuviera la instrucción de cargar hasta lo que no debería.

  • @arielrodriguez11
    @arielrodriguez11 Год назад +5

    Es que tienen doble función, meter el objeto dentro de otro y organizar, quizá necesitamos dividir esas tareas, como un segundo modo de vista de la jerarquía, uno normal de toda la vida y otro modo donde los objetos funcionen como carpetas para poner unas cosas dentro de otras solo con fines de organización

  • @rtorresgonzalez93
    @rtorresgonzalez93 Год назад +6

    No sé si leerás esto pero prueba a marcar los objetos que no se vayan a mover como Static, en la parte de arriba del inspector. Debería notarse la diferencia en cuanto al performance.
    Otra cosa que puedes hacer es usar el Profiler u otras herramientas similares para ver dónde se está trabando cada frame.

    • @NAME494
      @NAME494 Год назад +3

      El problema de marcalos como static es que aumenta el peso del juego. Para juegos en pc no pasa nada, pero en caso de juegos para android, podes duplicarlo. Me paso de pasar de 50mb a 120mb xD

  • @FrancoRosatto
    @FrancoRosatto Год назад +56

    El problema es el cálculo de posiciones, por cada anidación el cálculo se vuelve más pesado (recursividad). Por lo tanto un solo nivel de anidación en múltiples objetos puede ocasionar problemas de optimización.

    • @frozonus9595
      @frozonus9595 Год назад +1

      No parece, lo de las posiciones se solucionan con punteros y offsets

  • @danieldiaz2595
    @danieldiaz2595 Год назад +5

    Eso pasa por el enrutamiento que hace Unity con sus paquetes, tienes muchísimos objetos lo que son muchísimas referencias por segundo, si a cada una de estas referencias le restas esa parte de la ruta, el ordenador tiene que realizar menos peticiones de acceso a carpetas y el juego tiene nombres de ficheros más cortos, lo cual, para nombres concatenados muy largos puede hasta necesitar más memoria de la predicha en un principio. Empiezas a sumar todas estas cositas y si, afecta un montón al rendimiento. Un saludito✌🏻

  • @thelosttheforgottenpower9730
    @thelosttheforgottenpower9730 Год назад +26

    Ahora toca optimizar la tarifa de unity

  • @eronais3283
    @eronais3283 Год назад +43

    Probablemente como lo considera un objeto trata de cargar todo al mismo tiempo y no uno por uno

  • @darkshadow-yz4xc
    @darkshadow-yz4xc 8 месяцев назад +1

    Simple , estas ejecutando un objeto y adentro de este hay varios objetos , en vez de usar solo el objeto necesario vas a usar varios al mismo tiempo o vas a hacer que se busque el objeto requerido (tardando más por el arduo proceso de búsqueda)

  • @TheAleStuffs
    @TheAleStuffs Год назад +4

    Vídeos que envejecieron maal

    • @Eiravxe
      @Eiravxe 8 месяцев назад +1

      pq

  • @Asaelass
    @Asaelass Год назад +1

    Jaja que buen video ibrahimovic

  • @JuanCarlosDiazMontiel07
    @JuanCarlosDiazMontiel07 Год назад +3

    Teniendo eso en cuenta, usa un codigo en el nombre de los archivos cosa que se te organicen solos aún estando todos en una misma carpeta.

  • @jamz8785
    @jamz8785 Год назад +2

    Es muy sencillo lo que pasa, si metes todo dentro de un solo objeto el juego verá estas mil cosas como si fueran 1 sola, entonces las cargará a la vez, si están separadas, no lo hará, y cargará las que están en pantalla, es raro, pero tiene sentido

  • @jobcameron3078
    @jobcameron3078 10 месяцев назад

    si tienes un objeto en child al actualizar el movimiento de uno se actualiza todo , en physich desactiva sync transform y no te afectaria

  • @historiasdeundesarrollador
    @historiasdeundesarrollador Год назад +2

    Pues ya se porque mi tfg plagado de arboles y vegetación dentro de otros objetos vacíos iba justísimo de FPS, cuando tenga un rato pruebo a sacarlos, a ver si mejora el rendimiento.
    Nunca hubiera pensado que podría llegar a ser por eso, el caso es que no pude encontrar nunca otro motivo de la bajada de los fps.

  • @yuniorbestardaroche1534
    @yuniorbestardaroche1534 Год назад +4

    La respuesta esta en el tema de Arboles de Estructura de Datos

  • @ivan.antoff
    @ivan.antoff 10 месяцев назад

    Un objeto se almacena completo en memoria.
    Dicho esto para acceder a cualquier de los objetos que estan dentro de otro, debes meter en memoria todos los objetos juntos (aunque solo uses uno) y no puedes quitarlos de la memoria hasta que el último de ellos se deje de utilizar.

  • @aureliogutierrez9195
    @aureliogutierrez9195 Год назад +2

    Cuando todas tus materias las metes en un unico cuaderno y cargas con todos los libros en la mochila

  • @Kapioner114
    @Kapioner114 Год назад +2

    Hay un asset que te permite crear carpetas en la jerarquía y por lo tanto no tener estos problemas. Tiene sentido que disminuya la performance porque los objetos tienen que estar comprobando cambios en el padre y viceversa

    • @cesargallardo97
      @cesargallardo97 Год назад

      ¿Sabes cual es? Entiendo que el problema de él ocurre por querer agrupar todo dentro de un objeto padre, pero si fuera una carpeta, como dices, no debería ocurrir.

  • @NovaxHD2
    @NovaxHD2 9 месяцев назад

    Esto es épico esto no sebe de pasar por desapercibido

  • @miguelgargallo
    @miguelgargallo 11 месяцев назад

    joder gracias ❤

  • @RedemtionDev
    @RedemtionDev Год назад +4

    Imagina hacer un Shooter y poner las armas , cámara , brazo, skin, skin de cuerpo entero y recién enterarme de esto, es para cortarme los esféricos con un corta césped

  • @Viqtor24
    @Viqtor24 Год назад

    Eres un grande

  • @helmercastillo4726
    @helmercastillo4726 Год назад +1

    mi hipótesis es que al estar todo como hijo de un objeto o carpeta, simplemente comprueba y redimensiona las texturas de todos los objetos de la escena en lugar de solo hacerlo en los objetos cercanos.

  • @NAME494
    @NAME494 Год назад +1

    Creo que es porque cuando cambias la posicion global de un objeto hijo, unity debe calcularlo para cada padre, ya que los transforms trabajan localmente. La idea es evitar abusar de updates, fixedupdate y lateupdate

  • @inovafertanimus
    @inovafertanimus Год назад +3

    Por lo que he oído es tema de la forma en que reparte Unity la carga de los objetos entre los núcleos de la CPU. Dependiendo de la jerarquía, Unity no paraleliza bien los procesos.

  • @hedersoncarrasquero5343
    @hedersoncarrasquero5343 Год назад +8

    Y si esa mejora de fps es debido al como funciona el editor? Porque al final en el build son solo matrices multiplicando otras matrices

    • @NAME494
      @NAME494 Год назад

      Es muy probable ahora que lo decis

  • @juau8446
    @juau8446 Год назад +4

    en blender es al revés. si creas collection y metes los objetos te reduce el espacio en memoria y te va mejor los renders

  • @Noctowll
    @Noctowll Год назад +2

    Una vez dispuestos en la posiciones deseadas y definitivas ¿no se pueden fusionar todos los objetos en unos pocos para optimizar?
    De última, te guardas los objetos en sus versiones separadas pero no implementados en el juego en caso de querer hacer alguna modificación.

  • @s3phir0th14
    @s3phir0th14 Год назад

    Gracias por el dato we

  • @darckclosmot
    @darckclosmot Год назад

    Woow no sabía eso 😮

  • @Foca-art
    @Foca-art 8 месяцев назад

    Devalen: lo dice el que puso arbustos como nubes

  • @lolcat69
    @lolcat69 8 месяцев назад

    Explicación: basicamente cada objeto funciona como un arbol, el arbol tiene ramas y cada rama es un objeto hijo de el objeto, entonces cada vez que tengas que buscar X objeto en la escena tendras que ir dentro de el árbol y bajar entre las ramas para encontrar el objeto, y mientras más tenga que bajar para encontrarlo más se demorará. En lenguajes de programación interpretado esto también es un problema, por eso lo que se hace normalmente es "compilarlos" a Bytecode ( osea como codigo de maquina para una "cpu" inventada por ti ) y luego eso lo pasas a tu VM ( la "cpu" ) para que lo emule, y como no vas "caminando el arbol" ( ese es el nombre, ni yo se porqué ), si no que simplemente vamos en linea recta en un array ejecutando cada instrucción es más rapido, entonces básicamente al sacar cosas de objetos hace que "pase" de caminar un arbol a simplemente buscar en una lista, lo cual es más rápido como ya dije :v

  • @thecodecatalyst
    @thecodecatalyst Год назад

    Eso es una abstracción del patrón flyweight

  • @DavidGispert
    @DavidGispert Год назад +10

    Voy a dar mi opinion al respecto de lo que puede estar pasando (no he usado unity en mi vida), creo que podria tener que ver con el culling, es decir al meter todos los objetos (personitas, arboles, montañas etc..) dentro de un mismo objeto los trata a todos como si fuesen uno solo (calcula la bounding box de todos los objetos en conjunto para utilizarla a la hora de hacer el culling) y a la hora de cuando se renderiza la escena en vez de no dibujar aquellos objetos que no se estan viendo en la pantalla como todos forman un objeto "grande" en conjunto entonces mientras se vea aunque sea solo una personita esta renderizando el resto de objetos aunque no se vean, en cambio cuando los sacas de este objeto "padre" entonces el culling funciona por separado (en este caso para realizar el culling calcula la bounding box de cada objeto por separado) para cada uno de ellos en vez de conjuntamente como he dicho antes.
    Tambien te digo, no estoy muy seguro pero tiene bastante sentido, puedo equivocarme. Otra opcion seria que al hacer un objeto hijo, la matriz transform(posicion rotacion y escala) se multiplica con la del padre para "situarlo en la escena" pero dudo muchisimo que sea eso ya que una multiplicacion de matrices para la gpu es pan comido, por cierto hay mucha gente en los comentarios que no tiene ni puta idea de lo que hablan (no se que de memoria y no se que de que tiene que cargar objetos) vais doblados, eso es lo que pasa cuando usais un motor grafico sin tener ni puta idea de como funciona un pc, como funciona el procesador como funciona la memoria, asumo que tampoco habeis programado usando una api de graficos low level como opengl/vulkan/directx, asi que primero aprended y luego hablais que macho dais un poco de vergüenza.

    • @hebygamer6797
      @hebygamer6797 Год назад

      Tiene que ser la transformación si o si. El culling no debería tratar los objetos así, no estaría optimizando nada.

    • @lissewan1739
      @lissewan1739 Год назад

      Lo mismo y el comentario iba un poco más de tirar mierda con una explicación más o menos convincente al principio para disimular. "Expertos" que no quieren que principiantes o fans opinen.

    • @DavidGispert
      @DavidGispert Год назад +2

      @@lissewan1739 precisamente los principiantes o fans no deberian "opinar" sobre temas de los cuales desconocen, una cosa es que des tu opinion aunque no sepas, en plan "pues yo creo que puede pasar esto ... pero no estoy seguro", lo cual aunque estes en lo incorrecto pues no lo has dicho afirmando que eso esta pasando, porque si ves los comentarios hay mucha gente que directamente dice "pues pasa esto" y se quedan tan anchos cuando lo que han escrito es una puta barbaridad e indica que no sabe absolutamente nada de lo que esta hablando, por ejemplo un comentario que me llamo mucho la atencion que voy a poner literal aqui "cuando tu metes objetos en otros objetos, cuando cargas un objeto se cargan los demás objetos hijos, por lo tanto si no borras el espacio en memoria se vuelve mas pesado xD" el que ha escrito esto no tiene ni puta idea de lo que esta diciendo, por eso digamos que me cabreo con esta gente, porque lo unico que hacen es desinformar y perjudicar a precisamente esos principiantes que estan aprendiendo, cuando viene alguien que sabe mas que yo, me callo, escucho y aprendo, aqui pasa lo contrario los que no saben, hablan demasiado.

    • @Dagxtor23
      @Dagxtor23 Год назад

      Mucho meter mierda a la gente pero el que más va doblao con el tema eres tú XD. No tiene ningún tipo de sentido lo que has dicho.

    • @abrahampuentedelrosario5344
      @abrahampuentedelrosario5344 Год назад

      ​​​​​@@DavidGispert estos juegos que se ven sencillos son un dolor de cabeza de crear, ahora se que tengo que empezar por algo simple, y que no me consuma la vida...
      algunos hablan afirmando lo que solo suponen, como si les hubiese pasado por experiencia, no esta mal un: yo creo o pienzo que, de vez en cuando.
      Veo a mucha gente enrredada pasando mucho tiempo tratando de resolver un problema que se les complica cada dia

  • @jasv16
    @jasv16 9 месяцев назад

    Creo que es por la modularidad solo llama lo que va usar y cuando esta todo en el mismo archivo cargara todo.. creo.. 🤔

  • @Sirmnx
    @Sirmnx Год назад +1

    Dato curioso que no le importa a nadie: Se me hace parecido cuando en los servers de Minecraft si pones muchos carteles se recarga el texto cada tanto tiempo y aunque esté sin escribir también pasa.
    Así que ya sabeis si juegas un server con amigos en aternos o cualquier server gratis de Minecraft usen otra cosa para hacer sus granjas de mobs como trampillas o algo así XD.

  • @srsenor-vv3co
    @srsenor-vv3co Год назад

    Realmente es muy guapo

  • @EliasHeredia25-99
    @EliasHeredia25-99 4 месяца назад +1

    Matemáticas hijos . Te puedes equivocar pero los números no mienten

  • @naliochasqui1310
    @naliochasqui1310 Год назад

    Te apodo el Quijote gaming

  • @joamo4001
    @joamo4001 9 месяцев назад

    Bueno, es que aunque no estes usando los objétos que tienes dentro, cuando pones el que está afuera, se cargan los de adentro

  • @sebastianafy
    @sebastianafy 8 месяцев назад

    Alva descubriendo y aprendiendo a programar sin videos de RUclips y sin haber estudiado, además programando mejor que otros expertos con carrera universitaria, simplemente un grande alva el majo

  • @Pablopoluschile
    @Pablopoluschile 9 месяцев назад

    siento que el problema esta en cuando el programa quiere acceder al objeto anidado, donde se dice:
    quiero el objeto x que esta asi a/b/c/d/e/////x
    y cada vez que lo hace se debe leer toda la direccion, en lugar de tener todo en un mismo lugar a/x

  • @yostingilbetances4247
    @yostingilbetances4247 9 месяцев назад

    hola alba, mira te explico. haces eso cuando vas a publicar el juego, pero siempre quedate con tu respaldo, bien organizado, y cuando lo vayas a publicar, pues ya sabes

  • @joelbustos9991
    @joelbustos9991 Год назад +4

    Yo con todo mi proyecto en un objeto: ª

    • @Oi-mj6dv
      @Oi-mj6dv Год назад

      Tal cual, no sé por qué necesita ents

  • @ib1425
    @ib1425 6 месяцев назад

    Creo que se podría crear los objetos vacíos (por organizacion) y crear un script que cuando generes el ejecutable haga ese tipo de optimizaciones (no soy desarrollador de juegos, solo desarrollador)

  • @jeystian
    @jeystian 10 месяцев назад

    Supongo que la dirección de los objetos es mas larga cuando están dentro de otros

  • @avgchoobafan
    @avgchoobafan Год назад

    He visto gente organizando sus GameObjects como:
    🔳 --- Game managers ---
    🔳 .... (Acá van los managers)
    🔳 --- UI ---
    🔳 .... (Acá van las UI)
    Y así. Sin ponerlos como hijos y esos GameObjects con --- guiones --- en sus nombres son usados como separadores
    También hay algunos devs que van cargando y descargando escenas de manera dinámica y tienen sus GameObjects seccionados por escenas, y las van instanciando cuando se necesitan aunque parece algo más complicado

  • @llantg8538
    @llantg8538 Год назад +1

    Eso pasa ya que no tiene que buscar tanto en las carpetas las texturas es más rápido por lo tanto es más fps

  • @AlejandroGarcia-cy8uy
    @AlejandroGarcia-cy8uy 9 месяцев назад

    cuando se cree un objeto grande, crea todos los objetivos chiquitos

  • @pedroduran8927
    @pedroduran8927 Год назад +3

    Sera por que no los tienes marcado como static? son arboles, no tienen por que ser dinamicos

  • @locomax8
    @locomax8 9 месяцев назад

    Que locochon ❤😂🎉

  • @jlxip
    @jlxip 9 месяцев назад

    ¿Puede ser porque aplica herencia, cosa que es costosa en tiempo de ejecución por la gestión de tipos (rtti)?

  • @Andres_81
    @Andres_81 Год назад

    Pueden usar un asset que se llama hierarchy 2 que te da la opción de crear "carpetas" en el hierarchy y cuando le das a play saca todos los objetos hijo de la carpeta y los pone por separado. Como lo hizo alva pero automático

  • @MilanesaStudio
    @MilanesaStudio 10 месяцев назад

    Unity tiene alguna opcion para unir varios assets en uno solo? En Unreal por ejemplo se puede hacer eso para optimizar mejor al ser menos objetos

  • @churi24
    @churi24 11 месяцев назад

    Sacaste 15fps mas en una build o en el editor? porque hay una gran diferencia ahi...

  • @graydisk
    @graydisk 8 месяцев назад

    Obvio

  • @thedarck777
    @thedarck777 Год назад

    no soy de comentar .. pero esto lo vale.... muchas gracias eso si yo no sabía 😁
    tengo un .. castillo ... y tiene mucho objeto yo por hacerme el ordenado ..

  • @carlosrcabrera6903
    @carlosrcabrera6903 Год назад

    Felicidades 👍. Saludos desde Cuba 🎉 versión para Android?

  • @tusbackingtrackes
    @tusbackingtrackes 5 месяцев назад +1

    Porque en programación iterar un bucle dentro de otro bucle siemyes mas costoso en cuanto a rendimiento.

  • @mariotorres4689
    @mariotorres4689 Год назад

    me imagino que es por la indexación

  • @rattlingbee
    @rattlingbee Год назад

    Y aquí, señoras y señores, tenemos a un genio

  • @milanesavanni
    @milanesavanni Год назад

    Yo lo llegué a pensar, Alva me lo acaba de confirmar. Es que tiene sentido si son montonazo de calculos por objeto en cada posición XYZ y si encima son modelos con muchos childs es peor.

  • @Eds.salazar
    @Eds.salazar Год назад +5

    Como te decimos....

  • @nikolateslita
    @nikolateslita Год назад +3

    Esto sucede por que reduces el número de rutas de accesos de datos.

  • @daleodorito
    @daleodorito 10 месяцев назад

    Ahora que me he metido en untiy, si Unity sabe que esto pasa, que lo sabe; porque no crea un nuevo tipo de gameObject que sea simplemente "carpeta" y que no tenga ninguna función en la jerarquia salvo organizar los objetos? Es decir, que no afecte a ningún atributo de ninguna forma y no tenga que calcular nada, y solo sea una forma de mostrarlo en la jerarquia

  • @LuciferCreator
    @LuciferCreator Год назад

    Claro, porque carga cada agrupación por grupo, entonces le cuesta menos si carga 1x1 en lugar de todo del tiron

  • @elmaurizio7890
    @elmaurizio7890 Год назад +91

    Pero tu juego tiene polimorfismo?

    • @MachineCodes
      @MachineCodes Год назад +5

      JSJSJJSJSJSJS

    • @Distoupia
      @Distoupia Год назад +19

      es alva, no lo tiene xdd

    • @carlogustavovalenzuelazepe5774
      @carlogustavovalenzuelazepe5774 Год назад

      ​@@Distoupia es mal programador el alva?

    • @pablocontreras3826
      @pablocontreras3826 Год назад +15

      @@carlogustavovalenzuelazepe5774 No necesariamente, pero la gente que es autodidacta, o que estudió la carrera de videojuegos, a veces peca de tener menos conocimientos de algunos aspectos teóricos de la programación, como eficiencias, memorias, etc… (Que siéndote 100% honesto no es de vida o muerte que te sepas los bits exactos que ocupas
      en una estructura)

    • @YusufSalahAdDin
      @YusufSalahAdDin Год назад +5

      ​@@pablocontreras3826 pues yo soy programador y no sabía nada de ésto.

  • @soukai
    @soukai Год назад +1

    Serà por que cada instancia a esos objetos carga en memoria los recursos en lugar de solo cuando es necesario o una para todos?

  • @DanielRamirez-nf4gv
    @DanielRamirez-nf4gv Год назад

    Entonces ¿si hago un mapa me conviene más hacerlo en partes y suelto que mantenerlo todo dentro del objeto mapa?

  • @rodriguezomar504
    @rodriguezomar504 9 месяцев назад

    Si es real XD
    Tengo una escena todo organizado y otra que nunca organice y tiene mucho mas objetos y va mas fluida que la organizada.

  • @Karurosagu
    @Karurosagu Год назад

    Normal, la herencia consume

  • @hannahycleo
    @hannahycleo Год назад

    Alva Majo = genio

  • @alfombracitario
    @alfombracitario Год назад

    Con razon que mi juego desordenado internamente corre epico

  • @PorroYMonster
    @PorroYMonster Год назад

    por si a alguien le sirve yo divido el juego en 3 carpetas "_Scene", "_Enviorment" (solo estaticos), "_Gameplay" (solo dinamicos). eso soluciona el problema de este hombre.

    • @PorroYMonster
      @PorroYMonster Год назад

      en _Scene estan las luces camaras timelines etc

  • @Sotheridoc
    @Sotheridoc Год назад

    A ver, tiene todo el sentido del mundo.

  • @ScorgeRudess
    @ScorgeRudess 9 месяцев назад +1

    Claro que consume, Unity usa una logica de compactacion de entidades, cada que tienes objetos dentro de objetos... para explicarme mejor usaré una analogía: no es 1 a 1 evidentemente pero imagina que cada objeto en unity es un ZIP... si tu estas comprimiendo cosas y las metes dentro de otras cosas comprimidas, cada que quieras usar algun objeto tienes que "descomprmir" el doble para acceder a el objeto que esté mas "enterrado en el arbol de objetos"... no es tan bestia evidentemente como usar ZIPs y tecnicamente lo que hace no es descomprimir... pero el motor esta hecho de esta manera, "arreglar esto" involucraría rehacer una buena parte del motor, y no es viable para la empresa supongo. pero si, entre menos niveles uses en tu arbol de GameObjects mejor irá el juego. No es que desempaquete cosas como tal, pero recuerda que cada anidado tiene propiedades de transformación, posicion, rotacion, escala, y otras cosas que no estan a simple vista y recursivamente tiene sumarlas al padre, y tiene que hacer todos estos calculos para cada gameobject anidado, evidentemente si tienes 1000 arboles con 40 hojas cada uno, pues ahi te encargo... y si encima esos arboles los tienes en otro gameobject que es como la isla o asi, pues bien lo llevas ahi xD. aunque te diré que esto no es un "error" exclusivo de unity, godot y muchos otros tambien sufre este problema, es que es sencillamente inherente de como funcionan las relaciones padre hijo cuando tienen datos que tienen que acumularse. que se podria solucionar usando pivotes globales y cosas asi? si.. pero nadie lo hara por que es inviable programarlo

  • @jota5044
    @jota5044 Год назад

    Tal vez en tiempo de compilacion para produccion se realizan estas optimizaciones de accesos a recursos perezosos?

  • @johndoremi3872
    @johndoremi3872 Год назад +1

    Buenas , quiero automatizar tareas en unity , por ejemplo cada vez que agrego un sprite , tengo que hacer: Ir al inspector seleccionar Multiple, point , apply . como puedo automatizar esa tarea que es repetitiva? gRACIAS DE aNTEMANO!!

  • @AngelTorres-sh5ou
    @AngelTorres-sh5ou Год назад

    Y porque no unir todos los modelos estáticos para formar uno solo?, si no se va a mover, no necesita estar en partes, no?

  • @Yanfei-gg4mm
    @Yanfei-gg4mm 28 дней назад

    Alva Majo hace juegos terribles pero le apasiona el tema, deberia ser maestro

  • @SrHumanoid
    @SrHumanoid Год назад +1

    Tengo entendido que en Unity cuándo mueves un objeto se mueven todos los objetos que están adentro ¿Quizás eso provoque el lag?

    • @SrHumanoid
      @SrHumanoid Год назад

      La verdad no uso Unity así que no me tomen en serio si estoy mal.

  • @caringnickel2403
    @caringnickel2403 Год назад

    No es porque al meter todo en island assets una vez que se cargue uno de los objetos se carguen todos juntos?

  • @criptomonedasconmarshall7869
    @criptomonedasconmarshall7869 Год назад

    Alga mallo contandonos sus problemas

  • @TheSantosManu
    @TheSantosManu 8 месяцев назад

    No se exactamente que es eso en unity.
    Pero si tu lo haces así parece ser un array de objetos, entonces para cada uno de esos objetos se cargarán todos en memoria. Entiendo que si unity tiene un garbage collector y quiere liberar memoria se lo estás impidiendo ya que si no va a utilizar uno de esos assets de la pila no puede eliminar la referencia si alguna de sus partes se está usando.

  • @onarres87
    @onarres87 Год назад

    Mi amigo, te molesto con una consulta... en el propio Unity no se ve el boton Play, Stop... están pero en negro... y en ocasionen, cuando en un script pongo un bool publico, a veces se ve como tildar y en otras ocasionen no... como que esta pero no se ve... o sea... se ve el nombre pero no el recuadro para tildar... en todo lo que te comento hablo del entorno Unity... el play para compilar, el stop/pause... el check bool publico que uno pone en C# y que despues uno lo puede usar en el entorno de unity para habilitar o deshabilitar cocosas... sera que mi maquina es poco potente y hay errores por ese motivo? Formatie e instale distintos sistemas operativos (windows 11, 7 y 10) y al instalar Unity pasa exactamente lo mismo... que podria ser?

    • @onarres87
      @onarres87 Год назад

      Al final era una tonteria... w10 de mi notebook estaba en ahorrar energia... lo cambie para que priorice el maximo rendimiento y no se me apagó mas

  • @alec_almartson
    @alec_almartson Год назад +4

    Es verdad: Las Físicas de COLLIDERS y Rigidbodies de Unity3D disparan unos picos de procesamiento de CPU cada vez que tienes objetos 2D o 3D con otros objetos anidados.
    Razón: Unity recalcula las Transforms de todo objeto hermano y ancestro en la jerarquía, incluso cuando es innecesario (para evitar Bugs).

  • @THRUST115
    @THRUST115 Год назад

    Mi papá también consume

  • @LUISOOF
    @LUISOOF 8 месяцев назад

    Osea que en vez de llevar mis cuadernos en mi bolso los llevo todos en mis brazos para poder ahorrar energía 🙀

  • @blylzz
    @blylzz Год назад

    Creo que lo que pasa es que se tarda en abrir una carpeta mas.

  • @Rodrigo-fr7ux
    @Rodrigo-fr7ux Год назад +1

    X2 😢

  • @liamacosta2879
    @liamacosta2879 Год назад

    yeey

  • @benitocamelo3620
    @benitocamelo3620 Год назад +2

    Si pero quien usara unity hoy en dia y correr el riesgo de volverse un juego popular?