improve profiler
This commit is contained in:
		| @@ -101,6 +101,8 @@ static void Run() | ||||
| 	glfwGetWindowSize(g_window, &w, &h); | ||||
| 	g_view->Event_SetWindowSize(u32(w), u32(h)); | ||||
| 	 | ||||
| 	b3StackArray<ProfilerRecord*, 256> records; | ||||
|  | ||||
| 	while (glfwWindowShouldClose(g_window) == 0) | ||||
| 	{ | ||||
| 		g_profiler->Begin(); | ||||
| @@ -120,14 +122,10 @@ static void Run() | ||||
|  | ||||
| 		if (g_settings->drawProfile) | ||||
| 		{ | ||||
| 			const b3Array<ProfilerRecord>& records = g_recorderProfiler->GetRecords(); | ||||
| 			for (u32 i = 0; i < records.Count(); ++i) | ||||
| 			{ | ||||
| 				const ProfilerRecord& r = records[i]; | ||||
| 				if (r.call != 0) | ||||
| 				{ | ||||
| 					g_draw->DrawString(b3Color_white, "%s %.4f (%.4f) [ms]", r.name, r.elapsed, r.maxElapsed); | ||||
| 				} | ||||
| 				ProfilerRecord* r = records[i]; | ||||
| 				g_draw->DrawString(b3Color_white, "%s %.4f (min = %.4f) (max = %.4f) (calls = %d) [ms]", r->name, r->elapsed, r->minElapsed, r->maxElapsed, r->callCount); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| @@ -138,6 +136,14 @@ static void Run() | ||||
| 		g_view->EndInterface(); | ||||
|  | ||||
| 		g_profiler->EndScope(); | ||||
|  | ||||
| 		g_recorderProfiler->BuildRecords(); | ||||
|  | ||||
| 		if (g_settings->drawProfile) | ||||
| 		{ | ||||
| 			records.Resize(0); | ||||
| 			g_recorderProfiler->BuildSortedRecords(records); | ||||
| 		} | ||||
| 		 | ||||
| 		g_profiler->End(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user