As libx264 has so many presets and tunes, I was curious how they all related one to another when it comes to encode video info H.264. I was more interested in single pass encoding for live video, so the measurements are respectively for this mode of operation with encoder running in CRF (constant rate factor, [...]
Posts Tagged ‘performance’
libx264 illustrated
Posted: 30th September 2012 by Roman in VideoTags: DirectShow, DMO, encoding, H.264, libx264, performance, x264
Obtaining number of thread context switches programmatically
Posted: 20th March 2011 by Roman in Seriously, SourceTags: C++, context switch, ntdll, performance, Source, undocumented, x64
Previous post on thread synchronization and context switches used number of thread context switches as one of the performance indicators. One might have hard times getting the number from operating system though. The only well documented access to amount of context switches seems to be accessing corresponding performance counters. Thread performance counter will list available [...]
Thread synchronization and context switches
Posted: 19th March 2011 by Roman in ATL, SourceTags: ATL, C++, context switch, critical section, event, IPC, performance, synchronization, thread, threading
A basic task in thread synchronization is putting something on one thread and getting it out on another thread for further processing. Two or more threads of execution are accessing certain data, and in order to keep data consistent and solid the access is split into atomic operations which are only allowed for one thread [...]
ProcessSnapshot: Create process minidump for port-mortem debugging
Posted: 25th March 2010 by Roman in Technology, UtilitiesTags: .DMP, ATL, debug, minidump, performance, process, snapshot, Source, utility, WTL
ProcessSnapshot is a utility to take a snapshot of process call stacks, and the snapshot taken is written into a human friendly text file. Additionally to this, the utility has been given a capability to create process minidump files, on user request. The minidump files can be used with debugger to analyze the context of [...]
Sharing Memory Allocators while at the same time Handling Dynamic Media Type Changes
Posted: 16th July 2009 by Roman in SeriouslyTags: allocation, DirectShow, filter, IMemAllocator, memory, performance, sharing
Sharing memory allocators between input and output pins is an important concept to keep performance of filter graph. Unlike more frequent scenario with different allocators, a filter (referred to as “middle filter” below) which has equal media types on input and output pins has an advantage to avoid memory-to-memory copy operation for every frame processed, [...]
ProcessSnapshot to take a snapshot of process modules, threads, stacks and performance
Posted: 23rd December 2008 by Roman in ATL, Seriously, Utilities, WTLTags: ATL, performance, process, snapshot, Source, utility, WTL
While troubleshooting released application on remote production site, it is very useful to grasp a state of the process for further analysis. There are several scenarios in which the following information about process state is helpful: modules (DLLs) loaded into process and their versions threads and their call stacks process and thread performance An utility [...]
> How do you test performance? I don’t. I just believe in it. This is actually what we have here but still we have managed to deliver software that gives more frames per second than rivals. Why? We hopefully knew what we did in first place. According to one of our partner hardware vendors, there [...]
