02 marzo 2014

Usando ascii art en comentarios de código

Esta semana me he topado con una evolución en los comentarios de código: comentarios con ascii art.

/* This function is based on the current VRAM usage.
*
* - If all of VRAM is free, allow relocating the number of bytes that
*   is equal to 1/4 of the size of VRAM for this IB.

* - If more than one half of VRAM is occupied, only allow relocating
*   1 MB of data for this IB.
*
* - From 0 to one half of used VRAM, the threshold decreases
*   linearly.
*         __________________
* 1/4 of -|\               |
* VRAM    | \              |
*         |  \             |
*         |   \            |
*         |    \           |
*         |     \          |
*         |      \         |
*         |       \________|1 MB
*         |----------------|
*    VRAM 0 %             100 %
*         used            used
*
* Note: It's a threshold, not a limit. The threshold must be crossed
* for buffer relocations to stop, so any buffer of an arbitrary size
* can be moved as long as the threshold isn't crossed before
* the relocation takes place. We don't want to disable buffer
* relocations completely.
*
* The idea is that buffers should be placed in VRAM at creation time
* and TTM should only do a minimum number of relocations during
* command submission. In practice, you need to submit at least
* a dozen IBs to move all buffers to VRAM if they are in GTT.
*
* Also, things can get pretty crazy under memory pressure and actual
* VRAM usage can change a lot, so playing safe even at 50% does
* consistently increase performance.
*/

El que quiera ver el código completo lo puede hacer en este parche de Marek Olšák para Radeon, el driver para Linux las tarjetas gráficas de AMD.

No hay comentarios:

Publicidad