Jump to content

  • Log In with Google      Sign In   
  • Create Account

Jansic

Member Since 13 Jul 2000
Offline Last Active Nov 19 2012 10:53 AM

#4901289 Swapchain->Present locks up

Posted by Jansic on 10 January 2012 - 07:36 AM

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.


#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.


#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.


#4841018 Counting number of class instances

Posted by Jansic on 27 July 2011 - 03:12 AM

const A<int> a = A<int>(0,0);
#endif
This 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.


PARTNERS