Direct3D Trim support for WindowsRT

Direct3D Trim support for WindowsRT
0.0 0


I have everything working on WindowsRT platform just fine, but the windows store app certification fails for Windows 8.1 claiming that the app does not call the new Trim function.
I implemented the call in OnSuspend, but still the test fails.

Does anyone know how to implement this with cocos2dx stuff? Basically I got the proper interface from the m_d3dDevice and then called the function.

Any help is appreciated - thanks.


Same here. cocos 2d-x 2.2.1, x86, windows 8.1
certification fails on “Direct3D Trim after Suspend”

This is what I getting from Certification Kit:

Direct3D Trim after Suspend

•Error Found: The Direct3D Trim after Suspend test detected the following errors:◦One or more applications in the package did not call Trim() on their DXGI Devices while being suspended.

•Impact if not fixed:  If the app does not call Trim on its Direct3D device, the app will not release memory allocated for its earlier 3D work. This increases the risk of apps being terminated due to system memory pressure. 

•How to fix: The app should call the Trim API on its IDXGIDevice3 interface anytime it is about to be suspended.

Personally, I don’t think it is something serious, however the question is: does it will pass certification in Windows Store?



Update2: I noticed that several days ago a fix for this issue submitted and merged into master branch. It added “OnSuspened” method to CCEGLView, which in turn calls to “Trim”. Unfortunately, current master copy is missing some files from json lib, so I had to remove it (for now I can live without it) - and it seems to work.


I used the master branch from MSOpenTech which had this fix (OnSuspending Method in CCEGLView) included and Angle Project from the latest dev branch as it was not part of the master branch. I was able to compile it and run it but not able to pass certification. I am still getting trim error on certification.

Any help on what I am missing on this will be great!

Thank you,