public void OnDeviceInit() { m_pool = new MyConcurrentPool <MyRenderContext>(MaxDeferredRCsCount, true); // Initialize all RCs m_tmpList.Clear(); int poolSize = m_pool.Count; for (int i = 0; i < poolSize; i++) { MyRenderContext rc = m_pool.Get(); m_tmpList.Add(rc); rc.Initialize(); } foreach (var rc in m_tmpList) { m_pool.Return(rc); } m_tmpList.Clear(); m_isDeviceInit = true; }