featured image size runware
This commit is contained in:
@@ -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
231
test_cursor_performance.py
Normal 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)
|
||||
|
||||
Reference in New Issue
Block a user