• Lunes 29 de Abril de 2024, 02:19

Autor Tema:  Re: Donotwait, Wait, Blockbegin  (Leído 1582 veces)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Donotwait, Wait, Blockbegin
« en: Lunes 14 de Junio de 2004, 20:48 »
0
saludos,
tengo unas pequeñas dudas y espero que algien me la pueda resolver...

Cuando se dibuja con draw o con drawfast, existe un parametro que recibe un flag pero hay una bandera que no se que es lo que hace.

En el caso de de drawfast es este:

Código: Text
  1.  
  2. surperficie.DrawFast(X,Y, surfMegaman, clipSprite ,DrawFastFlags.DoNotWait);
  3.  
  4. surperficie.DrawFast(X,Y, surfMegaman, clipSprite ,DrawFastFlags.Wait);
  5.  
  6.  
En el caso de draw es este:
Código: Text
  1.  
  2. surfacePrimary.Draw(rect, surfaceSecondary , DrawFlags.DoNotWait);
  3.  
  4. surfacePrimary.Draw(rect, surfaceSecondary , DrawFlags.Wait);
  5.  
  6.  
Por otro lado no he podido saber para que se usa este flag al generar retrasado vertical..
trate de deducirlo con la traduccion pero no es como yo crei
Código: Text
  1.  
  2. localDevice.WaitForVerticalBlank(WaitVbFlags.BlockBegin);
  3. localDevice.WaitForVerticalBlank(WaitVbFlags.BlockBeginEvent);
  4. localDevice.WaitForVerticalBlank(WaitVbFlags.BlockEnd);
  5.  
  6.  
      
   
Agradezco cualquier ayuda que me puedan brindar.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

mortiz

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Donotwait, Wait, Blockbegin
« Respuesta #1 en: Miércoles 16 de Junio de 2004, 21:00 »
0
Hola:
Mi consejo es: cambia de version, ese tipo de codificacion ya no se usa, usa cuando menos Dx8 o Dx9.
DontWait es un mensaje en ek GPU y el CPU, si Wait, el CPU espera a que GPU procese todo lo que le mandaron antes de ir por la siguiente instruccion.
Usa DontWait.
 :rolleyes:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Donotwait, Wait, Blockbegin
« Respuesta #2 en: Miércoles 16 de Junio de 2004, 21:47 »
0
bueno estas un poco perdido.

Estoy usando directX 9.0b Managed (es la ultima version), y programo en C#.NET con el compilador version 2003..
asi que creo que estas un poco desactualizado..
mi consejo es que cambies de version y utilices cosas de ultima tecnología.  :blink:  :comp:

En cuanto a la respuesta...
GRACIAS, por lo menos es lo unico que he encotrado referente a ese tema
y te agradezco tu explicacion.  :smartass:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

mortiz

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Donotwait, Wait, Blockbegin
« Respuesta #3 en: Viernes 18 de Junio de 2004, 20:38 »
0
ok, solo queria ayudar, pudiste ser mas amable. Yo programo en vc++, y ese tipo de codificacion, solo la he visto en dx7 y menor, en las versiones 8 y 9 no las he visto para nada.
el manejo de sprites, bitmaps y demas usa otras instrucciones, pero que bueno que me aclaras, siempre se aprende algo nuevo. tengo 3 años en Dx y es bueno que sepa el manejo de c#.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Donotwait, Wait, Blockbegin
« Respuesta #4 en: Sábado 19 de Junio de 2004, 02:22 »
0
Jejejej si me disculpo por ser tan poco amable..
pero es que cualquiera se siente agredido si se le trata como si fuera unnovato y sin serlo... si uera muy novato no le habria visto problema.


Por otro lado la codificacion de directx hasta la version 8, no dependia sino exclusivamente del languaje desde el cual usas la API,
es decir el codigo se veria muy diferente en visual basic que en c++, pero solo a nivel de flags, de parentesis y de nueastro amigo el '->'.

Desde la version 9 directX viene en dos versiones..
la tradicional y la de extenciones administradas (managed),
realmente la forma de utilizarlo sigue siendo practicamente la misma, pero la version managed no funciona con el lenguaje c++ tradicional y requiere que se este trabajando con las extencioens adminsitradas de c++.

En resumen toda la fiorma de trabajar con directX njo ha cambiad practimente nada desde hace ya muchas versiones para aca, el unico cambio radical ha sido en el manejo de memoria que se ha simplificado bastante gracias a las extenciones administradas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io