关于DirectX技术的未来和在VB.NET中应用的对话(微软)
关于DirectX技术的未来和在VB.NET中应用的对话(微软) 从这篇对话中我们不难看出下一步DirectX技术的发展方向,微软将力推.NET上的DirectX技术,并且未来的XNA平台更是令人期待!
DirectX 9.0 Direct3D Graphics with Visual Basic .NET
Posted April 30, 2004
Chat Date: March 30, 2004
Please note: Portions of this transcript have been edited for clarity
Introduction
Moderator: Ed_H (Microsoft)
Welcome to today’s chat on DirectX 9.0 - Direct3D Graphics with Visual Basic .NET. We have members of the DirectX team here to answer your questions today. I will ask the hosts to introduce themselves.
Host: Jason (Microsoft)
Hi! My name is Jason Cooke, and I'm a programmer/writer for Visual Basic User Education.
Host: Jordan (Microsoft)
I'm Jordan Correa and I am a software test engineer for a new gaming feature for the next version of Windows.
Host: KevGee (Microsoft)
Kev Gee worked as a game developer for over 6 years before joining Microsoft 2 years ago to work in the Windows Gaming and Graphics technologies team. His work at Microsoft involves helping game developers the world over create the most stunning and addictive games on the Windows platform.
Host: TomMiller (Microsoft)
Hi, I'm Tom Miller, developer in the DirectX team, and I am responsible for implementing the Managed DirectX assemblies.
Moderator: Ed_H (Microsoft)
And I am Ed Hickey, VS Communities PM. Glad you all could make it today!
Moderator: Ed_H (Microsoft)
Let's get started! Fire away with your questions for our hosts.
Start of Chat
Host: KevGee (Microsoft)
Q: are we allows to ask about XNA?
A: We're concentrating on DirectX 9.0 Direct3D Graphics with Visual Basic .NET in this talk. You may want to check out more info at www.microsoft.com/xna if you haven't already..
Host: TomMiller (Microsoft)
Q: What features are planned in the next Managed Directx version?
A: We will be implementing all of the new features that the D3DX libraries (effect state management, Spherical Harmonics PRT, etc), as well as many performance enhancements, and ease of use additions.
Host: KevGee (Microsoft)
Q: I've heard I can do the same kind of 2D stuff that I do in DirectDraw using the Sprite class in D3D and supposedly with better performance. Is this true?
A: The sprite class is part of the D3DX library and supports many features in addition to simple 2D sprites such as font rendering and extrusion. Check out the text 3D sample in the sdk for more information around this. .
Host: TomMiller (Microsoft)
Q: Will there be DirectShow support added to MDX?
A: There are no current plans to add this support. If you have strong feedback, please mail directx@micrsofot.com.
Host: TomMiller (Microsoft)
The managed documentation is still kept a bit short, although there is a new version available online recently.
Host: TomMiller (Microsoft)
Q: when do you think will be the next update for download available?
A: The next release of the DirectX SDK will have updated Managed DirectX documentation.
Host: TomMiller (Microsoft)
Q: will we see anything like directmusic or a new version of audiovideoplayback in the next managed directx update or will we have to wait until directx 10
A: There are no plans to support Direct Music currently. The AudioVideoPlayback assemblies will be updated in the next DirectX SDK release.
Host: TomMiller (Microsoft)
Q: How will DirectX 9.0 support Direct3D Graphics with Visual Basic .NET?
A: Managed DirectX works well with Visual Basic.NET and gives you support for the entire DirectX API, including rich 3D Graphics.
Host: TomMiller (Microsoft)
Q: If I render on the form thread, the 3D halts when the form is processing events.
A: I think this would be expected behavior. The message pump should be single threaded.
Host: TomMiller (Microsoft)
Q: Which professional game uses VB.Net and Managed DirectX ?
A: There are professional applications (including games) using Managed DirectX, but until they announce the applications, we can't discuss them. Soon though.
Host: KevGee (Microsoft)
Q: Because the DirectX code will be managed under the CLR will there be any disadvantages to developing a game in vb as opposed to c++.... Or is VB now on par with c++ when it comes to this stuff? IE: Speed, capabilities, etc?
A: There can be a small performance cost for developing games using managed code. However, careful management of object allocations, deallocations under the garbage collector can reduce these significantly..
Host: TomMiller (Microsoft)
A: Like Kev mentions, the perfomance cost is relatively small (in the neighborhood of 1-2%).. negligible.
Host: TomMiller (Microsoft)
Q: Yes I expected, that, original question was what approach should be used to keep render going while not halting the pump. If I play a video file in WMP and resize/move window, it's not halting anything.
A: You could always render when you get a 'Paint' event (ie, OnPaint).
Host: KevGee (Microsoft)
Q: When will be next release?
A: We have just shipped beta 2 of the SDK Update 2004 and are planning to release the final version around Q4 2004.
Host: TomMiller (Microsoft)
Q: Is there a speed difference between vb.net + managed directx code and c++.net managed directx code?
A: Since they both should compile down to IL code, there should be no noticeable difference (unless you're doing native/managed interop, in which case MC++ will be faster).
Host: TomMiller (Microsoft)
Q: Why is so less information about directX and vb.net available? Very short sdk, very less examples!!
A: It's something we're working on. The next version of the SDK should have better documentation, and better samples.
Host: KevGee (Microsoft)
Q: Are there any plans for supporting XML based meshes, scenes, object graphs.... similar to XAML for the Avalon objectmodel. This would be IMHO very useful for simple D3D apps that need to be build in very short time.
A: Discussions around Avalon are outside the scope of this chat. Please direct your questions and feedback for this to directx@microsoft.com. Thanks..
Host: TomMiller (Microsoft)
Q: So would I be correct in saying that when making a language choice for developing your next game, the speed and capabilities of the two languages are now close enough that you could make that choice more on your person language preference.
A: Exactly.
Host: TomMiller (Microsoft)
Q: tom miller: when will we see your next book?
A: This Summer
Host: TomMiller (Microsoft)
Q: Aren’t the MS ppl supposed to be typing there answers/responses in the MSDNChatExpert box?
A: We are.. aren’t' we?
Host: KevGee (Microsoft)
Q: what are the plans towards support for advanced debuggers/profilers for vertex and pixel shaders?
A: We shipped the original Visual Studio shader debugger with the DirectX 9 SDK and have been updating the feature set with each SDK Update. For profiling tools, we have just announced the Performance Investigator for Windows (PIX) which will help you determine where your performance bottlenecks are. We shipped an early version of PIX in the SDK beta.
Host: TomMiller (Microsoft)
Q: Tom, what books have you written that would assist a vb.net developer with DX programming?
A: My first book covers the Managed DirectX API in its entirety, and includes source code in Visual Basic.NET.
Host: TomMiller (Microsoft)
Q: what’s the title?
A: Managed DirectX 9 Game and Graphics Programming Kick Start.
Host: TomMiller (Microsoft)
Q: tom miller: can you also give a glimpse about what your next book will be about? I read something about game programming fundamentals. is that right?
A: Somewhat. It covers game programming using Managed DirectX rather than the API coverage the first book covers. It contains 3 full games rather than a bunch of small code examples.
Host: TomMiller (Microsoft)
Q: Why doesn't DirectDraw have the same useful helper classes like D3D class SurfaceLoader?
A: DirectDraw was last updated in DirectX7, and is no longer being enhanced. You can get the features it supports through the Direct3D interfaces now, with much more flexibility.
Host: TomMiller (Microsoft)
Q: What in your opinion are the "coolest" or most "revolutionary" features of the new DX?
A: Aside from Shader 3.0, and the new effects system, Spherical Harmonics and Pre-computed radiance transfers are big things..
Host: KevGee (Microsoft)
Q: How will one safe himself against IL attacks? I myself hacked some code of a friend, I added some health to his game and so on. Obfuscation won't work for calls like DrawText because at this point you actually know what parameters the function takes and addiontally tools like ILDASM show the parameters.
A: The CLR and .NET has security built in through the Code Access Security (CAS) model. All code has predetermined privilege levels and is signed to be tamper proof.
Host: TomMiller (Microsoft)
Q: In unmanaged Direct3D I use two fullscreen triangles building a square and doing my 2D stuff in a texture, since that seems to be faster than old IDirectDraw7; in MDX there is a DD class, should I use this, or stick with my D3D solution?
A: I would stick with D3D. DirectDraw is not being enhanced any longer.
Host: TomMiller (Microsoft)
Q: Is there ever going to be a feature in the platform where I can just add a Tag in my assembly.vb file that says don't do garbage collection for this app until it quits. kind of a game related question.
A: Not likely. If you read Brad Abrams blog, you'll see some of the current thoughts around garbage collector enhancements for the next CLR, but turning it off completely is not something that will happen.
Host: KevGee (Microsoft)
Q: Could you give a quick explanation of what those things are? "Shader 3.0, and the new effects system, Spherical Harmonics and Pre-computed radiance transfers"
A: Shader 3.0 This is the advanced shader model which we expect to see h/w availability for later this year.
Host: KevGee (Microsoft)
A: new effects system Not sure exactly what the New stands for but we have significantly enhanced the existing effects systems performance and added support for pre-shaders.
Host: KevGee (Microsoft)
A: Pre-computed Radiance Transfer (PRT) This is a relatively new approach to rendering global illumination terms in real time. We have samples in the sdk that detail how to use this technology that is part of the D3DX api.
Host: TomMiller (Microsoft)
Q: Why was DD included in MDX if it is no longer being enhanced... I mean what is the use of it if D3D does everything better? (just lower system requirements?)
A: Yes, the DirectDraw has a lower system requirements. Plus, it was added for people porting existing code.
Host: TomMiller (Microsoft)
Q: can the blog site be found at MSDN COmmunities?
A: Yes. http://blogs.msdn.com has many MS blogs.
Host: TomMiller (Microsoft)
Q: There were big changes in the CLR regarding Garbage Collection due to Yukon, since a database server can't really relay on non-deterministic finalization, any chance that MDX will be able to use this modified GC for GFX, which also could from it
A: Once the new CLR is released, we will definitely look at the enhancements and see how they can make Managed DirectX better than it already it.
Host: TomMiller (Microsoft)
Q: Could you ask some DX people or MS game devs start blogging bout their game/dx related experiences in past, if they can't talk about current development. It would be still very nice.
A: I have a blog on msdn.
Host: TomMiller (Microsoft)
Q: what about programming xbox2 with managed directx?
A: We can't talk about the 'xbox2' in this chat.
Host: Jordan (Microsoft)
Q: I know, I know, but I’m itching to ask... Is XNA going to be free to develop for like DirectX or will ppl have to buy a license?
A: This is discussed in the XNA FAQ posted on www.Microsoft.com/xna/faq.aspx
Host: KevGee (Microsoft)
Q: We are having troubles with our dll files... can somebody help please
A: Please send a fully detailed description of your problem to directX@microsoft.com and contact your evangelist if you are working on a shipping product. Thanks.
Host: TomMiller (Microsoft)
Q: TomMiller_MS : Where is your BLog?
A: blogs.msdn.com/ tmiller
Host: TomMiller (Microsoft)
Q: everybody is talking about speed (performance) of MDX, but are there any benchmarks about resource usage? How much memory is needed compared to unmanaged DX?
A: It's something we're working on (benchmarks).. Performance (execution speed) we've talked much about, and it's close. Memory usage, naturally the managed API is higher..
Host: TomMiller (Microsoft)
Q: Will there be MDX support (although very limited) for Compact Devices?
A: It's something that we are investigating, but nothing has been announced yet. If you feel strongly please send us mail at directx@microsoft.com
Moderator: Ed_H (Microsoft)
This has been a GREAT chat. Thank you to everyone. Unfortunately, it is time to go. Thanks for participating, and we'll see you next time!
Host: KevGee (Microsoft)
Thanks, Bye
Host: TomMiller (Microsoft)
Thanks everyone, bye!