Files
LEDMatrix/test_smooth_scroll.py
Chuck e24c46b9f4 Scroll Performance
Tuning news scrolling performance
2025-04-10 20:19:10 -05:00

59 lines
1.9 KiB
Python

#!/usr/bin/env python3
import time
import sys
import os
from src.config_manager import ConfigManager
from src.display_manager import DisplayManager
from src.news_manager import NewsManager
def main():
"""Test the smooth scrolling performance of the news ticker."""
try:
# Load configuration
config_manager = ConfigManager()
config = config_manager.config
# Initialize display manager
display_manager = DisplayManager(config.get('display', {}))
# Initialize news manager
news_manager = NewsManager(config, display_manager)
print("Smooth scrolling test started. Press Ctrl+C to exit.")
print("Displaying news headlines with optimized scrolling...")
# Clear the display first
display_manager.clear()
display_manager.update_display()
# Display news headlines for a longer time to test scrolling performance
start_time = time.time()
frame_count = 0
while time.time() - start_time < 60: # Run for 1 minute
news_manager.display_news()
frame_count += 1
# Print FPS every 5 seconds
elapsed = time.time() - start_time
if int(elapsed) % 5 == 0 and int(elapsed) > 0:
fps = frame_count / elapsed
print(f"FPS: {fps:.2f}")
frame_count = 0
start_time = time.time()
print("Test completed successfully.")
except KeyboardInterrupt:
print("\nTest interrupted by user.")
except Exception as e:
print(f"Error: {e}")
finally:
# Clean up
if 'display_manager' in locals():
display_manager.clear()
display_manager.update_display()
display_manager.cleanup()
if __name__ == "__main__":
main()