Original Post
🔒 Locked
Multithreaded apps
Advertisement
Creating your device with the D3DCREATE_MULTITHREADED flag will just make sure that your device is multithreaded safe. You could create a multithreaded application without creating a device with this flag if you want.
What multithread safe means is that when you are concurrently utilizing the device in a multithreaded application that it will function correctly rather than going bonkers.
I hope this helps.
Take care.
What multithread safe means is that when you are concurrently utilizing the device in a multithreaded application that it will function correctly rather than going bonkers.
I hope this helps.
Take care.
Does this also apply to resources bound to the multithreaded/synchronized device? I've had some problems with generating a texture on a seperate thread and I was wondering whether or not this flag would solve my problem, with or without locking the texture for thread access.
I realize this is probably an application specific question, but any info is appreciated :)
Edited:
I guess not, since the Managed docs has the following to say about the MultiThreaded create flag:
Any comments?
I realize this is probably an application specific question, but any info is appreciated :)
Edited:
I guess not, since the Managed docs has the following to say about the MultiThreaded create flag:
Quote:
Indicates that the application requested multithread safety in Direct3D. This causes Direct3D to check its global critical section more frequently, which can degrade performance. Starting in the Microsoft DirectX 9.0 SDK Update (Summer 2003), this enumerated value is always specified unless the PresentParameters.ForceNoMultiThreadedFlag is set to true.
Any comments?
Quote:
Original post by remigius
Does this also apply to resources bound to the multithreaded/synchronized device? I've had some problems with generating a texture on a seperate thread and I was wondering whether or not this flag would solve my problem, with or without locking the texture for thread access.
I believe it applies to everything. Basically, don't access a resource from more than one thread at the same time.
I reached about the same conclusion through trial and error :)
So basically you really cannot access the device or any device bound resource (texture/buffer) from another thread and expect your application to work? I'm asking since some operations, like LoD adaptation, texture filling etc. might benefit from multithreading on dual core systems. On the other hand, these things seem to be shifting rapidly to the GPU, so I guess there's no real point to this.
So basically you really cannot access the device or any device bound resource (texture/buffer) from another thread and expect your application to work? I'm asking since some operations, like LoD adaptation, texture filling etc. might benefit from multithreading on dual core systems. On the other hand, these things seem to be shifting rapidly to the GPU, so I guess there's no real point to this.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement