featured image size runware

This commit is contained in:
Desktop
2025-11-12 18:18:16 +05:00
parent bcc52c4891
commit a2c67e7249
2 changed files with 237 additions and 1 deletions

View File

@@ -185,6 +185,8 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None
image_format = config.get('image_format', 'webp')
desktop_enabled = config.get('desktop_enabled', True)
mobile_enabled = config.get('mobile_enabled', True)
# Determine featured image size based on provider
featured_image_size = '1280x832' if provider == 'runware' else '1024x1024'
logger.info(f"[process_image_generation_queue] Settings loaded:")
logger.info(f" - Provider: {provider}")
@@ -455,11 +457,14 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None
}
)
# Use featured size for featured images, default for others
image_size = featured_image_size if image.image_type == 'featured' else '1024x1024'
result = ai_core.generate_image(
prompt=formatted_prompt,
provider=provider,
model=model,
size='1024x1024',
size=image_size,
api_key=api_key,
negative_prompt=negative_prompt,
function_name='generate_images_from_prompts'

231
test_cursor_performance.py Normal file
View File

@@ -0,0 +1,231 @@
"""
Cursor Performance Test Script
Tests system resources and Cursor IDE performance on Windows desktop environment.
"""
import psutil
import time
import json
import sys
from datetime import datetime
from pathlib import Path
def get_system_resources():
"""Get current system resource usage"""
cpu_percent = psutil.cpu_percent(interval=1)
cpu_count = psutil.cpu_count()
cpu_freq = psutil.cpu_freq()
memory = psutil.virtual_memory()
disk = psutil.disk_usage('C:\\')
return {
'cpu': {
'usage_percent': cpu_percent,
'cores': cpu_count,
'frequency_mhz': cpu_freq.current if cpu_freq else None,
'status': 'healthy' if cpu_percent < 80 else 'warning' if cpu_percent < 95 else 'critical'
},
'memory': {
'total_gb': round(memory.total / (1024**3), 2),
'used_gb': round(memory.used / (1024**3), 2),
'available_gb': round(memory.available / (1024**3), 2),
'usage_percent': memory.percent,
'status': 'healthy' if memory.percent < 80 else 'warning' if memory.percent < 95 else 'critical'
},
'disk': {
'total_gb': round(disk.total / (1024**3), 2),
'used_gb': round(disk.used / (1024**3), 2),
'free_gb': round(disk.free / (1024**3), 2),
'usage_percent': disk.percent,
'status': 'healthy' if disk.percent < 80 else 'warning' if disk.percent < 95 else 'critical'
}
}
def get_cursor_processes():
"""Get all Cursor-related processes"""
cursor_processes = []
total_cpu = 0
total_memory = 0
for proc in psutil.process_iter(['pid', 'name', 'exe', 'cpu_percent', 'memory_info', 'create_time', 'num_threads']):
try:
proc_info = proc.info
name = proc_info['name'].lower()
# Check if it's a Cursor process
if 'cursor' in name or (proc_info.get('exe') and 'cursor' in proc_info['exe'].lower()):
cpu = proc_info.get('cpu_percent', 0) or 0
memory = proc_info.get('memory_info', None)
memory_mb = (memory.rss / (1024**2)) if memory else 0
# Get more detailed info
try:
proc_obj = psutil.Process(proc_info['pid'])
num_threads = proc_obj.num_threads()
open_files = len(proc_obj.open_files())
connections = len(proc_obj.connections())
except:
num_threads = proc_info.get('num_threads', 0)
open_files = 0
connections = 0
process_data = {
'pid': proc_info['pid'],
'name': proc_info['name'],
'cpu_percent': round(cpu, 2),
'memory_mb': round(memory_mb, 2),
'memory_gb': round(memory_mb / 1024, 2),
'threads': num_threads,
'open_files': open_files,
'connections': connections,
'uptime_seconds': round(time.time() - proc_info.get('create_time', time.time()), 2)
}
cursor_processes.append(process_data)
total_cpu += cpu
total_memory += memory_mb
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
return {
'processes': cursor_processes,
'total_count': len(cursor_processes),
'total_cpu_percent': round(total_cpu, 2),
'total_memory_mb': round(total_memory, 2),
'total_memory_gb': round(total_memory / 1024, 2)
}
def get_top_processes(limit=10):
"""Get top resource-consuming processes"""
processes = []
for proc in psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_info']):
try:
proc_info = proc.info
cpu = proc_info.get('cpu_percent', 0) or 0
memory = proc_info.get('memory_info', None)
memory_mb = (memory.rss / (1024**2)) if memory else 0
processes.append({
'pid': proc_info['pid'],
'name': proc_info['name'],
'cpu_percent': round(cpu, 2),
'memory_mb': round(memory_mb, 2)
})
except (psutil.NoSuchProcess, psutil.AccessDenied):
continue
# Sort by memory usage
processes.sort(key=lambda x: x['memory_mb'], reverse=True)
return processes[:limit]
def run_performance_test():
"""Run comprehensive performance test"""
print("=" * 70)
print("CURSOR PERFORMANCE TEST")
print("=" * 70)
print(f"Timestamp: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n")
results = {
'timestamp': datetime.now().isoformat(),
'system': {},
'cursor': {},
'top_processes': []
}
# System Resources
print("Checking System Resources...")
results['system'] = get_system_resources()
print(f"\nCPU: {results['system']['cpu']['usage_percent']}% ({results['system']['cpu']['cores']} cores) - {results['system']['cpu']['status']}")
print(f"Memory: {results['system']['memory']['used_gb']}GB / {results['system']['memory']['total_gb']}GB ({results['system']['memory']['usage_percent']}%) - {results['system']['memory']['status']}")
print(f"Disk: {results['system']['disk']['used_gb']}GB / {results['system']['disk']['total_gb']}GB ({results['system']['disk']['usage_percent']}%) - {results['system']['disk']['status']}")
# Cursor Processes
print("\n" + "-" * 70)
print("Checking Cursor Processes...")
results['cursor'] = get_cursor_processes()
if results['cursor']['total_count'] > 0:
print(f"\nFound {results['cursor']['total_count']} Cursor process(es):")
print(f"Total CPU Usage: {results['cursor']['total_cpu_percent']}%")
print(f"Total Memory Usage: {results['cursor']['total_memory_gb']}GB ({results['cursor']['total_memory_mb']}MB)")
print("\nIndividual Processes:")
for proc in results['cursor']['processes']:
print(f" PID {proc['pid']:6d} | {proc['name']:20s} | CPU: {proc['cpu_percent']:6.2f}% | Memory: {proc['memory_mb']:8.2f}MB | Threads: {proc['threads']}")
else:
print("\nNo Cursor processes found. Is Cursor running?")
# Top Processes
print("\n" + "-" * 70)
print("Top 10 Processes by Memory Usage:")
results['top_processes'] = get_top_processes(10)
for i, proc in enumerate(results['top_processes'], 1):
print(f" {i:2d}. {proc['name']:30s} | CPU: {proc['cpu_percent']:6.2f}% | Memory: {proc['memory_mb']:8.2f}MB")
# Performance Assessment
print("\n" + "=" * 70)
print("PERFORMANCE ASSESSMENT")
print("=" * 70)
issues = []
recommendations = []
# Check system resources
if results['system']['cpu']['usage_percent'] > 80:
issues.append(f"High CPU usage: {results['system']['cpu']['usage_percent']}%")
recommendations.append("Close unnecessary applications to free up CPU resources")
if results['system']['memory']['usage_percent'] > 80:
issues.append(f"High memory usage: {results['system']['memory']['usage_percent']}%")
recommendations.append("Close unused applications or consider adding more RAM")
if results['system']['disk']['usage_percent'] > 80:
issues.append(f"Low disk space: {results['system']['disk']['usage_percent']}% used")
recommendations.append("Free up disk space by removing unnecessary files")
# Check Cursor-specific issues
if results['cursor']['total_count'] > 0:
if results['cursor']['total_memory_gb'] > 2:
issues.append(f"Cursor using high memory: {results['cursor']['total_memory_gb']}GB")
recommendations.append("Consider restarting Cursor or closing unused tabs/files")
if results['cursor']['total_cpu_percent'] > 50:
issues.append(f"Cursor using high CPU: {results['cursor']['total_cpu_percent']}%")
recommendations.append("Cursor may be indexing or processing. Wait for it to complete.")
if issues:
print("\n⚠️ ISSUES DETECTED:")
for issue in issues:
print(f"{issue}")
else:
print("\n✅ No major performance issues detected")
if recommendations:
print("\n💡 RECOMMENDATIONS:")
for rec in recommendations:
print(f"{rec}")
# Save results to file
output_file = Path("cursor_performance_report.json")
with open(output_file, 'w') as f:
json.dump(results, f, indent=2)
print(f"\n📄 Detailed report saved to: {output_file}")
return results
if __name__ == "__main__":
try:
run_performance_test()
except KeyboardInterrupt:
print("\n\nTest interrupted by user")
sys.exit(1)
except Exception as e:
print(f"\n\nError running test: {str(e)}")
import traceback
traceback.print_exc()
sys.exit(1)