SwapChain::Present exhibits asynchronous behaviour and queues blit/flip operations rather than performing them immediately. Depending on your swap mode (you seem to be using blit rather than flip) the rate at which the queue gets processed with vsync disabled will vary, as will the maximum length of the queue.
You're submitting frames at roughly 200/s and they're being consumed by the device at about 70/s; so it's most likely that you're saturating the presentation queue and the Present function is then blocking until there's some free space. It looks like you might be able to use DXGI_PRESENT_DO_NOT_WAIT though that may be specific to DX11 threaded model, rather than behaving like DX9's do not wait flag.
Jans.
- Viewing Profile: Reputation: Jansic
Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics
About Me
Ex games industry developer, now deep in the bowels of semiconductor R&D doing microcode and chip design for for advanced GPU & Media processing arrays.
Community Stats
- Group Members
- Active Posts 164
- Profile Views 777
- Member Title Member
- Age Age Unknown
- Birthday Birthday Unknown
-
Gender
Male
-
Location
Reading, UK
251
Good
User Tools
Contacts
Jansic hasn't added any contacts yet.
#4901289 Swapchain->Present locks up
Posted by Jansic
on 10 January 2012 - 07:36 AM
#4896506 Bubblegum Engine error
Posted by Jansic
on 22 December 2011 - 06:56 AM
0xFEEEFEEE is the fill MSVC uses when something is freed. i.e. it's trying to delete something that has already been deleted.
A quick glance at the code shows the AGame pointer is deleted both outside the class (in main) and in the destructor for the MainEngine class - which is probably the issue...
Jans.
A quick glance at the code shows the AGame pointer is deleted both outside the class (in main) and in the destructor for the MainEngine class - which is probably the issue...
Jans.
#4872498 Problem with virtual function
Posted by Jansic
on 14 October 2011 - 06:44 AM
You've sliced class2 by copying it into a class1 in the vector.
I presume this wasn't your intention as now you're holding a class1 not a class2 which will give you only the base classes methods.
Jans.
I presume this wasn't your intention as now you're holding a class1 not a class2 which will give you only the base classes methods.
Jans.
#4841018 Counting number of class instances
Posted by Jansic
on 27 July 2011 - 03:12 AM
const A<int> a = A<int>(0,0); #endifThis output: 2
Since your constant object is in the header, multiple inclusions of the header will give you a copy of that object in each translation unit.
I suspect you've included 'A.h' in multiple cpp files (2, probably).
Jans.
#4829913 bit class problem
Posted by Jansic
on 01 July 2011 - 02:26 AM
It's probably because the switch/case statement is missing 'break's after each case and falling through.
However, what's wrong with just using an uint8_t and shifting bits into and out of it???
Jans.
However, what's wrong with just using an uint8_t and shifting bits into and out of it???
Jans.
- Home
- » Viewing Profile: Reputation: Jansic

Find content