viernes, 28 de septiembre de 2012

Asincronía A/V y similares en sistemas Windows sobre equipos con overclock

Este problema fue descubierto en 2010 por dos foreros de NotebookReview.com: Dufus y Unclewebb, éste, el desarrollador de la utilidad de overclock ThrottleStop -especializada en equipos portátiles- también participa en la comunidad de TechPowerUp!. Al parecer, el incordio existe desde la época de Windows XP, sistema para el que ofrece la solución en su mensaje: añadir al fichero BOOT.ini el parámetro /USEPMTIMER.  Microsoft lo documenta en su KB (Knowledge Base).

En cualquier caso, menos de un año después ya había dado con la solución para Windows 7 -y, de suponer, Windows Vista-. Unclewebb explica en el foro de  NotebookReview el contexto y los pasos necesarios para solventar este problema. Un pequeño programa diagnosticador y un comando fueron la solución efectiva para este pequeño-gran incordio.


¿Cuál es el origen?


El cambio de la frecuencia del bus frontal (FSB) -ojo, no el multiplicador; éste no afecta a los contadores internos del sistema- de un procesador no parece sentarle muy bien a Windows 7 puesto que una de sus funciones para utilizar en temporizadores de máxima precisión -inferior a un microsegundo- es dependiente de la frecuencia de la CPU.
En concreto, Windows basa los resultados de su función QueryPerformanceFrequency básicamente en el Time Stamp Counter (TSC), en lugar de un contador fijado a una frecuencia como el ACPI Power Management Timer (en versiones de Windows anteriores) o el HPET (High Precision Event Timer). La solución es activar el HPET tanto en BIOS/EFI de la placa principal como en el sistema operativo. (Más al respecto en este artículo técnico de Mark B. Friedman.)

El perjuicio principal de este problema ocurre en programas de audio/vídeo, y especialmente en videojuegos; Entre otros, pueden surgir saltos y pérdida de imágenes (frames), pérdida de la sincronización vertical, asincronía con la imagen en dispositivos de entrada como ratones, asincronía entre audio y vídeo, etc.
(Dejando aparte, claro está, que el problema esté siendo ocasionado por un dispositivo que introduzca -por defectos en su controlador- excesivas latencias; lo cual puede ser comprobado mediante descartes -por eliminación- junto con la utilidad DPC Latency Checker.)

Para saber si un equipo que sufre el estrés de un overclock por FSB tiene el potencial de este perjuicio puede ejecutarse el programa WinTimerTester de Unclewebb y dejarlo funcionando un minuto o dos. Si ambos contadores están en sincronía -es decir, la ratio es 1:1- el equipo no sufre el problema que nos ocupa. En caso contrario, ahora viene la solución.


¿Cómo arreglarlo?


Los sistemas operativos Windows afectados deberían tener instalado un programa para la línea de comandos llamado bcdedit, cuyo nombre significa Boot Configuration Data (BCD) Editor.
Uno de los parámetros de este programa, useplatformclock, es el que permite corregir el problema del contador despistado. Se utiliza del siguiente modo:

Se pulsa Win+R o se abre una consola de comandos con permisos elevados, según corresponda, y se escribe la línea "bcdedit /set useplatformclock true" (sin comillas). Inmediatamente tras lo cual se reinicia el sistema. Puede volverse a ejecutar WinTimerTester para comprobar el correcto solventado del problema.

Si, por cualquier motivo, quisiera volverse al estado anterior, se realiza el procedimiento anterior pero en lugar de esa línea se escribiría "bcdedit /deletevalue useplatformclock" (sin comillas).

Caso de que el problema no se solucionase de esta manera, habría que comprobar si el gestor de firmware (BIOS o EFI) de la placa principal tiene activado el sistema de contadores HPET y activarlo de no ser así — Suele encontrarse en el menú de gestión/administración de energía.


Nota: Antes de modificar el cargador de arranque de Windows Vista/7 es recomendable hacer un respaldo. El procedimiento indicado es seguro pero siempre es mejor ser precavido.
Para ello escriba en una consola de comandos con permisos elevados: "bcdedit /export C:\NombreRespaldo" (sin comillas).

Así tendrá en C:\ una copia llamada NombreRespaldo (o el nombre que se prefiera) con el respaldo de sus valores de arranque de Windows. Si, por cualquier caso, metiera la pata seriamente puede reimportar los datos previos así: "bcdedit /import C:\NombreRespaldo" (sin comillas).

Si el sistema no arrancase, está claro que la mencionada recuperación tendría que hacerse desde el disco de instalación de Windows. Para ello introduzca el DVD, inicie el PC y pulse en "Reparar el equipo", posteriormente tras seleccionar el sistema operativo a recuperar pulse en la opción "Símbolo del sistema". Una vez se encuentre en la línea de comandos puede procederse del modo indicado previamente.
De cualquier modo, este es un caso extravagante en el que algo inesperado ha ocurrido durante el proceso, o no se ha seguido el proceso descrito.

domingo, 12 de agosto de 2012

Notación abreviada de tiempos en ficheros (como sustituto de la numeración por versiones)

Los sistemas operativos no tienen, hoy por hoy, ningún tipo de problema a la hora de tratar ficheros con nombres notablemente largos (habitualmente hasta 255 caracteres), pero el hecho de ser muy descriptivo en el modo de identificar un fichero puede ser contraproducente cuando se gestionan carpetas que comprenden miles de ficheros que deben poder accederse con inmediatez.
La filosofía KISS mejora la legilibilidad y rapidez cuando es necesario localizar uno de ellos entre el montón, además de permitir un control para que la gestión no se vaya de las manos — Es por eso que resulta muy apropiada para etiquetar cualquier tipo de colección de ficheros.

Aquí explicaré la manera en que he aplicado este concepto para marcar e identificar archivos mediante fechas y tiempos. Sin más dilaciones...


¿Cómo es la notación abreviada de tiempos?


La palabra mes empieza con la letra 'm' en albanés, alemán, búlgaro, castellano, catalán, checo, croata, danés, francés, gallego, inglés, italiano, letón, lituano, polaco, portugués y ruso; igualmente sucede con la palabra minuto. Seguramente haya otros idiomas en los que también ocurra esta coincidencia pero sirve para describir la versatilidad del concepto a la hora ponerlo en práctica.
Personalmente, esta aplicación me ha servido para facilitar la tarea cuando he necesitado distribuir ficheros con eficacia en proyectos colaborativos y archivar o reportar documentación debido a que conforma un formato básico capaz de describir fechas insertadas en el nombre de un fichero a modo de versiones, de forma breve, clara y con una gran flexibilidad.

Estableciendo que para enumerar el año se emplean cuatro dígitos y tanto para el mes como el día haremos uso de dos, se convierte en algo intuitivo y muy simple; veámoslo con ejemplos:

2009M0115 -> 15 de enero del año 2009
1997M1203 -> 3 de diciembre del año 1997

Incluso el orden podría cambiar:

200113M05 -> 13 de mayo del año 2001
M03200506 -> 6 de marzo del año 2005
Esta última tal vez sería menos acertada puesto que añade una ambigüedad y  opción a confusión como: M11202021 -> Ojo, ¿es 21 de noviembre del año 2020 o 20 de noviembre del 2021?

Lo más recomendable es, por tanto, que el mes siempre esté en medio para aprovechar la M como elemento aislante; también lo es comenzar con el año en tareas de archivado. O incluso trasladar parte de la estructura al nombre de la carpeta que contiene los ficheros.
En cualquier caso, todas las opciones son posibles mientras se acuerde y establezca de antemano un esquema único para el etiquetado.

Incrementar la precisión añadiendo hora y minutos es igualmente sencillo puesto que se establecen dos condiciones adicionales: hora y minutos utilizan dos dígitos y antes de la cifra de los minutos se añade una 'm' minúscula, igual que se hizo con el mes. Ejemplos:

2002M091218m11 -> Las 6 y 11 pm del 12 de septiembre del año 2002
11m33M06200613 -> Las 11 y 33 am del 13 de junio del año 2006

Hay cierta posibilidad de intercambio en el orden, salvo la opción de separar la hora de los minutos que, de nuevo, sería algo indeseable por lo confuso, aparte de no ser nada habitual.

Una vez se establecen las convenciones y libertades elegidas entre los participantes resulta extremadamente sencillo saber cuál es la última versión y cuándo se realizó cada una de ellas.


¿Cuál es la ventaja sobre el formato clásico de fechas?


Una pregunta legítima que cabría hacerse es, por qué reinventar la rueda. ¿Qué tiene de malo poner una fecha como se ha hecho siempre, en formato día-mes-año, tal como 13-06-2006?

La desventaja está respecto a la forma en que los sistemas operativos en la informática muestran la lista de ficheros y carpetas. El orden empleado sólo toma en cuenta el valor ordinal del primer carácter, sin otras consideraciones. De manera que el sistema operativo no sabe establecer una jerarquía -por ejemplo, no percibe que el año tiene más relevancia a la hora de ordenar cronológicamente que el mes o el día- salvo la que se le ofrezca de izquierda a derecha y mostrará las carpetas desordenadamente. Por ejemplo, 3 ficheros en una carpeta siendo día-mes-año: 15-02-2001, 05-10-2006 y 30-03-2010. Windows no va a mantener el orden cronológico cuando los mueste y hará lo siguiente:
05-10-2006
15-02-2001
30-03-2010

Ordenará según la primera cifra que aparezca y si lo que se busca es tener una estructura organizada a simple vista, esto no se consigue.

Es evidente que siempre se puede invertir ese orden, dejando 2006-10-05, pero la organización que aquí se propone tiene menos caracteres (cabe más texto descriptivo después, si es necesario), es más compacta y sólo requiere un breve período de tiempo para acostumbrarse.

sábado, 30 de junio de 2012

Cómo solucionar problemas de rendimiento en vídeos bajo Adobe Flash en Windows

Este consejo solventa problemas de rendimiento en PCs monocore — es decir, equipos antiguos. No se recomienda para ordenadores de dos o más núcleos.

Primero hay que descargar todos los ficheros indicados y después seguir los procedimientos que se indican:
El problema debería haber desaparecido; aunque es importante destacar que si otros programas residentes -como antivirus y servicios de indexación de ficheros- se apropian de gran parte de la potencia de proceso es posible que el rendimiento de los vídeos -sobre todo en formato HD- no mejore en gran medida.

Nota: Debe entenderse que este ajuste es útil siempre que se mantenga la versión de Flash indicada y, en consecuencia, conservar también los problemas de seguridad -existentes y potenciales- que se hayan corregido en versiones posteriores. Es por esto que se recomienda utilizar un bloqueador de Flash para el navegador -ya sea interno o como extensión- y habilitar sólo el contenido que se necesite visualizar. Es importante comprender el riesgo inherente de esta propuesta.

sábado, 9 de junio de 2012

AMD/ATI 3850 AGP

En esta entrada puede encontrarse información y una lista de ficheros y utilidades provechosas para hacer funcionar correctamente el modelo HD 3850 de AMD/ATI. Posiblemente extrapolable a otros modelos de tarjetas de vídeo del mismo fabricante y, en especial, de conexión AGP.


Controladores para sistema operativo

Nota: Tras una extensa serie de pruebas realizada a lo largo de varios meses, la conclusión respecto a la versión de controlador más apropiada para una tarjeta AGP es la 10.8 (bajo Windows XP, esto es). También he probado la 10.10 extensivamente y puedo asegurar con cierta confianza que es la última versión fiable para un uso estable sin perjuicio de rendimiento. Más allá, los problemas comienzan a surgir.
La última versión revisada ha sido la 12.6 legacy y no la recomiendo en absoluto por su mala gestión de escritorio y gran lag en el redibujado de ventanas — fallos inexistentes en las versiones recomendadas.
Actualizado (2013, enero): Nuevas pruebas con la 11.10 confirman que, aunque las mejoras en compatibilidad para la aceleración por hardware mediante GPU aumentan, también conlleva serios problemas de estabilidad y rendimiento.



Adobe Flash

Nota: El codec H.264 no está soportado por Adobe Flash en los modelos de placas gráficas con la unidad UVD inferior a la versión 2. Por lo tanto, la 3850 no acelera contenido en HD bajo Flash. (Una pequeña explicación en la Wikipedia inglesa: Adobe Flash > User experience > Performance > Complications to video acceleration y en diferentes comentarios de esta entrada del foro de Adobe: Why do ATI Radeon HD 2xxx/3xxx cards get no H.264 hardware decode support for Flash Player 10.1?)


Utilidades para actualizar controladores

  • Driver Cleaner Professional 1.5 (gratuito y portátil pero no disponible en la web oficial aunque localizable a través de buscador) 
  • Driver Sweeper
Nota: Estas utilidades sirven para desinstalar el controlador previo y permitir una instalación limpia. Recomendado para evitar incompatibilidades y restos de una instalación previa que generen inestabilidad.


Folding@Home



Información de características de la tarjeta y controladores