int main(int argc, char* argv[]) { MicroProfileOnThreadCreate("Main"); printf("press ctrl-c to quit\n"); //turn on profiling MicroProfileSetForceEnable(true); MicroProfileSetEnableAllGroups(true); MicroProfileSetForceMetaCounters(true); MicroProfileStartContextSwitchTrace(); StartFakeWork(); while(!g_nQuit) { MICROPROFILE_SCOPE(MAIN); { usleep(16000); } MicroProfileFlip(); static bool once = false; if(!once) { once = 1; printf("open localhost:%d in chrome to capture profile data\n", MicroProfileWebServerPort()); } } StopFakeWork(); MicroProfileShutdown(); return 0; }
int main(int argc, char* argv[]) { MicroProfileOnThreadCreate("AA_Main"); if(SDL_Init(SDL_INIT_VIDEO) < 0) { return 1; } SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); SDL_GL_SetSwapInterval(1); SDL_Window * pWindow = SDL_CreateWindow("microprofiledemo", 10, 10, WIDTH, HEIGHT, SDL_WINDOW_OPENGL); if(!pWindow) return 1; SDL_GLContext glcontext = SDL_GL_CreateContext(pWindow); glewExperimental=1; GLenum err=glewInit(); printf("ERROR IS %d\n",err); if(err!=GLEW_OK) { __BREAK(); } glGetError(); //glew generates an error InitGLBuffers(); #if MICROPROFILE_ENABLED MicroProfileGpuInitGL(); #endif SDL_GL_SetSwapInterval(1); while(!g_nQuit) { MICROPROFILE_SCOPE(MAIN); MICROPROFILE_COUNTER_ADD("engine/frames", 1); SDL_Event Evt; while(SDL_PollEvent(&Evt)) { MICROPROFILE_COUNTER_LOCAL_ADD_ATOMIC(SDLFrameEvents, 1); HandleEvent(&Evt); } MICROPROFILE_COUNTER_LOCAL_UPDATE_SET_ATOMIC(SDLFrameEvents); glClearColor(0.3f,0.4f,0.6f,0.f); glViewport(0, 0, WIDTH, HEIGHT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); DrawGLStuff(); MicroProfileFlip(0); MICROPROFILE_SCOPEI("MAIN", "Flip", 0xffee00); SDL_GL_SwapWindow(pWindow); static bool bOnce = false; if(!bOnce) { bOnce = true; printf("open localhost:%d in chrome to capture profile data\n", MicroProfileWebServerPort()); } } MicroProfileShutdown(); SDL_GL_DeleteContext(glcontext); SDL_DestroyWindow(pWindow); SDL_Quit(); return 0; }