Ver Mensaje Individual
  #17 (permalink)  
Antiguo 09/02/2015, 15:22
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: [Consulta]Tile Map.¿Mejor std::vector o array?

Cita:
Iniciado por amchacon Ver Mensaje
Es otra opción, pero es ganas de reinventar la rueda *_*
Como dije antes, concuerdo en que hay escenarios donde vector o array serian útiles, pero al menos no para este.

Cita:
Iniciado por amchacon Ver Mensaje
Para liberarte del manejo de memoria, para usar los métodos ya creados en cada clase STL y para reutilizar código ya hecho.
También, puedes no reutilizar todo ese codigo, que te aseguro que mucho no lo utilizara porque es simple mapa en un juego. Incluso le podría dar opción de usar solo C.

Cita:
Iniciado por amchacon Ver Mensaje
Si tienes que usar una Cola. ¿Te haces una class Cola o usas queue? Pues la segunda opción es la más rápida y sencilla.
Ya use la clase queue que hay en std, pero luego te das cuenta que no es threadsafe y terminas implementado la tuya usando un mutex :\ o usando algún queue que sea threadsafe de alguna otra librería.

Cita:
Iniciado por amchacon Ver Mensaje
Ok dejemoslo en casi sin bugs.


Cita:
Iniciado por amchacon Ver Mensaje
Pero eso no cambia nada, yo también podría ponerte ejemplos de juegos hechos en ensamblador. Y no por ello sería la mejor opción a día de hoy, esque si se siguiera ese ejemplo también sería absurdo usar Java o C# *_*
Muchas optimizaciones hoy en día en juegos se hacen en ensamblador. Hacer todo en una abstracción mas alta te lleva al dilema de cuando es mas conveniente uno y otro.

Cita:
Iniciado por amchacon Ver Mensaje
En el stack no hay problema y es lo más sencillo. Pero si lo vas a cargar en el stack esque el mapa no es muy grande que digamos.
Puedes ajusta el tamaño del stack. Incluso si no quieres que ocupe espacio en el stack, lo puedes poner como static. Después de todo lo vas estar pasando entre varias funciones.

Cita:
Iniciado por amchacon Ver Mensaje
A partir de 100.000 elementos yo ya pienso en pasar cosas al heap, así no corro riesgo de desbordar la pila. Y con el uso de las STL me libero de la tarea de administrarla.
100,000 elementos es muy arbitrario. 100,000 bytes (100Kb) no es lo mismo que 100,000 uint64 (800Kb) o tal vez una estructura mas grande.

Lo cual es muy poca ram considerando que una computadora de escritorio actual 1GB de ram es un chiste.