http://the-hydra.blogspot.com/2007/12/finding-frame-rate-tester-for-linux.html
graps
http://blog.smr.co.in/linux/graps-capture-opengl-frames/
graps is a tool for grabing frames from openGL application, without editing the application. graps can be used for making video from an opengl application. graps can also be useful for monitoring fps of opengl application.graps writes the glReadPixel data to file on each glXSwapBuffers call. graps uses the power of LD_PRELOAD to run without modifying the application.
graps is dirty fraps alternative for screen and realtime video capturing and fps monitoring ( hence benchmarking ).
graps can be downloaded from here. See readme.txt for help.
Update1 [08.09.2007] :
- recording to video [ using mencoder ]. Thanks to Mineral for hints (see comments).
- grapsctl, separated frame capturing and writing to image/video.
- bug fixes : ppm header (thanks matt) and width*width (thanks Mineral).
- graps v0.2 release.
Opinion
I have been not able to use run.sh file I have modifie deleting -a checking for .so
and exporting GRAPSPATH to my dir so I don't need to define anywhere.
basically is:
export LD_PRELOAD=$HOME/graps/libgraps.so
rename to rungraps.sh and
Copy this file to /usr/bin
Also copy grapsrc to $HOME/.grapsrc
good:
configurable
not alters gl execution all text mode
bad:
needs .grapsrc
and change sh file and copy to bin
also fps is in text mode..
Anandtech Frame-Getter
"The program computes frames per second for an application that uses OpenGL or SDL. It also takes screenshots periodically, and creates an overlay to display the current FPS/time.
"This is accomplished by defining a custom SwapBuffers function. For executables that are linked to GL at compile time, the LD_PRELOAD environment variable is used to invoke the custom SwapBuffers function. For executables that use run-time linking - which seems to be the case for most games - a copy of the binary is made, and all references to libGL and the original glXSwapBuffers function are replaced by references to our library and the custom SwapBuffers function. A similar procedure is done for SDL. We can then do all calculations on the frame buffer or simply dump the frame at will."
http://www.anandtech.com/linux/showdoc.aspx?i=2229&p=2
http://www.anandtech.com/linux/showdoc.aspx?i=2218
http://freshmeat.net/projects/libglfps/anandtech
it's capturing screenshot every two seconds
the corner is not selectable
I have modified to source
//glTranslatef(4, g_frameData.viewPort[3] - GLUT_STROKE_HEIGHT * GLUT_STROKE_SCALE - 4, 0);
glTranslatef(4, GLUT_STROKE_HEIGHT * GLUT_STROKE_SCALE - 4, 0);
for low left fps display and commented
//WriteFps();
//TakeScreenShot(useSDL);
all in framedata.cpp
good:
it's in gl
using it:
export LD_PRELOAD=$HOME/anandtech-framegetter-0.1.0-src/bin/libFG.so
./oclNbody
export LD_PRELOAD=$HOME/graps/libgraps.so
./oclNbody
glc
Highlights
- The complete source code is available and licenced under zlib-style licence.
- Thread-based architechture takes full advantage of multicore-CPUs.
- Support for multiple simultaneous audio and video streams.
- Reads frames asynchronously from GPU using GL_ARB_pixel_buffer_object extension.
- Does enforce fps cap only in the captured stream.
- If the application can play audio using ALSA, glc can record it regardless of sound card's capabilities.
- Support for recording voice to a separate audio stream.
- Stores color correction information and applies it at playback.
- Minimal application overhead (eg. slow HDD does not slow program down).
- Fast arbitrary ratio video scaling with bilinear filtering.
- Does colorspace conversion to Y'CbCr 420jpeg which cuts stream size in half.
- Compresses stream with lightweight LZO or QuickLZ compression which saves additional 40%-60%.
http://kronixcb.blogspot.com/2008/02/glc-fraps-for-linux-how-to-install-glc.html
For Windows
Fraps 3.0
D3DGear
0 comments:
Post a Comment