MCPcopy Create free account
hub / github.com/VirtualGL/virtualgl / nativeStress

Function nativeStress

util/fbxtest.cpp:419–498  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

417
418
419void nativeStress(bool useShm)
420{
421 int i, n; double testTime;
422 Thread *thread[4];
423 Timer timer;
424
425 try
426 {
427 clearFB();
428 if(useShm)
429 fprintf(stderr, "FBX write [multithreaded SHM]: ");
430 else
431 fprintf(stderr, "FBX write [multithreaded]: ");
432 n = N;
433 do
434 {
435 n += n;
436 timer.start();
437 WriteThread *writeThread[4];
438 for(i = 0; i < 4; i++)
439 {
440 writeThread[i] = new WriteThread(i, n, useShm ? 1 : 0);
441 thread[i] = new Thread(writeThread[i]);
442 thread[i]->start();
443 }
444 for(i = 0; i < 4; i++) thread[i]->stop();
445 for(i = 0; i < 4; i++) thread[i]->checkError();
446 for(i = 0; i < 4; i++)
447 {
448 delete thread[i]; delete writeThread[i];
449 }
450 testTime = timer.elapsed();
451 } while(testTime < 1.);
452 fprintf(stderr, "%f Mpixels/sec\n",
453 (double)n * (double)(drawableWidth * drawableHeight) /
454 (1000000. * testTime));
455
456 }
457 catch(std::exception &e)
458 {
459 fprintf(stderr, "%s\n", e.what());
460 }
461
462 try
463 {
464 if(useShm)
465 fprintf(stderr, "FBX read [multithreaded SHM]: ");
466 else
467 fprintf(stderr, "FBX read [multithreaded]: ");
468 n = N;
469 do
470 {
471 n += n;
472 timer.start();
473 ReadThread *readThread[4];
474 for(i = 0; i < 4; i++)
475 {
476 readThread[i] = new ReadThread(i, n, useShm);

Callers 1

displayFunction · 0.85

Calls 6

checkErrorMethod · 0.80
elapsedMethod · 0.80
whatMethod · 0.80
clearFBFunction · 0.70
startMethod · 0.45
stopMethod · 0.45

Tested by

no test coverage detected