Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: TheAzazel en 22 de Julio de 2005, 09:57:42 PM

Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 22 de Julio de 2005, 09:57:42 PM
 Hola!

Estoy estudiando la estabilidad y compatibilidad de glSDL para SDL para incorporarlo a CRM32Pro.
Si no has leido nada sobre ello te cuento a grosso modo sus ventajas:
->Aceleracion OpenGL 2D usando el mismo codigo que ya tengas escrito (tienes que seguir unas pocas directrices)
->Bastante mas rapido que usar DirectX.
->Aceleracion hardware hasta en ventana! hasta ahora era imposible!
->Y lo mejor...soporte por hardware del bendito alpha!! :)

Me gustaria que lo probara el mayor numero de personas, asi de paso hecho un cable a Stephane Marchesin y David Olofson
que estan en fase de pruebas. De momento, podeis postear aqui los resultados e indicar si todo fue correcto o dio algun error.

El enlace de descarga: http://www.megastormsystems.com/download/g...glSDL-Bench.rar

Gracias!!


Para empezar, dejo mi equipo de desarrollo principal:

· AMD Athlon™ XP 3000+ (x86 Family 6 Model 10 Stepping 0)
· CPU Speed: 2104 Mhz
· System memory total/available: 1023Mb / 602Mb
· ATI Technologies Inc. - RADEON 9800 Pro x86/MMX/3DNow!/SSE - 1.5.4776 WinXP Release

· Screen resolution 800x600x32bits

                    |   Fullscreen      |   Full+doublebuf   |
 ------------------------------------------------------------|
   DirectX      |                         |                             |
 ( 100/1000)|   860 /   125     |     873 /   120      |
   sprites      |                         |                            |
 ------------------------------------------------------------|
   OpenGL    |                         |                            |
 ( 100/1000)|  1524 /   307    |    1138 /   282    |
   sprites      |                         |                            |
 -----------------------------------------------------------|

Título: Voluntarios Para Probar Este Benchmark
Publicado por: _Grey en 22 de Julio de 2005, 10:34:00 PM
  · AMD Athlon(tm) 64 Processor 3000+ (x86 Family 15 Model 4 Stepping 8)
· CPU Speed: 2002 Mhz
· System memory total/available: 1022Mb / 643Mb
· ATI Technologies Inc. - RADEON 9800 x86/MMX/3DNow!/SSE2 - 2.0.5147 WinXP Release

· Screen resolution 800x600x32bits

           |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|  1095 /   155  |      85 /    85    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|  1920 /   400  |    1454 /   363    |
   sprites  |                |                    |
 -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Malandrin en 22 de Julio de 2005, 10:37:16 PM
 
· AMD Athlon(tm) Processor (x86 Family 6 Model 4 Stepping 2)
· CPU Speed: 1002 Mhz
· System memory total/available: 895Mb / 580Mb
· NVIDIA Corporation - GeForce2 MX/PCI/3DNOW! - 1.5.0

            |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|   413 /    62  |      56 /    55    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|   208 /    29  |      60 /    20    |
   sprites  |                |                    |
 -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 22 de Julio de 2005, 10:57:54 PM
 
· Intel(R) Pentium(R) D CPU 3.00GHz D CPU 3.00GHz (x86 Family 15 Model 4 Stepping 4)
· CPU Speed: 2992 Mhz
· System memory total/available: 1022Mb / 699Mb
· NVIDIA Corporation - GeForce 6800/PCI/SSE2 - 2.0.0

            |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|  1425 /   144  |    1133 /   143    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|  3157 /   676  |    3046 /   656    |
   sprites  |                |                    |
 -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: [EX3] en 22 de Julio de 2005, 11:13:04 PM
 
Citar· AMD Athlon™ XP 1800+ (x86 Family 6 Model 6 Stepping 2)
· CPU Speed: 1533 Mhz
· System memory total/available: 255Mb / 76Mb
· NVIDIA Corporation - GeForce3/AGP/SSE/3DNOW! - 1.5.3

             |   Fullscreen   |   Full+doublebuf   |
  -------------------------------------------------|
    DirectX  |                |                    |
  ( 100/1000)|   614 /   101  |      81 /    82    |
    sprites  |                |                    |
  -------------------------------------------------|
    OpenGL   |                |                    |
  ( 100/1000)|   219 /    65  |      60 /    59    |
    sprites  |                |                    |
  -------------------------------------------------|
Curioso, me va mas rapido con DirectX que con OpenGL. Por cierto, un detalle a remarcar, creo que era con OpenGL, que me parpadeaban varias zonas de la pantalla y la barra azull no se veia (no se si tenia que verse con OpenGL)

Salu2...
Título: Voluntarios Para Probar Este Benchmark
Publicado por: AgeR en 22 de Julio de 2005, 11:26:45 PM
 · AMD Athlon™ XP 2800+ (x86 Family 6 Model 10 Stepping 0)
· CPU Speed: 2079 Mhz
· System memory total/available: 511Mb / 116Mb
· NVIDIA Corporation - GeForce4 MX 420/AGP/SSE/3DNOW! - 1.5.2

· Screen resolution 800x600x32bits

|   Fullscreen   |   Full+doublebuf   |
-------------------------------------------------|
 DirectX  |                |                    |
( 100/1000)|   401 /    60  |      83 /    42    |
 sprites  |                |                    |
-------------------------------------------------|
 OpenGL   |                |                    |
( 100/1000)|   262 /    35  |      60 /    30    |
 sprites  |                |                    |
-------------------------------------------------|


Las pruebas 3,4,7 y 8 flikean que da gusto. Igual es normal, no he mirado detenidamente el log.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: ShAq en 23 de Julio de 2005, 12:22:55 AM
 
Citar
· AMD Athlon™ XP 2800+ (x86 Family 6 Model 10 Stepping 0)
· CPU Speed: 2079 Mhz
· System memory total/available: 1023Mb / 410Mb
· ATI Technologies Inc. - RADEON 9800 Pro x86/MMX/3DNow!/SSE - 1.5.4707 WinXP Release


             |   Fullscreen   |   Full+doublebuf   |
  -------------------------------------------------|
    DirectX  |                |                    |
  ( 100/1000)|  1031 /   150  |      74 /    73    |
    sprites  |                |                    |
  -------------------------------------------------|
    OpenGL   |                |                    |
  ( 100/1000)|  1788 /   366  |    1384 /   340    |
    sprites  |                |                    |
  -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Sacrifai en 23 de Julio de 2005, 12:41:57 AM
 No os riais XDD

Citar· AMD Athlon™ XP 1600+ (x86 Family 6 Model 6 Stepping 2)
· CPU Speed: 1400 Mhz
· System memory total/available: 1023Mb / 495Mb
· ATI Technologies Inc. - RADEON 9600 x86/MMX/3DNow!/SSE - 1.5.4830 WinXP Release
· Screen resolution 800x600x32bits

             |   Fullscreen   |   Full+doublebuf   |
  -------------------------------------------------|
    DirectX  |                |                    |
  ( 100/1000)|   636 /   100  |      84 /    78    |
    sprites  |                |                    |
  -------------------------------------------------|
    OpenGL   |                |                    |
  ( 100/1000)|   686 /   131  |     490 /   132    |
    sprites  |                |                    |
  -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 01:44:27 AM
 he creado un test propio con c-sharp y directx para probar si es cierto que opengl es mas rapido que directx (nunca me he fiado jeje) y mi sorpresa que con mi test con 100 conejos me da 4422 y con 1000 conejos me da 978, mucho mas que en opengl con el test de esta gente, si quereis probar el test podeis descargar el exe y todo el codigo fuente en esta direccion http://www.davidib.com/test/testdirectx.rar, me gustaria que lo probarais y me dijerais que test os da mas velocidad, recordar que teneis que tener instalado el netframework 2.0
Título: Voluntarios Para Probar Este Benchmark
Publicado por: jazcks en 23 de Julio de 2005, 11:19:49 AM
 
· Intel(R) Pentium(R) 4 CPU 2.40GHz 4 CPU 2.40GHz (x86 Family 15 Model 2 Stepping 9)
· CPU Speed: 2405 Mhz
· System memory total/available: 1022Mb / 650Mb
· NVIDIA Corporation - GeForce FX 5200/AGP/SSE2 - 2.0.0

· Screen resolution 800x600x32bits
           |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|   283 /    62  |      74 /    37    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|   374 /    49  |      60 /    30    |
   sprites  |                |                    |
 -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 11:43:22 AM
 Lo del parpadeo es normal, quizas deberia haberlo dicho antes.... vereis, los test "fullscreen" no utilizan doublebuffer y por tanto...parpadean como demonios, pero solo es para probar si afecta mucho al rendimiento. Cuando sale la barrita azul llendo de un lado a otro, significa que el modo doublebuffer se ha activado. Hay 8 test, los 4 primeros son de DirectDraw(quizas en vez de poner DirectX, deberia haber puesto DirectDraw...) y otros 4 de glSDL. Por otro lado, los 2 primeros de cada bloque...utilizan doublebuffer, por si lo que no veis la barrita azul...algo ha pasado...en cuyo caso... me podeis mandar el log entero a ver que ha pasao y q se ha activado y que no?

Os cuento uno a uno:

@Grey: suena a que en DirectX tienes activado el Vsync y por eso no te pasa de los 85fps que sera tu refresco.

@EX3: ya lo puse arriba..me puedes mandar el log entero? suena q problemas con tu tarjeta...

@Ager: efectivamente, esas pruebas no tienen doublebuf y ademas, se vuelva todo segun se va terminando, sin tener en cuenta ningun retrazo ni leches :). Esos numeros tan cuadraos de 60 y 30 me suenan tambien a que tienes activado el vsync

@jazcks: creo que tambien tienes activado el Vsync para modos opengl, de hay que te de esos 60/30fps tan raros y clavaos...

@zupervaca: voy a probar tu test. Me imagino que te referiras a que utiliza Direct3D no? por DirectDraw esos fps que dices...es completamente anormal a no ser que me equivoque... tengo un test por ahi q me insipiro donde usaban direct3d y era ligeramente mas lento q glSDL. Me interesa llegar al fondo de este asunto a ver.... . De todos modos, las pruebas que hemos hecho todos aqui, no son ni DirectDraw puro(tiene un poquito de sobrecarga por ser un backend SDL) ni opengl puro(tb tiene un poquito mas de sobrecarga por ser un backend de SDL), lo que creia que esa carga era minima. A ver que mire lo tuyo...contestame a esto vale?


Bueno, he de suponer que a ninguno os ha dado ningun problema no? eso es casi lo mas importante... entre que vaya un poquito mas lento no pasaria mucho... lo interesante es que dispondremos de alpha por hardware "for free" y que encima es multiplataforma.
Otro detalle importante asi mirando todo de momento por encima es que las ATI parecen funcionar mejor que las Nvidia... q extraño eh?

Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 12:02:16 PM
 
Citar· Intel(R) Pentium(R) D CPU 3.00GHz D CPU 3.00GHz (x86 Family 15 Model 4 Stepping 4)
· CPU Speed: 2992 Mhz
· System memory total/available: 1022Mb / 699Mb
· NVIDIA Corporation - GeForce 6800/PCI/SSE2 - 2.0.0

           |   Fullscreen   |   Full+doublebuf   |
-------------------------------------------------|
  DirectX  |                |                    |
( 100/1000)|  1425 /   144  |    1133 /   143    |
  sprites  |                |                    |
-------------------------------------------------|
  OpenGL   |                |                    |
( 100/1000)|  3157 /   676  |    3046 /   656    |
  sprites  |                |                    |
-------------------------------------------------|

este fue mi resultado con el test de sdl como indico mas arriba y con mi test me dio con 100 conejos 4000 y pico fps y con me 1000 conejos fue 900 y pico fps, uso direct3d ya que directdraw no se utiliza y es que esta obsoleto y hace años que no actualizan nada de sus objetos com, un ejemplo seria como comparar un render en ms-dos contra uno en windows, con el ordenador que tengo podria sacar muchas mas fps si optimizara el render con puntos de sprites pero no queria hacerlo ya que no se sabe como esta programado el test en sdl, no obstante tienes el codigo de mi test en el archivo de descarga con lo que puedes modificar o ver cualquier cosa de el, no obstante me alegro de que se meta en el sdl render por hardware aunque yo no lo use  ;), si se usa directdraw seria mejor que se especificara ya que crea mucha confusion, sobre todo  con gente como yo que somos muy detallistas  :lol:

venga un saludo y que haiga suerte con sdl y la pasada a hard

pd: a mi no me dio ningun fallo, lo unico que tuve que desactivar el vsync desde la tarjeta
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 12:13:17 PM
 zupervaca.... lo de directx y directdraw para la gente de SDL no tiene importancia pq ya sabemos que va por ddraw jejeje, pero, lo voy a cambiar, porque creo q como te ha pasado a ti, podria desprenderse que es direct3d y no es asi.

tu que eres un tio con suerte y tienes un dual core.... podrias ver(deja abierto el task manager por ejemplo) cuanto carga mas o menos asi de media, tanto tu test como el mio? no vaya a ser que tambien tu soft utilice el multithreading...

de todos modos, voy a ver tu test(tengo q bajarme la cosa esa de net2? me cawen! no se cual tendre el 1.x creo jeje) porque puede que no lo hagamos igual... y te voy a pasar un enlace a otro test q utiliza d3d y da mucho menos que glSDL-bench... algo raro pasa, contestame cdo puedas a esto y muchas gracias!!!

PD: cuando  cuelgue glSDL-Bench en la web, ira todo el codigo fuente y proyecto....q se me habia olvidao decirlo :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 12:53:42 PM
 No me funciona tu test...me salta el depurador :S con la resolucion del escritorio a 800x600 y todo negro...sale el relojito de estar pensando pero na mas... :S
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 01:18:42 PM
 tienes que tener el net framework 2.0 beta y las ultimas directx instaladas, para ello puedes descargar el visual c# y el sdk de directx, para gente que anda con ello no importa mucho pero si no andas con ello buff  :huh:

el dual core no se utiliza ya que para ello tendria que crear otro hilo mas

saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: _Grey en 23 de Julio de 2005, 01:20:37 PM
 
Citar@Grey: suena a que en DirectX tienes activado el Vsync y por eso no te pasa de los 85fps que sera tu refresco.

Que fallo, ni me de cuenta....

            |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|  1096 /   155  |    1096 /   155    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|  1863 /   401  |    1448 /   370    |
   sprites  |                |                    |
 -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 01:25:00 PM
 perdona se me olvido poner los links para que descargaras todo y no me deja editar el anterior post:

para el visual c-sharp (este te baja el netframework 2.0 y te lo instala): http://lab.msdn.microsoft.com/express/vcsh...rp/default.aspx

para las ultimas directx: http://www.microsoft.com/downloads/details...en&Hash=D6D34S4

saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 02:44:03 PM
 Tengo el .Net Frameworks 2.0 Beta 2...
Antes tenia el 1.1 y me decia,al igual q tu tileador q probre, que necesitaba la 2.0 y asi hice, desinstale una y puse la otra, ahroa ya no se quejan de ese error, tu tileador funciona :) pero el test de velocidad tuyo se queda pantalla en negro, relojito y al hacer un CTRL+TAB veo q hay un "Depuracion Just-in-time". Mu raro, no se pq sera :S
Lo de los hilos..te lo preguntaba por si acaso, las direct3d utilizan de alguna pequeña manera optimizaciones multihilo..como existe el hyperthreading desde hace años... quien sabe si no habran metio algo por ahi.... por eso te dije si podias comprobar con el taskmanager y luego ver  mas o menos la carga entre los dos cores...si uno esta ocioso entoes nada...pero si el otro esta dandole a la pastilla... jeje

He visto que algo que penaliza mucho es un SDL_FillRect() para poner todo a negro en cada frame... voy a ver internamente ocmo lo hacen pq opengl seguro q tiene algun metodo de hacer esto a toda pastilla!!!

hasta las proximas noticias :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: [EX3] en 23 de Julio de 2005, 03:11:22 PM
 
Cita de: "TheAzazel"@EX3: ya lo puse arriba..me puedes mandar el log entero? suena q problemas con tu tarjeta...
Por supuesto, aqui lo tienes:
------------------------------------------------------------------------------
| glSDL-Benchmark v0.9 - SDL video benchmark using DirectX and glSDL backend |
------------------------------------------------------------------------------
|                                                                            |
| - Roberto Prieto - megastorm@mi.madritel.es                                |
| - MegaStorm Systems (c) 2005 - http://www.megastormsystems.com             |
| - Using SDL 1.2 experimental (SDL 1.2.9 CVS and glSDL backend)             |
| - Special greetings to Sam Latinga, David Olofson and Sthephane Marchesin  |
|                                                                            |
------------------------------------------------------------------------------

· AMD Athlon(tm) XP 1800+ (x86 Family 6 Model 6 Stepping 2)
· CPU Speed: 1533 Mhz
· System memory total/available: 255Mb / 76Mb
· NVIDIA Corporation - GeForce3/AGP/SSE/3DNOW! - 1.5.3

· Screen resolution 800x600x32bits

· Test 1 using 'directx' engine.
 -> Number of sprites: 100
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Screen has double-buffering enabled
 -> Sprite is in video memory
 -> Sprite blit uses hardware acceleration
 -> 81.60 frames per second

· Test 2 using 'directx' engine.
 -> Number of sprites: 1000
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Screen has double-buffering enabled
 -> Sprite is in video memory
 -> Sprite blit uses hardware acceleration
 -> 82.08 frames per second

· Test 3 using 'directx' engine.
 -> Number of sprites: 100
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Sprite is in video memory
 -> Sprite blit uses hardware acceleration
 -> 614.82 frames per second

· Test 4 using 'directx' engine.
 -> Number of sprites: 1000
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Sprite is in video memory
 -> Sprite blit uses hardware acceleration
 -> 101.17 frames per second

· Test 5 using 'glSDL' engine.
 -> Number of sprites: 100
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Screen has double-buffering enabled
 -> Sprite is in video memory
 -> 60.29 frames per second

· Test 6 using 'glSDL' engine.
 -> Number of sprites: 1000
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Screen has double-buffering enabled
 -> Sprite is in video memory
 -> 59.22 frames per second

· Test 7 using 'glSDL' engine.
 -> Number of sprites: 100
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Sprite is in video memory
 -> 219.80 frames per second

· Test 8 using 'glSDL' engine.
 -> Number of sprites: 1000
 -> Screen is at 32 bits per pixel
 -> Screen is in video memory
 -> Sprite is in video memory
 -> 65.81 frames per second


            |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|   614 /   101  |      81 /    82    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|   219 /    65  |      60 /    59    |
   sprites  |                |                    |
 -------------------------------------------------|

· End of execution

Salu2...
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 03:27:39 PM
 es raro, tengo tres ordenadores y en los tres me va bien y estos son muy diferentes, eso si, tuve que instalar el ultimo sdk de directx tambien, estaria bien que alguien mas probara a ver si le funciona o no

en el SDL_FillRect() estoy seguro que hacen una llamada al gdi de toda la vida de windows y eso peta muchisimo
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 03:36:09 PM
 joer, si te funciona en 3...me da q va a ser algo con el mio...he actualizado los drivers de la grafica q eran los catalyst 4.12 y me he puesto los 5.6 y pasa lo mismo...voy a meterlo al resto de equipos q tengo por aqui a ver.

sobre el SDL_fillrect()... no creo q haga eso..seria LENTISIMO jeje, voy a ver como lo hace y si no lo veo muy bien , se lo digo a los q han hecho glSDL q lo echen un ojo.. si puedo, hasta hago un patch je.

a ver si lo prueba alguien mas por ahi...
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 04:04:42 PM
 aqui estan los ultimos redistribuibles de directx9c por si no quieres meter el sdk completo:

http://www.microsoft.com/downloads/details...en&Hash=D6D34S4

me imagino que el problema sera este aunque no estoy seguro

saludos

pd: 34mb!!!! pa llorar
pd2: en mi web estan los dos redistribuibles que hacen faltan para que funcionen todo lo de c-sharp y directx managed
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 04:34:43 PM
 Me baje el dx9c ese...aunq yo juraria q ya lo tenia puesto... el caso es q ni siquiera instalo nada..tardo poquisimo! solo digo : "updating components" y en un plis termino... pense q no habia hecho nada pero.. ahora si funciona, asik aunq no instalara muchas cosas...algo si actualizo....

pos mira, te cuento dos cosillas, la primera mira la imagen:
(http://www.megastormsystems.com/download/konejos_locos.jpg)

me aparecen los conejos recortados abajo y a la derecha, si es normal q pase eso.. nop! pq hay hara un clip de un monton de conejos y no los pintara :), cuando calculas las coordenadas del rebote...ponle como condicion con la parte drecha e inferior... el ancho/alto de pantalla mas el ancho/alto del konejo.

y lo segundo...me da pikos de 450fps y en ventana se mantiene a 350 mas o menos que esta mas en consonancia con lo que obtenia con otro test por ahi de d3d en modo2d... tu pc es mas potente que el mio pero.... mas de 8 veces mas potente?? algo sucede con los konejos lokos jejeje

ah, lo compilaria yo mismo pero tengo el net 2003 y tu creo q has usado el 2005 express verdad? el perro no me lee los proyectos :S

dime algo q esto esta interesante :) MODO FREAKY ON

PD: con tanto conejo..seguro q hay algun fan de los monty..."¿como detras del conejo? NO NO, el conejo!!"
jajaja
(uoh)

PD2: acabo de ver esto en tu code:

if ((uint)Position.X > 800-32) Dir.X *= -1;
if ((uint)Position.Y > 600-32) Dir.Y *= -1;

luego q esta pasando pues??
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 04:42:24 PM
 Y para los OpenGl-eros...asi es como hace un SDL_FillRect() cuando utilizas glSDL:


 dx1 = dstrect->x;
 dy1 = dstrect->y;
 dx2 = dx1 + dstrect->w;
 dy2 = dy1 + dstrect->h;
 
 this->glBegin(GL_TRIANGLE_FAN);
 this->glColor3ub(br, bg, bb);
 this->glVertex2i(dx1, dy1);
 this->glVertex2i(dx2, dy1);
 this->glVertex2i(dx2, dy2);
 this->glVertex2i(dx1, dy2);
 this->glEnd();


y probe a hacer un glClearColor() y despues un glClear() y es bastante mas lento... luego parece que por lo que he mirado por el google y demas.. glSDL ya incorpora una forma muy optima de rellenar una textura con un color... y he mirado y quizas sea la forma mas rapida...alguna makina por ahi sabe algo mejor?

Unas pruebas rapidas sobre el SDL_FillRect():
Citar
- Sin Fill:                          2658 FPS
- Con glClear:                 1271 FPS
- Con metodo de arriba: 1508 FPS

weno, pos de momento..asi estan las cosas :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: _Grey en 23 de Julio de 2005, 04:48:34 PM
 
Citary probe a hacer un glClearColor() y despues un glClear() y es bastante mas lento... luego parece que por lo que he mirado por el google y demas.. glSDL ya incorpora una forma muy optima de rellenar una textura con un color... y he mirado y quizas sea la forma mas rapida...alguna makina por ahi sabe algo mejor?

Pues me llama la atención, no me habría extrañado nada que lo hicieran por soft y se quedaran tan anchos.

Lo mejor es no limpiar el buffer de color, el zbuffer y el stencil buffer puede ser combeniente limpiarlos si se usan, pero el de color no, mas que nada por que en un juego "normal" se repinta todo el gráfico aunque sea solo por las imágenes de fondo.

Saludos.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 04:51:42 PM
Cita de: "_Grey"
Citary probe a hacer un glClearColor() y despues un glClear() y es bastante mas lento... luego parece que por lo que he mirado por el google y demas.. glSDL ya incorpora una forma muy optima de rellenar una textura con un color... y he mirado y quizas sea la forma mas rapida...alguna makina por ahi sabe algo mejor?

Pues me llama la atención, no me habría extrañado nada que lo hicieran por soft y se quedaran tan anchos.

Lo mejor es no limpiar el buffer de color, el zbuffer y el stencil buffer puede ser combeniente limpiarlos si se usan, pero el de color no, mas que nada por que en un juego "normal" se repinta todo el gráfico aunque sea solo por las imágenes de fondo.

Saludos.
Llevan varios años con glSDL asi que en general esta bastante bien... lo unico que queria comprobar es estabilidad y funcionamiento en varios equipos y gracias a vosotros... lo estoy haciendo :).

sip, lo de limpiar todo el buffer aqui porque es un benchmark y se repinta el fondo de negro y luego se dibujan todos los bichos, vamos, q casi tiene un redibujado del doble... luego en un juego por ejemplo... salvo raras excepciones, no llega la cosa a tanto.. pero con esto, estamos probando uno de los casos mas desfavorables... :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 04:55:51 PM
 forma de entender el codigo de rebote es sencillo, cuando un numero con signo (ej: -10) lo pasas a numero sin signo este queda positivo, como el bit mas significativo es el que decide el signo del numero este se vuelve superior a 800 o 600 que es el ancho y alto de la pantalla, esto se hacia mucho cuando todos teniamos un 486 por que a 33mhz teniamos que optimizar todo jeje

si quieres que no hay recorte pon en vez de -32 a -100 y en los aleatorios que salen pon de 0 a 500, de esta manera los tendras todos en pantalla, rebotando como locos

en otro ordenador p3 1200 con una ati 7500 me da 90 fps con los 1000 conejos, osea que con una geforce 6800 que de 50 veces mas es de lo mas normal, a ver si luego lo compilo cambiando las coordenadas para que salgan todos los bichos en pantalla sin que se recorten y ver si es algo de eso, aunque lo mejor es que te bajas el c-sharp ultimo que es un plis y modificas lo que tu quieras

¿como hacen el SDL_FillRect en directx?

saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 05:08:02 PM
 Lo instalare (el visual C# 2005) el martes en el pc del curro, es que si lo meto aqui con el .net 2003 lo mismo se arma el pifostio :)

uhmmm... y en ese PC q tienes con la radeon 7500 q te da 90fps... cuanto te da via ddraw y via gl? seria interesante... pruebalo si quieres ya mejor si haces lo del recorte y lo de q esten todos como lokos :).

anda, q vaya vara te estoy dando :) muchas gracias  (ole)

lo del directx...ahora mismo te lo digo:


LPDIRECTDRAWSURFACE3 dst_surface;
RECT area;
DDBLTFX bltfx;
HRESULT result;

dst_surface = dst->hwdata->dd_writebuf;
area.top    = (LONG)dstrect->y;
area.bottom = (LONG)dstrect->y+dstrect->h;
area.left   = (LONG)dstrect->x;
area.right  = (LONG)dstrect->x+dstrect->w;
bltfx.dwSize = sizeof(bltfx);
bltfx.dwFillColor = color;

result = IDirectDrawSurface3_Blt(dst_surface,
  &area, NULL, NULL, DDBLT_COLORFILL|DDBLT_WAIT, &bltfx);
if ( result == DDERR_SURFACELOST ) {
 IDirectDrawSurface3_Restore(dst_surface);
 result = IDirectDrawSurface3_Blt(dst_surface,
  &area, NULL, NULL, DDBLT_COLORFILL|DDBLT_WAIT, &bltfx);
}
if ( result != DD_OK ) {
 SetDDerror("IDirectDrawSurface3::Blt", result);
 return(-1);
}
return(0);
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 05:16:31 PM
 en el que me da 90fps con 1000 conejos el resultado del test de sdl es este
· Intel(R) Pentium(R) III Mobile CPU      1200MHz (x86 Family 6 Model 11 Stepping 1)
· CPU Speed: 797 Mhz
· System memory total/available: 511Mb / 338Mb
· ATI Technologies Inc. - Radeon 7500 DDR x86/SSE - 1.3.3143 WinXP Release

            |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|   470 /    59  |      60 /    30    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|   355 /    52  |     374 /    55    |
   sprites  |                |                    |
 -------------------------------------------------|


na tu tranki que vara no es, si necesitais mas test los hago  ;)

saludos

editado: loz mhz son inferiores a los del micro ya que es un portatil y esta en modo "no calientes que te quemas" jeje, en principio el micro no importaria mucho ya que se usa para cuatro operaciones de nada en el test de sdl y en el mio

editado2: le quite el vsync que no me di cuenta que estaba puesto
            |   Fullscreen   |   Full+doublebuf   |
 -------------------------------------------------|
   DirectX  |                |                    |
 ( 100/1000)|   469 /    59  |     452 /    59    |
   sprites  |                |                    |
 -------------------------------------------------|
   OpenGL   |                |                    |
 ( 100/1000)|   354 /    51  |     372 /    55    |
   sprites  |                |                    |
 -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Pogacha en 23 de Julio de 2005, 05:19:23 PM
 
Citar
· Intel® Pentium® 4 CPU 2.40GHz 4 CPU 2.40GHz (x86 Family 15 Model 2 Stepping 9)
· CPU Speed: 2394 Mhz // me enganiaron me faltan unos 6 mhz ( me robaron un sega megadrive)
· System memory total/available: 510Mb / 225Mb // dual channel
· ATI Technologies Inc. - RADEON 9800 Pro x86/SSE2 - 2.0.5147 WinXP Release // nueva placa en el laburo

· Screen resolution 800x600x32bits


             |   Fullscreen   |   Full+doublebuf   |
  -------------------------------------------------|
    DirectX  |                |                    |
  ( 100/1000)|   727 /    73  |      60 /    60    |  // aca tengo el vsyn pero no lo pude sacar!!!
    sprites  |                |                    |
  -------------------------------------------------|
    OpenGL   |                |                    |
  ( 100/1000)|  1561 /   344  |    1354 /   335    |
    sprites  |                |                    |
  -------------------------------------------------|
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 07:23:14 PM
 Bueno,

lo he probado en los 3 equipos q tengo en casa, he subido una nueva version, la defintiva, no os preocupes, la diferencia es la salida, ahora lo hace en html que queda mejor y un par de cosillas por ahi, pero nada que afecte al rendimiento.

@zupervaca, he probado a ejecutar estos test del modo que el tuyo(sin barra y saliendose los conejitos) y la diferencia de rendimiento es de un 8% mas o menos, asi que, en los equipos que yo lo he probado, tu version va ligeramente mas rapida(350fps usando D3D y 300fps usando Opengl sobre SDL). Creo que esa dif es minima si se compara con la ventaja que genera... es multiplaforma cuando D3D no lo es :P

Veo que casi todo el mundo tiene ATI...necesitos mas NVIDIA o marcas de 3º...alguno por ahi?? jeje
De todos modos, muchas gracias a todos por postear los resultados.
Volvere dentro de un tiempo con este benchmark ampliado, una vez glSDL este implementado en CRM32Pro, y mostrara render por software normal, por software optimizado de CRM32Pro(si es q gana algo claro) y una optimizacion q tengo en mente para evitar un poco el redibujado...

ahh, mis test:

(http://www.megastormsystems.com/download/testconejos.jpg)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 07:38:32 PM
 he subido una version nueva para que puedas probarlo, a mi evitando el escape por los bordes me ha bajado unas 50fps, entre el test de opengl ya hay menos diferencia, unos 200fps mas o menos, pero los resultados de el test de sdl de directx son muy bajos

con 1000 conejos mi resultado es este:
mi test directx: ~870fps
sdl test directx: ~140fps <-- este resultado es el que mas me preocupa, algo tienen que estar haciendo mal
sdl test opengl: ~670fps

la diferencia entre directx y opengl en tarjetas cutres puede ser importante pero como dices creo que importa mas la multiplataforma, no obstante si sdl va a dar soporte de directx deberian optimizarlo mas que es el dato mas preocupante

saludos

pd: el test sigue en la misma url


editado: he probado el test con 100 conejos:
mi test directx: ~4400fps
sdl test directx: ~1425fps
sdl test opengl: ~3157fps

la diferencia crece bastante, estamos hablando de 1200fps mas vs opengl y ni contar de directx :huh:


editado2: me imagino donde puede estar el problema aunque sin ver el codigo es dar palos de ciego
este codigo
           this.Bob.Begin(SpriteFlags.AlphaBlend);
           for (int i = 0; i < Conejos.GetLength(0); i++)
           {
               Conejos[i].Draw(this.Bob, this.Picture);
           }
           this.Bob.End();

es mucho mas rapido que este
           for (int i = 0; i < Conejos.GetLength(0); i++)
           {
               this.Bob.Begin(SpriteFlags.AlphaBlend);
               Conejos[i].Draw(this.Bob, this.Picture);
               this.Bob.End();
           }

ya que el begin y el end hace cambios de estado, revisa cosas asi, el problema puede ser algo de esto o algo parecido

saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: BeRSeRKeR en 23 de Julio de 2005, 08:00:45 PM
 Si no he entendido mal, en el test de TheAzazel, cuando se refiere a DirectX está hablando de DDraw y no de Direct3D con lo que la diferencia de frame rate entre DX y OpenGL me parece que entra dentro de lo lógico, ¿no?.

Saludos.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 08:05:10 PM
 El codigo directx esta bien... es lento pq es ddraw y eso ya la gente pasan de el... es mucho mas rapido direct3d u opengl en modo 2d que el propio ddraw (salvo tarjetas antiguas).

Justo de eso el que el backend de opengl sea importante(para mi), porque va bastante mas rapido todo y SOPORTA alpha por hardware, cosa q antes, habia que hacerlo por softwarey eso era lentisimmooo. Y no solo alpha por hardware en windows si no en cualquier plataforma q soporte SDL y OpenGL.

En mi equipo las diferencas entre direct3d(tu test) y opengl(mi test) en igualdad de condiciones no son tan grandes como en el tuyo jeje. Va mas rapido direct3d pero como dije en el post anterior..de 350fps baja a 300fps, a lo mejor a otros niveles esta mas desquilibrao o que las geforce6800(q suerte tienes jeje) es una bala en d3d.

el caso es q fijate tu la de conclusiones que hemos sacado :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Pogacha en 23 de Julio de 2005, 08:57:24 PM
 En realidad la diferrencia entre OpenGL y DirectX no importaria para maquinas nuevas si lo que quieres hacer es 2D ... yo me centraria en buscar maquinas viejas con placas de video viejas (4 a 32 mb) sin PS ni nada de eso ahí, si podes comparar DDraw y OpenGL.

Saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 09:00:56 PM
 uhmm...
acabo de probar el ultimo test de zupervaca(1000 conejos con d3d) y me he llevado una sopresa. Mi equipo es el XP3000 con una 9700Pro:

Todos a 800x600x32 con doublebuffer activado.

Direct3d: 261fps modo window
Direct3d: 310fps modo fullscreen(picos, no se si son mantenidos..., no veo el titulo de la ventana jeje)

Opengl: 263fps modo window
Opengl: 290fps modo fullscreen

Luego en mi equipo van parejos!!.

A ver si alguien mas se anima y prueba el test de zupervaca tambien para comparar y asi averiguamos porque el tiene esa diferencia tan grande entre d3d y opengl...sera la geforce6800??

El valor que teneis que comparar de glSDL-Bench contra el de zupervaca esta en la esquina inferior derecha de la tabla, el modo opengl+fullscreen+double buffer.

enga, postear resultados!!  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 09:17:19 PM
 he creado el test que seria para directdraw y efectivamente es la cosa mas lento que ha existido sobre la tierra jaja, aqui os pongo el codigo por si os puede interesar, si alguien quiere el proyecto completo que me lo diga que lo subo, pero no merez ni la pena, a mi me da 150 fps con los 1000 conejos miserables  :P
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX.DirectDraw;
using dib.DirectX;

namespace TestDirectDraw
{
   public partial class Form1 : Form
   {
       public Device device;
       public Surface picture;
       public Surface front, back;
       public Clipper clip;

       private dibFPS FPS = new dibFPS();
       
       private Conejo[] Conejos = new Conejo[1000];

       public class Conejo
       {
           public Point Position;
           public Point Dir;
           public void Draw(Surface back, Surface picture)
           {
               Position.X += Dir.X;
               Position.Y += Dir.Y;
               if (Position.X < 0)
               {
                   Position.X = 0;
                   Dir.X *= -1;
               }
               if (Position.X > 800 - 100)
               {
                   Position.X = 800 - 100;
                   Dir.X *= -1;
               }
               if (Position.Y < 0)
               {
                   Position.Y = 0;
                   Dir.Y *= -1;
               }
               if (Position.Y > 600 - 100)
               {
                   Position.Y = 600 - 100;
                   Dir.Y *= -1;
               }
               back.DrawFast(Position.X, Position.Y, picture, DrawFastFlags.DoNotWait);
           }
       }

       public Form1()
       {
           InitializeComponent();
       }

       private void Form1_Load(object sender, EventArgs e)
       {
           this.FormBorderStyle = FormBorderStyle.None;

           SurfaceDescription sd = new SurfaceDescription();
           this.device = new Device();
           this.device.SetDisplayMode(800, 600, 32, 60, true);
           this.device.SetCooperativeLevel(this, CooperativeLevelFlags.FullscreenExclusive);
           
           sd.SurfaceCaps.PrimarySurface = true;
           sd.BackBufferCount = 1;
           sd.SurfaceCaps.Flip = true;
           sd.SurfaceCaps.Complex = true;
           this.front = new Surface(sd, device);
           sd.Clear();
           
           SurfaceCaps caps = new SurfaceCaps();
           caps.BackBuffer = true;
           this.back = front.GetAttachedSurface(caps);
           this.back.FillColor = Color.White;

           this.clip = new Clipper(this.device);
           this.clip.Window = this;
           this.front.Clipper = clip;

           this.picture = new Surface("../../icon.bmp", sd, this.device);

           Random rand = new Random();
           for (int i = 0; i < Conejos.GetLength(0); i++)
           {
               Conejos[i] = new Conejo();
               Conejos[i].Position = new Point(rand.Next(500), rand.Next(500));
               Conejos[i].Dir = new Point(rand.Next(-4, 4), rand.Next(-4, 4));
               if (Conejos[i].Dir.X == 0 && Conejos[i].Dir.Y == 0)
               {
                   Conejos[i].Dir.X = rand.Next(-4, 4);
                   Conejos[i].Dir.Y = 1;
               }
           }
       }

       public void RenderScene()
       {
           this.back.DrawBox(0, 0, 800, 600);
           for (int i = 0; i < Conejos.GetLength(0); i++)
           {
               Conejos[i].Draw(this.back, this.picture);
           }
           this.front.Flip(back, FlipFlags.NoVSync);
           FPS.CalculateFPS();
       }

       private void Form1_FormClosed(object sender, FormClosedEventArgs e)
       {
           this.device.RestoreDisplayMode();
           string str = "FPS: " + FPS.FPS + " - MAX: " + FPS.MaxFPS;
           MessageBox.Show(str);
       }
   }
}


el codigo puede estar guapo verlo por que las directdraw vienen muy mal documentadas ya que tan obsoletas y lo quitaran en cuestion de poco

saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 09:20:20 PM
 Ponme el ejecutable que me lo descargue.. asi ya queda todo la mar de completo, test de todo tipo y colores... ale, q los conejos lokos se van a hacer famosos al final :).

Asi podre comprobar cuanta sobrecarga tiene SDL cuando usa DDraw :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: BeRSeRKeR en 23 de Julio de 2005, 09:20:26 PM
 Bueno ahí va mi prueba:

· Intel® Pentium® 4 CPU 3.00GHz 4 CPU 3.00GHz (x86 Family 15 Model 2 Stepping 9)
· CPU Speed: 2992 Mhz
· System memory total/available: 1021Mb / 461Mb
· ATI Technologies Inc. - RADEON 9600 XT x86/SSE2 - 2.0.5079 WinXP Release
· Screen resolution 800x600x32bits

Test de TheAzazel:

(http://img330.imageshack.us/img330/2456/bench7ug.jpg)

Test de zupervaca, 214 fps, es decir, ~40 fps de diferencia con respecto a OpenGL.

Saludos.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 09:23:06 PM
Cita de: "Pogacha"En realidad la diferrencia entre OpenGL y DirectX no importaria para maquinas nuevas si lo que quieres hacer es 2D ... yo me centraria en buscar maquinas viejas con placas de video viejas (4 a 32 mb) sin PS ni nada de eso ahí, si podes comparar DDraw y OpenGL.

Saludos
Por lo que he observado en los test...las ATI (la mas antigua probada es la 7500) mueve con opengl todo bastante bien, mas rapido que con ddraw. Todas las demas ATI de modelo superior no hay duda, opengl rulez!

con nvidia la cosa es un poco distinta, la mas antigua probada esa una geforce2mx y es mas rapido el ddraw PERO sin soporte alpha por hardware.

a ver si hay posteos de maquinas mas antiguas.... no habia por hay una pagina donde, los del halflife2, tenian un muestreo de las tarjetas mas disponibles hoy en dia??  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 09:33:04 PM
 bueno lo he subido

test de directdraw: http://www.davidib.com/test/testdirectdraw.rar
test de direct3d: http://www.davidib.com/test/testdirectx.rar

disfrutarlos  :lol:

recordar si quereis que rulen ir a mi pagina y en la primera noticia podeis descargaros los redistribuibles de las directx managed y del framework

editado: se me olvidaba para salir del test de directdraw pulsar alt+f4 y luego se ven los fps
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 09:40:37 PM
 Señor zupervaca...tengo un problema...como veo los fps del test de ddraw? no me deja pasar a modo ventana? (ddraw por hardware solo se permite en fullscreen, asike al pasar a ventana casca...).
Lo puedes compilar(me cago en to, no tener el visualc# pa probar...) que vuelque la salida a un fichero o algo? o dime como lo has visto tu... mientras voy a intentar con el fraps a ver..

PD: jeje, ya he leido tu edit jeje, ya veo los frames ;)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 09:45:28 PM
 
Cita de: "TheAzazel"uhmm...
acabo de probar el ultimo test de zupervaca(1000 conejos con d3d) y me he llevado una sopresa. Mi equipo es el XP3000 con una 9700Pro:

Todos a 800x600x32 con doublebuffer activado.

Direct3d: 261fps modo window
Direct3d: 310fps modo fullscreen(picos, no se si son mantenidos..., no veo el titulo de la ventana jeje)

Opengl: 263fps modo window
Opengl: 290fps modo fullscreen

Luego en mi equipo van parejos!!.

A ver si alguien mas se anima y prueba el test de zupervaca tambien para comparar y asi averiguamos porque el tiene esa diferencia tan grande entre d3d y opengl...sera la geforce6800??

El valor que teneis que comparar de glSDL-Bench contra el de zupervaca esta en la esquina inferior derecha de la tabla, el modo opengl+fullscreen+double buffer.

enga, postear resultados!!
Añado el anterior para que continue... y actualizo datos:

Direct3d: 261fps modo window (test zupervaca)
Direct3d: 310fps modo fullscreen(picos, no se si son mantenidos..., no veo el titulo de la ventana jeje) (test zupervaca)

SDL usando Opengl: 263fps modo window (glSDL-Bench)
SDL usando Opengl: 290fps modo fullscreen (glSDL-Bench)
SDL usando DirectDraw:  115fps modo fullscreen (glSDL-Bench)
DirectDraw:  111fps modo fullscreen (test zupervaca)

Parece que todo eso de .net y demas historias tiene mas sobrecarga para Ddraw que SDL :P

Con el test de BeRSeRKeR se ve que Direct3D puro Vs SDL usando OpenGL le puede sacar a veces un 20% je. De que dependera q a mi me vayan tan parejos??
enga, si alguien ha seguido todo el thread q postee toda la bateria de pruebas a ver... jeje
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 09:45:48 PM
 ya lo he subido de nuevo, ahora lo guarda en un archivo al lado del exe

4 fps no es sobrecarga  ;)  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 23 de Julio de 2005, 09:50:08 PM
Cita de: "zupervaca"ya lo he subido de nuevo, ahora lo guarda en un archivo al lado del exe

4 fps no es sobrecarga  ;)
ya jejeje, pero en relacion a sdl se conoce q mas "sobrecarga" si tiene... aunq da igual, ddraw ya apenas se usa y en opengl/d3d parece q tiene mas sobrecarga SDL que .net jeje.
Nos faltaria probar en OpenGl puro, si alguno tiene ese codigo por ahi... ya sabe, esta tardando :P

zupervaca, a ver si alguien mas postea todos los test jeje

si cierro los ojos, veo conejos jeje O_O  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 23 de Julio de 2005, 10:38:06 PM
 he subido una nueva version del test de directdraw ya que he ganado unos 20fps, el problema de perdida de velocidad en mi test era este:
this.back.DrawBox(0, 0, 800, 600);que si lo cambiamos por estothis.back.ColorFill(Color.Black);la velocidad sube, no obstante puede que en tarjetas viejas no, es cuestion de probar a ver que pasa

y por hoy valio que veo tb conejos por todas partes jeje
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 25 de Julio de 2005, 12:04:08 PM
 alguien ha probado el nuevo test directdraw con ese cambio? me gustaria saber si en tarjetas antiguas se nota algo la velocidad

saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 25 de Julio de 2005, 12:11:29 PM
Cita de: "zupervaca"alguien ha probado el nuevo test directdraw con ese cambio? me gustaria saber si en tarjetas antiguas se nota algo la velocidad

saludos
zupervaca, yo lo probe en mis equipos, la diferencia fue de un 2%... vamos, que ahora se queda clavao los test de SDL usando DDraw a los de .Net usando DDraw :)

a ver si alguien mas por ahi se anima a probar toda la bateria de test...

x cierto, sigo soñando con conejos lokos  rosas...jejeje
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Pogacha en 25 de Julio de 2005, 03:21:29 PM
 La verdad es que me pierdo ... no tengo el framework del .net 2.0, pero si ponen en un post limpio los test que hay que hacer tendrian mas demanda, los que pueda hacer los hago.
Sigo pensando que Ogl para maquinas nuevas es mejor por muchas razones, alpha acelerado, precicion de subpixel, flip sin costo escalamiento y rotación gratis. Ahora en un contexto como SDL donde se busca guardar compatibilidad ...
Pero aun así la prueba de velocidad deberia ser para maquinas viejas con placas viejas ...
Saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 25 de Julio de 2005, 03:30:15 PM
Cita de: "Pogacha"La verdad es que me pierdo ... no tengo el framework del .net 2.0, pero si ponen en un post limpio los test que hay que hacer tendrian mas demanda, los que pueda hacer los hago.
Sigo pensando que Ogl para maquinas nuevas es mejor por muchas razones, alpha acelerado, precicion de subpixel, flip sin costo escalamiento y rotación gratis. Ahora en un contexto como SDL donde se busca guardar compatibilidad ...
Pero aun así la prueba de velocidad deberia ser para maquinas viejas con placas viejas ...
Saludos
Ok, en un rato recompilo todo lo mas importante y pongo los link de descarga a todos los test a realizar y comparamos vale? a ver si asi se anima alguien mas.

Por otro lado...todo lo de rotacion y escalado.. junto con glSDL vienen funciones(aun no he probado) de hacer todo eso y al estar en SDL...ES PORTABLE! asi que de eso, no hay q preocuparse.

Que entiendes tu por maquinas viejas? yo cualquier cosa con un 500Mhz y un TNT es antiguo de narices... pero en eso, deberia de funcionar bien todo esto... aunq yo no dispongo d esos equipos.... a ver si luego alguien con equipos similares se anima y prueba....

hasta dentro de un rato!
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Pogacha en 25 de Julio de 2005, 03:38:23 PM
 
CitarPor otro lado...todo lo de rotacion y escalado.. junto con glSDL vienen funciones(aun no he probado) de hacer todo eso y al estar en SDL...ES PORTABLE! asi que de eso, no hay q preocuparse.
Me referia a que no hay alpha-blending y rotacion / escala por software descente.


CitarQue entiendes tu por maquinas viejas? yo cualquier cosa con un 500Mhz y un TNT es antiguo de narices... pero en eso, deberia de funcionar bien todo esto
No. Es ahí donde DDraw es mas rapido, por lejos, (no se en un TNT pero si en un SIS o placa de video generica de oficina).

Saludos.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 26 de Julio de 2005, 05:00:55 PM
Cita de: "Pogacha"
CitarPor otro lado...todo lo de rotacion y escalado.. junto con glSDL vienen funciones(aun no he probado) de hacer todo eso y al estar en SDL...ES PORTABLE! asi que de eso, no hay q preocuparse.
Me referia a que no hay alpha-blending y rotacion / escala por software descente.


CitarQue entiendes tu por maquinas viejas? yo cualquier cosa con un 500Mhz y un TNT es antiguo de narices... pero en eso, deberia de funcionar bien todo esto
No. Es ahí donde DDraw es mas rapido, por lejos, (no se en un TNT pero si en un SIS o placa de video generica de oficina).

Saludos.
uhmm... respecto a lo primero discrepo.... actualmente SI hay alpha blending, rotacion y escalado por software decente junto con SDL. Muchas partes de su codigo criticas estan escritas(posibilidad de compilado) usando MMX por lo que, son bastante optimas.

Ayer probe en una TNT con un P3 a 450mhz... luego posteo sus resultados pero Opengl gano a ddraw.

Sin embargo, si es cierto que en tarjetas de video maluchas(casi todas las integradas....) va mucho mejor ddraw q opengl o d3d. Sin ir mas lejos, en el test q voy a subir, hay un P4 con la integrada 845G y opengl va lento.

Lee el siguiente post...q ya podremos hacer de forma comoda y clara las pruebas!!!
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 26 de Julio de 2005, 05:07:13 PM
 Al final, haciendo caso a Pogacha y agradeciendo mucho el trabajo de zupervaca. He sacado una nueva version del test...ahora es un todo en uno :).

@zupervaca, he modificado tus fuentes ligeramente: los conejos rebotan justo al borde de la pantalla, ejecucion de 10segundos y devuelve los fps al sistema operativo para poder "capturarlos" con mi soft. El codigo fuente, lo pondre todo junto en la web... pero vamos, q han sido muy pocos cambios y mi primera excursion en C# jeje

Podeis descargar el benchmark aqui: http://www.megastormsystems.com/download/g...glSDL-Bench.rar

lo ejecutais y al final genera un htm con toda la informacion, lo mas importante para colgar por aqui son, vuestros datos del computer y la tabla final donde pone todo resumido.

Para que se puedan ejecutar los test de ddraw y d3d (originales de zupervaca) teneis que descargar lo siguiente:

-DirectX Managed

-.NET Framework 2.0

Ahora ya podemos comparar lo siguientes renderizadores:
SDL usando DDraw, SDL usando OpenGL, SDL usando software, DirectDraw y Direct3D.

Espero vuestros resultados..sobre todo...equipos viejos.
Saludos
Título: Voluntarios Para Probar Este Benchmark
Publicado por: jazcks en 26 de Julio de 2005, 06:21:16 PM
 el pc del curro que es viejete:


· Àû (x86 Family 6 Model 8 Stepping 10)
· CPU Speed: 870 Mhz
· System memory total/available: 511Mb / 284Mb
· NVIDIA Corporation - RIVA TNT2/AGP/SSE - 1.5.2
· Screen resolution 800x600x32bits

(http://usuarios.lycos.es/creaventura/test1.jpg)

en casi todos parpadean, no se si es mi monitor (tiene tiempo de respuesta muy malo), o cosa del test...
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 30 de Julio de 2005, 02:11:45 PM
 Esto.... porque no posteais algun resultadillo????  :blink:  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 30 de Julio de 2005, 02:21:03 PM
 la gente ta mu vaga  <_<  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 30 de Julio de 2005, 02:53:44 PM
Cita de: "zupervaca"la gente ta mu vaga  <_<
pos vaya jeje, con lo bien que quedo luego todo integrado.... weno, me imagino que alguien mas se animara :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Lord Trancos 2 en 30 de Julio de 2005, 03:41:24 PM
 A mi es que me da perro por los requisitos... me da cosa ponerme el .net 2.0 y el DirectX managed ese :P
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 30 de Julio de 2005, 03:48:51 PM
Cita de: "Lord Trancos 2"A mi es que me da perro por los requisitos... me da cosa ponerme el .net 2.0 y el DirectX managed ese :P
Es entendible pero... lo que necesita el net2.0 y directx managed solo son los test directdraw y direct3d puros... que son utilizados para comparar...el resto de test, funciona sin necesidad de actualizar nada...estan basados en sdl asi que... probar puedes :)
Título: Voluntarios Para Probar Este Benchmark
Publicado por: BeRSeRKeR en 30 de Julio de 2005, 03:56:54 PM
 There we go!

(http://img187.imageshack.us/img187/1971/benchresults9tq.jpg)

Saludos.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 30 de Julio de 2005, 04:09:35 PM
 Gracias Berserker :)

creo que va quedando mas que claro que Direct3D en modo puro dibujando sprites 2D es alrededor de un 20% mas rapido que glSDL que teniendo en cuenta que hace muchas cosas de modo interno..no esta nada mal. Y si observa tambien que glSDL es una mejora tremenda sobre SDL usando DDraw.

a ver si hay mas equipos viejos......
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Lord Trancos 2 en 30 de Julio de 2005, 04:11:32 PM
 · Intel® Pentium® 4 CPU 2.40GHz 4 CPU 2.40GHz (x86 Family 15 Model 2 Stepping 7)
· CPU Speed: 2411 Mhz
· System memory total/available: 511Mb / 77Mb
· NVIDIA Corporation - GeForce 6600/AGP/SSE2 - 1.5.2
· Screen resolution 800x600x32bits

SDL using DirectDraw 921.71 151.16 72.95 68.44
SDL using OpenGL 915.36 194.09 58.03 52.83
SDL using software 44.65 5.60 -- --
DirectDraw pure mode -- -- -- It didn´t run
Direct3D pure mode -- -- -- It didn´t run
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Pogacha_Reserva en 30 de Julio de 2005, 05:06:22 PM
 En el ultimo test visible, el alpha estaba mal ...

(http://img186.imageshack.us/img186/6154/testborrar7ii.jpg)

Tengo una savage4 en un pentium 3, a ver si la puedo probar, pero no puedo instalarle el .net así que sera media prueba ...

Saludos.
Título: Voluntarios Para Probar Este Benchmark
Publicado por: zupervaca en 30 de Julio de 2005, 05:22:41 PM
 · Intel® Pentium® III Mobile CPU 1200MHz (x86 Family 6 Model 11 Stepping 1)
· CPU Speed: 797 Mhz
· System memory total/available: 511Mb / 366Mb
· ATI Technologies Inc. - Radeon 7500 DDR x86/SSE - 1.3.3143 WinXP Release
· Screen resolution 800x600x32bits
SDL using DirectDraw 456.91, 59.80, 453.32, 58.35
SDL using OpenGL 357.15, 51.78, 376.48, 55.36
SDL using software 49.33, 7.54
DirectDraw pure mode 56
Direct3D pure mode 59

saludos

pd: es el ordenador mas cutre que tengo, esta claro que las ultimas direct 3d algo hacen que mejora en tarjetas graficas modernas si se pudiera compilar el sdl nuevamente con las ultimas directx puede que la cosa quedara igual o nos llevaramos una sorpresa  
Título: Voluntarios Para Probar Este Benchmark
Publicado por: Lord Trancos 2 en 30 de Julio de 2005, 05:29:17 PM
Cita de: "Lord Trancos 2"· Intel® Pentium® 4 CPU 2.40GHz 4 CPU 2.40GHz (x86 Family 15 Model 2 Stepping 7)
· CPU Speed: 2411 Mhz
· System memory total/available: 511Mb / 77Mb
· NVIDIA Corporation - GeForce 6600/AGP/SSE2 - 1.5.2
· Screen resolution 800x600x32bits

SDL using DirectDraw 921.71 151.16 72.95 68.44
SDL using OpenGL 915.36 194.09 58.03 52.83
SDL using software 44.65 5.60 -- --
DirectDraw pure mode -- -- -- It didn´t run
Direct3D pure mode -- -- -- It didn´t run
He vuelto a ejecutar el test, pero esta vez sin vSync.

SDL using DirectDraw 923.10 152.21 821.11 150.48
SDL using OpenGL 914.09 192.18 1057.90 218.19
SDL using software 42.13 5.55 -- --
DirectDraw pure mode -- -- -- It didn´t run
Direct3D pure mode -- -- -- It didn´t run
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 30 de Julio de 2005, 05:33:33 PM
 El problema es q el DirectX(DDraw) que utiliza SDL es la 5.0, cambiar eso hasta la 7.0 no creo q me mejore mucho pq es DDraw y eso no da mas de si....

Por eso tenia sentido hacer un backend mas rapido que todo eso... el de OpenGL ya veis que funciona bastante bien :). Se que hay algun proyectillo que esta intentando hacer uno sobre D3D pero... como el objetivo principal de SDL es ser multiplataforma...si terminaran un backend usando D3D estaria restringido solo a Windows.... y no se, creo que OpenGL ya cumple con su funcion(es mucho mas rapido que el anticuado DDraw) y multiplataforma... asi que no creo que salga un D3D backend... aunque quien sabe :P

yo tengo un K6-2 400 con una Ati Rage IIc.... voy a intentar correr algun test... aunq de momento se niega jeje. Mas viejo que eso... no creo q haya jejeje
Título: Voluntarios Para Probar Este Benchmark
Publicado por: TheAzazel en 30 de Julio de 2005, 05:36:50 PM
Cita de: "Lord Trancos 2"
Cita de: "Lord Trancos 2"· Intel® Pentium® 4 CPU 2.40GHz 4 CPU 2.40GHz (x86 Family 15 Model 2 Stepping 7)
· CPU Speed: 2411 Mhz
· System memory total/available: 511Mb / 77Mb
· NVIDIA Corporation - GeForce 6600/AGP/SSE2 - 1.5.2
· Screen resolution 800x600x32bits

SDL using DirectDraw 921.71 151.16 72.95 68.44
SDL using OpenGL 915.36 194.09 58.03 52.83
SDL using software 44.65 5.60 -- --
DirectDraw pure mode -- -- -- It didn´t run
Direct3D pure mode -- -- -- It didn´t run
He vuelto a ejecutar el test, pero esta vez sin vSync.

SDL using DirectDraw 923.10 152.21 821.11 150.48
SDL using OpenGL 914.09 192.18 1057.90 218.19
SDL using software 42.13 5.55 -- --
DirectDraw pure mode -- -- -- It didn´t run
Direct3D pure mode -- -- -- It didn´t run
Eso os iba a decir....q tengais cuidado con el vsync... cuando las diferencias entre FULLSCREEN y FULLSCREEN+DOUBLEBUFFER son tan grandes... es que el vsync esta haciendo de las suyas :).
Mira como cambio tu test, hasta te va mas rapido y todo jeje.
Por cierto, no os preocupeis porque algunas pruebas(las de FULLSCREEN) parpaden..es completamente normal... evitar ese parpadeo, entre otras, es una de las funciones del DOUBLEBUFFER

a ver si consigo ejecutarlo en mi antiguaya....